summaryrefslogtreecommitdiffstats
path: root/src/opengl
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2012-09-20 15:55:46 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-26 19:20:58 +0200
commit61d853797bff92d206db0d7fa6666c116f5ff00f (patch)
tree37c408aeacdd9176f08a9d53bc6b859072b73cb1 /src/opengl
parent9e9911715c37511ece018aa9d36491b77872501b (diff)
OpenGL: Fix QGLFormat::openGLVersionFlags() on OS X
OS X is limited to OpenGL 3.2 and we have to explicitly request a Core profile context to get the full set of available versions as OS X does not implement the Compatibility profile. Change-Id: I8c2a6dc272416cbaf8fee44adbc4471417bf4510 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/opengl')
-rw-r--r--src/opengl/qgl_qpa.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/opengl/qgl_qpa.cpp b/src/opengl/qgl_qpa.cpp
index edaa4c6b10..cc8d5736ca 100644
--- a/src/opengl/qgl_qpa.cpp
+++ b/src/opengl/qgl_qpa.cpp
@@ -314,8 +314,17 @@ QGLTemporaryContext::QGLTemporaryContext(bool, QWidget *)
#if !defined(QT_OPENGL_ES)
// On desktop, request latest released version
QSurfaceFormat format;
+#if defined(Q_OS_MAC)
+ // OS X is limited to OpenGL 3.2 Core Profile at present
+ // so set that here. If we use compatibility profile it
+ // only reports 2.x contexts.
+ format.setMajorVersion(3);
+ format.setMinorVersion(2);
+ format.setProfile(QSurfaceFormat::CoreProfile);
+#else
format.setMajorVersion(4);
format.setMinorVersion(3);
+#endif
d->context->setFormat(format);
#endif
d->context->create();