summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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-xconfigure59
-rw-r--r--src/plugins/platforms/xcb/xcb-plugin.pro2
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
diff --git a/configure b/configure
index a20fdaa0bc..3879f6674c 100755
--- a/configure
+++ b/configure
@@ -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