Updated GL version tests for Mac OS X 10.9 ("Mavericks").
authorRyan C. Gordon <icculus@icculus.org>
Mon, 28 Oct 2013 22:43:39 -0400
changeset 7894 bb624b1348da
parent 7893 59b3e715fab6
child 7895 a9d1c47bb1aa
Updated GL version tests for Mac OS X 10.9 ("Mavericks"). They changed the name of their GL 3.2 enum, added the GL 4.1 core profile.
src/video/cocoa/SDL_cocoaopengl.m
--- a/src/video/cocoa/SDL_cocoaopengl.m	Wed Oct 23 20:58:39 2013 -0700
+++ b/src/video/cocoa/SDL_cocoaopengl.m	Mon Oct 28 22:43:39 2013 -0400
@@ -54,8 +54,11 @@
 #ifndef kCGLOGLPVersion_Legacy
 #define kCGLOGLPVersion_Legacy 0x1000
 #endif
-#ifndef kCGLOGLPVersion_3_2_Core
-#define kCGLOGLPVersion_3_2_Core 0x3200
+#ifndef kCGLOGLPVersion_GL3_Core
+#define kCGLOGLPVersion_GL3_Core 0x3200
+#endif
+#ifndef kCGLOGLPVersion_GL4_Core
+#define kCGLOGLPVersion_GL4_Core 0x4100
 #endif
 
 @implementation SDLOpenGLContext : NSOpenGLContext
@@ -179,14 +182,14 @@
     int i = 0;
 
     if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES) {
-        SDL_SetError ("OpenGL ES not supported on this platform");
+        SDL_SetError ("OpenGL ES is not supported on this platform");
         return NULL;
     }
 
     /* Sadly, we'll have to update this as life progresses, since we need to
        set an enum for context profiles, not a context version number */
-    if (wantver > 0x0302) {
-        SDL_SetError ("OpenGL > 3.2 is not supported on this platform");
+    if (wantver > 0x0401) {
+        SDL_SetError ("OpenGL > 4.1 is not supported on this platform");
         return NULL;
     }
 
@@ -197,7 +200,13 @@
         NSOpenGLPixelFormatAttribute profile = kCGLOGLPVersion_Legacy;
         if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_CORE) {
             if (wantver == 0x0302) {
-                profile = kCGLOGLPVersion_3_2_Core;
+                profile = kCGLOGLPVersion_GL3_Core;
+            } else if ((wantver == 0x0401) && (data->osversion >= 0x1090)) {
+                profile = kCGLOGLPVersion_GL4_Core;
+            } else {
+                SDL_SetError("Requested GL version is not supported on this platform");
+                [pool release];
+                return NULL;
             }
         }
         attr[i++] = kCGLPFAOpenGLProfile;