apple: Request OpenGL 3.2 from OpenGL.framework if available
authorJeremy Huddleston <jeremyhu@apple.com>
Sun, 12 Jun 2011 06:43:38 +0000 (23:43 -0700)
committerJeremy Huddleston <jeremyhu@apple.com>
Sun, 12 Jun 2011 06:43:38 +0000 (23:43 -0700)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
src/glx/apple/apple_visual.c

index 5a7fc325a3100c4784ce4b97cdf63aa495f1d0f2..a24616480ab5f4f19039383b4a48d23fb3f77463 100644 (file)
 #include <OpenGL/OpenGL.h>
 #include <OpenGL/CGLContext.h>
 #include <OpenGL/CGLRenderers.h>
+#include <OpenGL/CGLTypes.h>
 #undef glTexImage1D
 #undef glTexImage2D
 #undef glTexImage3D
 
+#ifndef kCGLPFAOpenGLProfile
+#define kCGLPFAOpenGLProfile 99
+#endif
+
+#ifndef kCGLOGLPVersion_3_2_Core
+#define kCGLOGLPVersion_3_2_Core 0x3200
+#endif
+
 #include "apple_cgl.h"
 #include "apple_visual.h"
 #include "apple_glx.h"
@@ -64,6 +73,12 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
    GLint vsref = 0;
    CGLError error = 0;
 
+   /* Request an OpenGL 3.2 profile if one is available */
+   if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) {
+      attr[numattr++] = kCGLPFAOpenGLProfile;
+      attr[numattr++] = kCGLOGLPVersion_3_2_Core;
+   }
+
    if (offscreen) {
       apple_glx_diagnostic
          ("offscreen rendering enabled.  Using kCGLPFAOffScreen\n");