From d36c7363ddd85370a7bdbcb23f37a77a126ce7f8 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 28 Oct 2013 22:43:39 -0400 Subject: [PATCH] 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 | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/video/cocoa/SDL_cocoaopengl.m b/src/video/cocoa/SDL_cocoaopengl.m index 13c7777b12da7..497084f048341 100644 --- a/src/video/cocoa/SDL_cocoaopengl.m +++ b/src/video/cocoa/SDL_cocoaopengl.m @@ -54,8 +54,11 @@ - (NSRect)convertRectFromBacking:(NSRect)aRect; #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 @@ - (void)setWindow:(SDL_Window *)newWindow 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 @@ - (void)setWindow:(SDL_Window *)newWindow 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;