summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-07-17 01:00:21 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2018-07-17 10:19:22 +0200
commit1783fca89768a9d503d886673643dc4542ec467f (patch)
tree5055f39393017219e448ade71b3842896c4679c5 /src/plugins/platforms/qnx
parentb82648bd59256abb8e7084e0424a1f8a6a034c34 (diff)
parent435d1d53bd61491010dbb2130a27e35cd9798965 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbintegration.cpp Conflicts git missed: src/plugins/platforms/qnx/qqnxglcontext.cpp Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
Diffstat (limited to 'src/plugins/platforms/qnx')
-rw-r--r--src/plugins/platforms/qnx/qqnxglcontext.cpp13
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp4
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.h3
3 files changed, 18 insertions, 2 deletions
diff --git a/src/plugins/platforms/qnx/qqnxglcontext.cpp b/src/plugins/platforms/qnx/qqnxglcontext.cpp
index d4493943e2..1d030ba1aa 100644
--- a/src/plugins/platforms/qnx/qqnxglcontext.cpp
+++ b/src/plugins/platforms/qnx/qqnxglcontext.cpp
@@ -38,6 +38,7 @@
****************************************************************************/
#include "qqnxglcontext.h"
+#include "qqnxintegration.h"
#include "qqnxscreen.h"
#include "qqnxeglwindow.h"
@@ -59,8 +60,18 @@ QT_BEGIN_NAMESPACE
EGLDisplay QQnxGLContext::ms_eglDisplay = EGL_NO_DISPLAY;
+static QEGLPlatformContext::Flags makeFlags()
+{
+ QEGLPlatformContext::Flags result = 0;
+
+ if (!QQnxIntegration::instance()->options().testFlag(QQnxIntegration::SurfacelessEGLContext))
+ result |= QEGLPlatformContext::NoSurfaceless;
+
+ return result;
+}
+
QQnxGLContext::QQnxGLContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share)
- : QEGLPlatformContext(format, share, ms_eglDisplay)
+ : QEGLPlatformContext(format, share, ms_eglDisplay, 0, QVariant(), makeFlags())
{
}
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index 0b6a7f197a..8c8521325c 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -116,6 +116,10 @@ static inline QQnxIntegration::Options parseOptions(const QStringList &paramList
options |= QQnxIntegration::RootWindow;
}
+ if (!paramList.contains(QLatin1String("disable-EGL_KHR_surfaceless_context"))) {
+ options |= QQnxIntegration::SurfacelessEGLContext;
+ }
+
return options;
}
diff --git a/src/plugins/platforms/qnx/qqnxintegration.h b/src/plugins/platforms/qnx/qqnxintegration.h
index 89654f588f..2993607489 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.h
+++ b/src/plugins/platforms/qnx/qqnxintegration.h
@@ -81,7 +81,8 @@ public:
NoOptions = 0x0,
FullScreenApplication = 0x1,
RootWindow = 0x2,
- AlwaysFlushScreenContext = 0x4
+ AlwaysFlushScreenContext = 0x4,
+ SurfacelessEGLContext = 0x8
};
Q_DECLARE_FLAGS(Options, Option)
explicit QQnxIntegration(const QStringList &paramList);