diff options
author | Jeremy Huddleston Sequoia <[email protected]> | 2014-05-20 10:53:00 -0700 |
---|---|---|
committer | Jeremy Huddleston Sequoia <[email protected]> | 2014-05-20 10:53:43 -0700 |
commit | 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4 (patch) | |
tree | 726b261cd57d59eebcac51c6ebeba9016775c830 /src/glx/apple/apple_visual.c | |
parent | 57e68a91f5f974d0d448a2788a9a9f39c77636e9 (diff) |
darwin: Fix test for kCGLPFAOpenGLProfile support at runtime
Signed-off-by: Jeremy Huddleston Sequoia <[email protected]>
Diffstat (limited to 'src/glx/apple/apple_visual.c')
-rw-r--r-- | src/glx/apple/apple_visual.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c index 282934f1749..238c24881c9 100644 --- a/src/glx/apple/apple_visual.c +++ b/src/glx/apple/apple_visual.c @@ -73,11 +73,15 @@ 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; - } + /* Request an OpenGL 3.2 profile if one is available and supported */ + attr[numattr++] = kCGLPFAOpenGLProfile; + attr[numattr++] = kCGLOGLPVersion_3_2_Core; + + /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ + attr[numattr] = 0; + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); + if (error == kCGLBadAttribute) + numattr -= 2; if (offscreen) { apple_glx_diagnostic |