From 61d853797bff92d206db0d7fa6666c116f5ff00f Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Thu, 20 Sep 2012 15:55:46 +0100 Subject: OpenGL: Fix QGLFormat::openGLVersionFlags() on OS X MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Morten Johan Sørvig Reviewed-by: Samuel Rødal --- src/opengl/qgl_qpa.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/opengl/qgl_qpa.cpp') 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(); -- cgit v1.2.3