summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl/qopengl.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@digia.com>2014-07-09 15:19:04 +0200
committerLaszlo Agocs <laszlo.agocs@digia.com>2014-07-09 19:07:09 +0200
commit0a037078213bdeddebec775328e0116986474e3d (patch)
tree2ed539e1a2188e0b9f2b5993c555a053a9aa0c5f /src/gui/opengl/qopengl.cpp
parent2978b7ed19c577bcf6beca9f3db27b5a12e7afdf (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.cpp11
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