OpenGL: Add flags and logic for newer versions of OpenGL in QGLFormat
authorSean Harmer <sean.harmer@kdab.com>
Wed, 19 Sep 2012 12:46:36 +0000 (13:46 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 19 Sep 2012 14:16:20 +0000 (16:16 +0200)
Change-Id: Iad57286c36c7fd205f06abc40cca5f568d572e81
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
src/opengl/qgl.cpp
src/opengl/qgl.h

index 2bd10de..d17a279 100644 (file)
@@ -1173,6 +1173,21 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
                             QGLFormat::OpenGL_Version_3_2 |
                             QGLFormat::OpenGL_Version_3_3 |
                             QGLFormat::OpenGL_Version_4_0;
+            switch (versionString[2].toLatin1()) {
+            case '3':
+                versionFlags |= QGLFormat::OpenGL_Version_4_3;
+            case '2':
+                versionFlags |= QGLFormat::OpenGL_Version_4_2;
+            case '1':
+                versionFlags |= QGLFormat::OpenGL_Version_4_1;
+            case '0':
+                break;
+            default:
+                versionFlags |= QGLFormat::OpenGL_Version_4_1 |
+                                QGLFormat::OpenGL_Version_4_2 |
+                                QGLFormat::OpenGL_Version_4_3;
+                break;
+            }
         } else {
             versionFlags |= QGLFormat::OpenGL_Version_1_1 |
                             QGLFormat::OpenGL_Version_1_2 |
@@ -1185,7 +1200,10 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
                             QGLFormat::OpenGL_Version_3_1 |
                             QGLFormat::OpenGL_Version_3_2 |
                             QGLFormat::OpenGL_Version_3_3 |
-                            QGLFormat::OpenGL_Version_4_0;
+                            QGLFormat::OpenGL_Version_4_0 |
+                            QGLFormat::OpenGL_Version_4_1 |
+                            QGLFormat::OpenGL_Version_4_2 |
+                            QGLFormat::OpenGL_Version_4_3;
         }
     }
     return versionFlags;
@@ -1228,6 +1246,12 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
 
     \value OpenGL_Version_4_0  OpenGL version 4.0 or higher is present.
 
+    \value OpenGL_Version_4_1  OpenGL version 4.1 or higher is present.
+
+    \value OpenGL_Version_4_2  OpenGL version 4.2 or higher is present.
+
+    \value OpenGL_Version_4_3  OpenGL version 4.3 or higher is present.
+
     \value OpenGL_ES_CommonLite_Version_1_0  OpenGL ES version 1.0 Common Lite or higher is present.
 
     \value OpenGL_ES_Common_Version_1_0  OpenGL ES version 1.0 Common or higher is present.
index 2f2c9ea..4a3fe20 100644 (file)
@@ -228,7 +228,10 @@ public:
         OpenGL_Version_3_1                = 0x00002000,
         OpenGL_Version_3_2                = 0x00004000,
         OpenGL_Version_3_3                = 0x00008000,
-        OpenGL_Version_4_0                = 0x00010000
+        OpenGL_Version_4_0                = 0x00010000,
+        OpenGL_Version_4_1                = 0x00020000,
+        OpenGL_Version_4_2                = 0x00040000,
+        OpenGL_Version_4_3                = 0x00080000
     };
     Q_DECLARE_FLAGS(OpenGLVersionFlags, OpenGLVersionFlag)