diff options
author | Fredrik Höglund <fredrik@kde.org> | 2013-02-04 15:59:22 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-23 00:29:13 +0100 |
commit | 4b54c553058f278cedf1d40edacdc488aaa54f81 (patch) | |
tree | e413d47a54c41a5b754e337a1ca71b0e98adc2b6 /src/plugins/platforms/xcb/qxcbintegration.h | |
parent | 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93 (diff) |
Fix OpenGL context creation in the XCB plugin
Make it possible to create a core context with OpenGL implementations
that don't implement the compatibility profile or the
GL_ARB_compatibility extension.
Qt was effectively clamping the OpenGL version to 3.0 by assuming that
the highest supported backwards compatible version is also the
highest supported core version.
Since there is no way to check if the implementation supports a
context with a given set of attributes without trying to create the
context, we have to try every known OpenGL version until we find one
that's supported.
Note that this commit does not fix similar breakage on other platforms.
Change-Id: I9616762b059db9e6182f853ab7f24ff44dc7d529
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbintegration.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.h | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h index cd6c2fd73c..1dd8d4576b 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.h +++ b/src/plugins/platforms/xcb/qxcbintegration.h @@ -52,10 +52,6 @@ class QAbstractEventDispatcher; class QXcbNativeInterface; class QXcbScreen; -#if !defined(QT_NO_OPENGL) && defined(XCB_USE_GLX) -class QOpenGLDefaultContextInfo; -#endif - class QXcbIntegration : public QPlatformIntegration { public: @@ -97,8 +93,6 @@ public: QStringList themeNames() const; QPlatformTheme *createPlatformTheme(const QString &name) const; - void removeDefaultOpenGLContextInfo(QXcbScreen *screen); - private: QList<QXcbConnection *> m_connections; @@ -108,10 +102,6 @@ private: QScopedPointer<QPlatformInputContext> m_inputContext; QAbstractEventDispatcher *m_eventDispatcher; -#if !defined(QT_NO_OPENGL) && defined(XCB_USE_GLX) - mutable QHash<QXcbScreen *, QOpenGLDefaultContextInfo *> m_defaultContextInfos; -#endif - #ifndef QT_NO_ACCESSIBILITY QScopedPointer<QPlatformAccessibility> m_accessibility; #endif |