Made the OpenGL ES implementation available on ARM-based Linux OSes
This commit is contained in:
parent
565bc69a4e
commit
45f23cdbbb
14
cmake/Modules/FindEGL.cmake
Normal file
14
cmake/Modules/FindEGL.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# Try to find EGL library and include path.
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND
|
||||||
|
# EGL_INCLUDE_PATH
|
||||||
|
# EGL_LIBRARY
|
||||||
|
#
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIR EGL/egl.h)
|
||||||
|
find_library(EGL_LIBRARY NAMES EGL)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
|
14
cmake/Modules/FindGLES.cmake
Normal file
14
cmake/Modules/FindGLES.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# Try to find GLES library and include path.
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# GLES_FOUND
|
||||||
|
# GLES_INCLUDE_PATH
|
||||||
|
# GLES_LIBRARY
|
||||||
|
#
|
||||||
|
|
||||||
|
find_path(GLES_INCLUDE_DIR GLES/gl.h)
|
||||||
|
find_library(GLES_LIBRARY NAMES GLESv1_CM)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(GLES DEFAULT_MSG GLES_LIBRARY GLES_INCLUDE_DIR)
|
@ -48,8 +48,13 @@
|
|||||||
|
|
||||||
#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD)
|
#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD)
|
||||||
|
|
||||||
#include <GL/gl.h>
|
#if defined(SFML_OPENGL_ES)
|
||||||
#include <GL/glu.h>
|
#include <GLES/gl.h>
|
||||||
|
#include <GLES/glext.h>
|
||||||
|
#else
|
||||||
|
#include <GL/gl.h>
|
||||||
|
#include <GL/glu.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(SFML_SYSTEM_MACOS)
|
#elif defined(SFML_SYSTEM_MACOS)
|
||||||
|
|
||||||
|
@ -117,6 +117,11 @@ if(NOT SFML_OPENGL_ES)
|
|||||||
endif()
|
endif()
|
||||||
include_directories(${FREETYPE_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH} ${JPEG_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
include_directories(${FREETYPE_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH} ${JPEG_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
if(SFML_OPENGL_ES AND SFML_OS_LINUX)
|
||||||
|
find_package(EGL REQUIRED)
|
||||||
|
find_package(GLES REQUIRED)
|
||||||
|
include_directories(${EGL_INCLUDE_DIR} ${GLES_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
if(SFML_OS_ANDROID)
|
if(SFML_OS_ANDROID)
|
||||||
find_host_package(JPEG REQUIRED)
|
find_host_package(JPEG REQUIRED)
|
||||||
find_host_package(Freetype REQUIRED)
|
find_host_package(Freetype REQUIRED)
|
||||||
@ -133,6 +138,9 @@ if(NOT SFML_OPENGL_ES)
|
|||||||
list(APPEND GRAPHICS_EXT_LIBS ${X11_LIBRARIES})
|
list(APPEND GRAPHICS_EXT_LIBS ${X11_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
if(SFML_OPENGL_ES AND SFML_OS_LINUX)
|
||||||
|
list(APPEND GRAPHICS_EXT_LIBS ${EGL_LIBRARY} ${GLES_LIBRARY})
|
||||||
|
endif()
|
||||||
if(SFML_OS_IOS)
|
if(SFML_OS_IOS)
|
||||||
list(APPEND GRAPHICS_EXT_LIBS "-framework OpenGLES")
|
list(APPEND GRAPHICS_EXT_LIBS "-framework OpenGLES")
|
||||||
elseif(SFML_OS_ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
|
@ -36,7 +36,7 @@ namespace priv
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void ensureExtensionsInit()
|
void ensureExtensionsInit()
|
||||||
{
|
{
|
||||||
#if !(defined SFML_SYSTEM_IOS || defined SFML_SYSTEM_ANDROID)
|
#if !defined(SFML_OPENGL_ES)
|
||||||
static bool initialized = false;
|
static bool initialized = false;
|
||||||
if (!initialized)
|
if (!initialized)
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
// Headers
|
// Headers
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Window/Event.hpp>
|
#include <SFML/Window/Event.hpp>
|
||||||
#include <SFML/Window/Android/EglContext.hpp>
|
#include <SFML/Window/EglContext.hpp>
|
||||||
#include <SFML/System/Mutex.hpp>
|
#include <SFML/System/Mutex.hpp>
|
||||||
#include <android/native_activity.h>
|
#include <android/native_activity.h>
|
||||||
#include <android/configuration.h>
|
#include <android/configuration.h>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Window/Event.hpp>
|
#include <SFML/Window/Event.hpp>
|
||||||
#include <SFML/Window/WindowImpl.hpp>
|
#include <SFML/Window/WindowImpl.hpp>
|
||||||
#include <SFML/Window/Android/EglContext.hpp>
|
#include <SFML/Window/EglContext.hpp>
|
||||||
#include <SFML/System/Android/Activity.hpp>
|
#include <SFML/System/Android/Activity.hpp>
|
||||||
#include <android/input.h>
|
#include <android/input.h>
|
||||||
|
|
||||||
|
@ -35,6 +35,10 @@ set(SRC
|
|||||||
${SRCROOT}/WindowImpl.hpp
|
${SRCROOT}/WindowImpl.hpp
|
||||||
${INCROOT}/WindowStyle.hpp
|
${INCROOT}/WindowStyle.hpp
|
||||||
)
|
)
|
||||||
|
if(SFML_OPENGL_ES)
|
||||||
|
list(APPEND SRC ${SRCROOT}/EglContext.cpp)
|
||||||
|
list(APPEND SRC ${SRCROOT}/EglContext.hpp)
|
||||||
|
endif()
|
||||||
source_group("" FILES ${SRC})
|
source_group("" FILES ${SRC})
|
||||||
|
|
||||||
# add platform specific sources
|
# add platform specific sources
|
||||||
@ -58,14 +62,19 @@ elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
|
|||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${SRCROOT}/Unix/Display.cpp
|
${SRCROOT}/Unix/Display.cpp
|
||||||
${SRCROOT}/Unix/Display.hpp
|
${SRCROOT}/Unix/Display.hpp
|
||||||
${SRCROOT}/Unix/GlxContext.cpp
|
|
||||||
${SRCROOT}/Unix/GlxContext.hpp
|
|
||||||
${SRCROOT}/Unix/InputImpl.cpp
|
${SRCROOT}/Unix/InputImpl.cpp
|
||||||
${SRCROOT}/Unix/InputImpl.hpp
|
${SRCROOT}/Unix/InputImpl.hpp
|
||||||
${SRCROOT}/Unix/VideoModeImpl.cpp
|
${SRCROOT}/Unix/VideoModeImpl.cpp
|
||||||
${SRCROOT}/Unix/WindowImplX11.cpp
|
${SRCROOT}/Unix/WindowImplX11.cpp
|
||||||
${SRCROOT}/Unix/WindowImplX11.hpp
|
${SRCROOT}/Unix/WindowImplX11.hpp
|
||||||
)
|
)
|
||||||
|
if(NOT SFML_OPENGL_ES)
|
||||||
|
set(PLATFORM_SRC
|
||||||
|
${PLATFORM_SRC}
|
||||||
|
${SRCROOT}/Unix/GlxContext.cpp
|
||||||
|
${SRCROOT}/Unix/GlxContext.hpp
|
||||||
|
)
|
||||||
|
endif()
|
||||||
if(SFML_OS_LINUX)
|
if(SFML_OS_LINUX)
|
||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${PLATFORM_SRC}
|
${PLATFORM_SRC}
|
||||||
@ -144,8 +153,6 @@ elseif(SFML_OS_ANDROID)
|
|||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${SRCROOT}/Android/WindowImplAndroid.hpp
|
${SRCROOT}/Android/WindowImplAndroid.hpp
|
||||||
${SRCROOT}/Android/WindowImplAndroid.cpp
|
${SRCROOT}/Android/WindowImplAndroid.cpp
|
||||||
${SRCROOT}/Android/EglContext.hpp
|
|
||||||
${SRCROOT}/Android/EglContext.cpp
|
|
||||||
${SRCROOT}/Android/VideoModeImpl.cpp
|
${SRCROOT}/Android/VideoModeImpl.cpp
|
||||||
${SRCROOT}/Android/InputImpl.hpp
|
${SRCROOT}/Android/InputImpl.hpp
|
||||||
${SRCROOT}/Android/InputImpl.cpp
|
${SRCROOT}/Android/InputImpl.cpp
|
||||||
@ -171,6 +178,11 @@ if(NOT SFML_OPENGL_ES)
|
|||||||
include_directories(${UDEV_INCLUDE_DIR})
|
include_directories(${UDEV_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
if(SFML_OPENGL_ES AND SFML_OS_LINUX)
|
||||||
|
find_package(EGL REQUIRED)
|
||||||
|
find_package(GLES REQUIRED)
|
||||||
|
include_directories(${EGL_INCLUDE_DIR} ${GLES_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
# build the list of external libraries to link
|
# build the list of external libraries to link
|
||||||
if(SFML_OS_WINDOWS)
|
if(SFML_OS_WINDOWS)
|
||||||
@ -188,7 +200,9 @@ elseif(SFML_OS_ANDROID)
|
|||||||
list(APPEND WINDOW_EXT_LIBS "-landroid")
|
list(APPEND WINDOW_EXT_LIBS "-landroid")
|
||||||
endif()
|
endif()
|
||||||
if(SFML_OPENGL_ES)
|
if(SFML_OPENGL_ES)
|
||||||
if(SFML_OS_IOS)
|
if(SFML_OS_LINUX)
|
||||||
|
list(APPEND WINDOW_EXT_LIBS ${EGL_LIBRARY} ${GLES_LIBRARY})
|
||||||
|
elseif(SFML_OS_IOS)
|
||||||
list(APPEND WINDOW_EXT_LIBS "-framework OpenGLES")
|
list(APPEND WINDOW_EXT_LIBS "-framework OpenGLES")
|
||||||
elseif(SFML_OS_ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
list(APPEND WINDOW_EXT_LIBS "-lEGL -lGLESv1_CM")
|
list(APPEND WINDOW_EXT_LIBS "-lEGL -lGLESv1_CM")
|
||||||
|
@ -26,15 +26,15 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Headers
|
// Headers
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Window/Android/EglContext.hpp>
|
#include <SFML/Window/EglContext.hpp>
|
||||||
#include <SFML/System/Android/Activity.hpp>
|
|
||||||
#include <SFML/OpenGL.hpp>
|
#include <SFML/OpenGL.hpp>
|
||||||
#include <SFML/System/Err.hpp>
|
#include <SFML/System/Err.hpp>
|
||||||
#include <SFML/System/Sleep.hpp>
|
#include <SFML/System/Sleep.hpp>
|
||||||
#include <SFML/System/Mutex.hpp>
|
#include <SFML/System/Mutex.hpp>
|
||||||
#include <SFML/System/Lock.hpp>
|
#include <SFML/System/Lock.hpp>
|
||||||
|
#ifdef SFML_SYSTEM_ANDROID
|
||||||
#include <android/native_window.h>
|
#include <SFML/System/Android/Activity.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace sf
|
namespace sf
|
||||||
{
|
{
|
||||||
@ -46,12 +46,8 @@ m_display (EGL_NO_DISPLAY),
|
|||||||
m_context (EGL_NO_CONTEXT),
|
m_context (EGL_NO_CONTEXT),
|
||||||
m_surface (EGL_NO_SURFACE)
|
m_surface (EGL_NO_SURFACE)
|
||||||
{
|
{
|
||||||
// Get the activity states and protect it from concurent access
|
|
||||||
ActivityStates* states = getActivity(NULL);
|
|
||||||
Lock lock(states->mutex);
|
|
||||||
|
|
||||||
// Get the intialized EGL display
|
// Get the intialized EGL display
|
||||||
m_display = states->display;
|
m_display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||||
|
|
||||||
// Create the EGL surface
|
// Create the EGL surface
|
||||||
const EGLint attribs[] = {
|
const EGLint attribs[] = {
|
||||||
@ -83,14 +79,18 @@ m_display (EGL_NO_DISPLAY),
|
|||||||
m_context (EGL_NO_CONTEXT),
|
m_context (EGL_NO_CONTEXT),
|
||||||
m_surface (EGL_NO_SURFACE)
|
m_surface (EGL_NO_SURFACE)
|
||||||
{
|
{
|
||||||
// Get the activity states and protect it from concurent access
|
#ifdef SFML_SYSTEM_ANDROID
|
||||||
|
|
||||||
|
// On Android, we must save the created context
|
||||||
ActivityStates* states = getActivity(NULL);
|
ActivityStates* states = getActivity(NULL);
|
||||||
Lock lock(states->mutex);
|
Lock lock(states->mutex);
|
||||||
|
|
||||||
states->context = this;
|
states->context = this;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Get the intialized EGL display
|
// Get the intialized EGL display
|
||||||
m_display = states->display;
|
m_display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||||
|
|
||||||
// Create the EGL surface
|
// Create the EGL surface
|
||||||
const EGLint attribs[] = {
|
const EGLint attribs[] = {
|
||||||
@ -108,6 +108,10 @@ m_surface (EGL_NO_SURFACE)
|
|||||||
|
|
||||||
// Create the context
|
// Create the context
|
||||||
createContext(shared, 0, config[0]);
|
createContext(shared, 0, config[0]);
|
||||||
|
|
||||||
|
#ifdef SFML_OS_LINUX
|
||||||
|
createSurface((EGLNativeWindowType)owner->getSystemHandle());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -148,8 +152,7 @@ EglContext::~EglContext()
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool EglContext::makeCurrent()
|
bool EglContext::makeCurrent()
|
||||||
{
|
{
|
||||||
bool success = m_surface != EGL_NO_SURFACE && eglCheck(eglMakeCurrent(m_display, m_surface, m_surface, m_context));
|
return m_surface != EGL_NO_SURFACE && eglCheck(eglMakeCurrent(m_display, m_surface, m_surface, m_context));
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -166,6 +169,8 @@ void EglContext::setVerticalSyncEnabled(bool enabled)
|
|||||||
eglCheck(eglSwapInterval(m_display, enabled ? 1 : 0));
|
eglCheck(eglSwapInterval(m_display, enabled ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
void EglContext::createContext(EglContext* shared, unsigned int bitsPerPixel, const EGLConfig settings)
|
void EglContext::createContext(EglContext* shared, unsigned int bitsPerPixel, const EGLConfig settings)
|
||||||
{
|
{
|
||||||
EGLint contextVersion[] = { EGL_CONTEXT_CLIENT_VERSION, 1, EGL_NONE };
|
EGLint contextVersion[] = { EGL_CONTEXT_CLIENT_VERSION, 1, EGL_NONE };
|
||||||
@ -182,7 +187,8 @@ void EglContext::createContext(EglContext* shared, unsigned int bitsPerPixel, co
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EglContext::createSurface(ANativeWindow* window)
|
////////////////////////////////////////////////////////////
|
||||||
|
void EglContext::createSurface(EGLNativeWindowType window)
|
||||||
{
|
{
|
||||||
// Create the EGL surface
|
// Create the EGL surface
|
||||||
const EGLint attribs[] = {
|
const EGLint attribs[] = {
|
||||||
@ -201,6 +207,8 @@ void EglContext::createSurface(ANativeWindow* window)
|
|||||||
m_surface = eglCheck(eglCreateWindowSurface(m_display, config[0], window, NULL));
|
m_surface = eglCheck(eglCreateWindowSurface(m_display, config[0], window, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
void EglContext::destroySurface()
|
void EglContext::destroySurface()
|
||||||
{
|
{
|
||||||
eglCheck(eglDestroySurface(m_display, m_surface));
|
eglCheck(eglDestroySurface(m_display, m_surface));
|
||||||
@ -210,6 +218,15 @@ void EglContext::destroySurface()
|
|||||||
setActive(false);
|
setActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef SFML_SYSTEM_LINUX
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
XVisualInfo EglContext::selectBestVisual(::Display* display, unsigned int bitsPerPixel, const ContextSettings& settings)
|
||||||
|
{
|
||||||
|
return XVisualInfo();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace priv
|
} // namespace priv
|
||||||
|
|
||||||
} // namespace sf
|
} // namespace sf
|
@ -123,10 +123,10 @@ public :
|
|||||||
/// This function must be called when the activity (re)start, or
|
/// This function must be called when the activity (re)start, or
|
||||||
/// when the orientation change.
|
/// when the orientation change.
|
||||||
///
|
///
|
||||||
/// \param window : The Android window
|
/// \param window : The native window type
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void createSurface(ANativeWindow* window);
|
void createSurface(EGLNativeWindowType window);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Destroy the EGL surface
|
/// \brief Destroy the EGL surface
|
||||||
@ -137,6 +137,20 @@ public :
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void destroySurface();
|
void destroySurface();
|
||||||
|
|
||||||
|
#ifdef SFML_SYSTEM_LINUX
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Select the best EGL visual for a given set of settings
|
||||||
|
///
|
||||||
|
/// \param display X display
|
||||||
|
/// \param bitsPerPixel Pixel depth, in bits per pixel
|
||||||
|
/// \param settings Requested context settings
|
||||||
|
///
|
||||||
|
/// \return The best visual
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
static XVisualInfo selectBestVisual(::Display* display, unsigned int bitsPerPixel, const ContextSettings& settings);
|
||||||
|
#endif
|
||||||
|
|
||||||
private :
|
private :
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
@ -39,30 +39,38 @@
|
|||||||
#include <SFML/Window/glext/glext.h>
|
#include <SFML/Window/glext/glext.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SFML_SYSTEM_WINDOWS)
|
#if !defined(SFML_OPENGL_ES)
|
||||||
|
|
||||||
#include <SFML/Window/Win32/WglContext.hpp>
|
#if defined(SFML_SYSTEM_WINDOWS)
|
||||||
typedef sf::priv::WglContext ContextType;
|
|
||||||
|
|
||||||
#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD)
|
#include <SFML/Window/Win32/WglContext.hpp>
|
||||||
|
typedef sf::priv::WglContext ContextType;
|
||||||
|
|
||||||
#include <SFML/Window/Unix/GlxContext.hpp>
|
#elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD)
|
||||||
typedef sf::priv::GlxContext ContextType;
|
|
||||||
|
|
||||||
#elif defined(SFML_SYSTEM_MACOS)
|
#include <SFML/Window/Unix/GlxContext.hpp>
|
||||||
|
typedef sf::priv::GlxContext ContextType;
|
||||||
|
|
||||||
#include <SFML/Window/OSX/SFContext.hpp>
|
#elif defined(SFML_SYSTEM_MACOS)
|
||||||
typedef sf::priv::SFContext ContextType;
|
|
||||||
|
|
||||||
#elif defined(SFML_SYSTEM_IOS)
|
#include <SFML/Window/OSX/SFContext.hpp>
|
||||||
|
typedef sf::priv::SFContext ContextType;
|
||||||
|
|
||||||
#include <SFML/Window/iOS/EaglContext.hpp>
|
#endif
|
||||||
typedef sf::priv::EaglContext ContextType;
|
|
||||||
|
|
||||||
#elif defined(SFML_SYSTEM_ANDROID)
|
#else
|
||||||
|
|
||||||
#include <SFML/Window/Android/EglContext.hpp>
|
#if defined(SFML_SYSTEM_IOS)
|
||||||
typedef sf::priv::EglContext ContextType;
|
|
||||||
|
#include <SFML/Window/iOS/EaglContext.hpp>
|
||||||
|
typedef sf::priv::EaglContext ContextType;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include <SFML/Window/EglContext.hpp>
|
||||||
|
typedef sf::priv::EglContext ContextType;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Window/WindowStyle.hpp> // important to be included first (conflict with None)
|
#include <SFML/Window/WindowStyle.hpp> // important to be included first (conflict with None)
|
||||||
#include <SFML/Window/Unix/WindowImplX11.hpp>
|
#include <SFML/Window/Unix/WindowImplX11.hpp>
|
||||||
#include <SFML/Window/Unix/GlxContext.hpp>
|
|
||||||
#include <SFML/Window/Unix/Display.hpp>
|
#include <SFML/Window/Unix/Display.hpp>
|
||||||
#include <SFML/System/Utf.hpp>
|
#include <SFML/System/Utf.hpp>
|
||||||
#include <SFML/System/Err.hpp>
|
#include <SFML/System/Err.hpp>
|
||||||
@ -42,6 +41,13 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
|
||||||
|
#ifdef SFML_OPENGL_ES
|
||||||
|
#include <SFML/Window/EglContext.hpp>
|
||||||
|
typedef sf::priv::EglContext ContextType;
|
||||||
|
#else
|
||||||
|
#include <SFML/Window/Unix/GlxContext.hpp>
|
||||||
|
typedef sf::priv::GlxContext ContextType;
|
||||||
|
#endif
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Private data
|
// Private data
|
||||||
@ -151,7 +157,7 @@ m_useSizeHints(false)
|
|||||||
switchToFullscreen(mode);
|
switchToFullscreen(mode);
|
||||||
|
|
||||||
// Choose the visual according to the context settings
|
// Choose the visual according to the context settings
|
||||||
XVisualInfo visualInfo = GlxContext::selectBestVisual(m_display, mode.bitsPerPixel, settings);
|
XVisualInfo visualInfo = ContextType::selectBestVisual(m_display, mode.bitsPerPixel, settings);
|
||||||
|
|
||||||
// Define the window attributes
|
// Define the window attributes
|
||||||
XSetWindowAttributes attributes;
|
XSetWindowAttributes attributes;
|
||||||
|
Loading…
Reference in New Issue
Block a user