diff options
-rw-r--r-- | config.tests/qpa/glx/glx.cpp (renamed from config.tests/x11/glxfbconfig/glxfbconfig.cpp) | 1 | ||||
-rw-r--r-- | config.tests/qpa/glx/glx.pro (renamed from config.tests/x11/glxfbconfig/glxfbconfig.pro) | 2 | ||||
-rwxr-xr-x | configure | 59 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/xcb-plugin.pro | 2 |
4 files changed, 38 insertions, 26 deletions
diff --git a/config.tests/x11/glxfbconfig/glxfbconfig.cpp b/config.tests/qpa/glx/glx.cpp index 77bedb41c8..03af3f6131 100644 --- a/config.tests/x11/glxfbconfig/glxfbconfig.cpp +++ b/config.tests/qpa/glx/glx.cpp @@ -44,6 +44,7 @@ int main(int, char **) { + //We require glxfbconfig, ie. glx 1.3 GLXFBConfig config; config = 0; diff --git a/config.tests/x11/glxfbconfig/glxfbconfig.pro b/config.tests/qpa/glx/glx.pro index 65f855a5f2..da51a6d231 100644 --- a/config.tests/x11/glxfbconfig/glxfbconfig.pro +++ b/config.tests/qpa/glx/glx.pro @@ -1,4 +1,4 @@ -SOURCES = glxfbconfig.cpp +SOURCES = glx.cpp CONFIG += x11 INCLUDEPATH += $$QMAKE_INCDIR_OPENGL @@ -611,6 +611,7 @@ CFG_OPENVG_LC_INCLUDES=no CFG_OPENVG_SHIVA=auto CFG_OPENVG_ON_OPENGL=auto CFG_EGL=auto +CFG_GLX=auto CFG_SSE=auto CFG_FONTCONFIG=auto CFG_FREETYPE=auto @@ -1480,6 +1481,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + glx) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_GLX="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; pch) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_PRECOMPILE="$VAL" @@ -4902,19 +4910,6 @@ if [ "$XPLATFORM_MINGW" = "yes" ]; then fi CFG_OPENGL=no fi - case "$PLATFORM" in - hpux*) - # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct. - if [ "$CFG_OPENGL" = "desktop" ]; then - compileTest x11/glxfbconfig "OpenGL" - if [ $? != "0" ]; then - QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT - fi - fi - ;; - *) - ;; - esac elif [ "$CFG_OPENGL" = "es2" ]; then #OpenGL ES 2.x compileTest unix/opengles2 "OpenGL ES 2.x" @@ -4935,17 +4930,6 @@ if [ "$XPLATFORM_MINGW" = "yes" ]; then echo " ${XQMAKESPEC}." exit 1 fi - case "$PLATFORM" in - hpux*) - # HP-UX have buggy glx headers; check if we really need to define the GLXFBConfig struct. - compileTest x11/glxfbconfig "OpenGL" - if [ $? != "0" ]; then - QMakeVar add DEFINES QT_DEFINE_GLXFBCONFIG_STRUCT - fi - ;; - *) - ;; - esac fi fi # X11/MINGW OpenGL @@ -5307,6 +5291,24 @@ if [ "$CFG_EGL" != "no" ]; then fi fi +# GLX Support +if [ "$CFG_GLX" != "no" ]; then + if [ "$CFG_GLX" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then + echo "GLX support was requested but OpenGL support is disabled." + echo "Either disable GLX support or enable OpenGL support." + exit 101 + fi + if compileTest qpa/glx "GLX"; then + CFG_GLX=yes + elif [ "$CFG_GLX" = "yes" ]; then + echo " The GLX functionality test failed; GLX is required by the xcb plugin to manage contexts & surfaces." + exit 1 + else + CFG_GLX=no + fi +fi + + if [ "$CFG_EGLFS" != "no" ]; then if [ "$XPLATFORM_QNX" = "no" ]; then CFG_EGLFS="$CFG_EGL" @@ -5668,6 +5670,13 @@ else QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL" fi +# enable glx +if [ "$CFG_GLX" = "yes" ]; then + QT_CONFIG="$QT_CONFIG glx" +else + QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_GLX" +fi + # enable eglfs if [ "$CFG_EGLFS" = "yes" ]; then QT_CONFIG="$QT_CONFIG eglfs" @@ -6699,6 +6708,8 @@ else report_support " pkg-config ............. no" fi report_support " PulseAudio ............." "$CFG_PULSEAUDIO" +report_support " EGL ...................." "$CFG_EGL" +report_support " GLX ...................." "$CFG_GLX" report_support " QPA backends:" report_support " DirectFB ............." "$CFG_DIRECTFB" report_support " EGLFS ................" "$CFG_EGLFS" diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro index 8968d020c4..49a1c1b320 100644 --- a/src/plugins/platforms/xcb/xcb-plugin.pro +++ b/src/plugins/platforms/xcb/xcb-plugin.pro @@ -81,7 +81,7 @@ contains(QT_CONFIG, xcb-sm) { } contains(QT_CONFIG, opengl) { - contains(QT_CONFIG, xcb-xlib):!contains(QT_CONFIG, opengles2) { + contains(QT_CONFIG, xcb-xlib):contains(QT_CONFIG, glx) { DEFINES += XCB_USE_GLX HEADERS += qglxintegration.h SOURCES += qglxintegration.cpp |