diff options
author | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-07-09 15:19:04 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-07-09 19:07:09 +0200 |
commit | 0a037078213bdeddebec775328e0116986474e3d (patch) | |
tree | 2ed539e1a2188e0b9f2b5993c555a053a9aa0c5f /src/gui/opengl/qopengl.cpp | |
parent | 2978b7ed19c577bcf6beca9f3db27b5a12e7afdf (diff) |
Avoid calling glGetString on OpenGL 3.0+
To prevent profiling and debugging tools from generating misleading
"errors", call glGetString only for ES and GL < 3.0.
Task-number: QTBUG-35173
Change-Id: I4fe3b048fff4cda948152e2ceeb1347f2b0e4ca5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/gui/opengl/qopengl.cpp')
-rw-r--r-- | src/gui/opengl/qopengl.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/opengl/qopengl.cpp b/src/gui/opengl/qopengl.cpp index b452c605e3..9dc8f45495 100644 --- a/src/gui/opengl/qopengl.cpp +++ b/src/gui/opengl/qopengl.cpp @@ -55,16 +55,17 @@ QOpenGLExtensionMatcher::QOpenGLExtensionMatcher() { QOpenGLContext *ctx = QOpenGLContext::currentContext(); QOpenGLFunctions *funcs = ctx->functions(); - const char *extensionStr = reinterpret_cast<const char *>(funcs->glGetString(GL_EXTENSIONS)); + const char *extensionStr = 0; + + if (ctx->isOpenGLES() || ctx->format().majorVersion() < 3) + extensionStr = reinterpret_cast<const char *>(funcs->glGetString(GL_EXTENSIONS)); if (extensionStr) { QByteArray ba(extensionStr); QList<QByteArray> extensions = ba.split(' '); m_extensions = extensions.toSet(); -#if !defined(QT_OPENGL_3) - } -#else } else { +#ifdef QT_OPENGL_3 // clear error state while (funcs->glGetError()) {} @@ -82,8 +83,8 @@ QOpenGLExtensionMatcher::QOpenGLExtensionMatcher() m_extensions.insert(str); } } +#endif // QT_OPENGL_3 } -#endif } QT_END_NAMESPACE |