mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 23:20:08 +01:00
darwin: Guard Core Profile usage behind a testing envvar
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 04ce3be401)
This commit is contained in:
parent
1b2f877c8e
commit
9d6e12eb6b
1 changed files with 20 additions and 10 deletions
|
|
@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
|
|||
int numattr = 0;
|
||||
GLint vsref = 0;
|
||||
CGLError error = 0;
|
||||
|
||||
/* 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;
|
||||
bool use_core_profile = getenv("LIBGL_PROFILE_CORE");
|
||||
|
||||
if (offscreen) {
|
||||
apple_glx_diagnostic
|
||||
|
|
@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
|
|||
attr[numattr++] = mode->samples;
|
||||
}
|
||||
|
||||
/* Debugging support for Core profiles to support newer versions of OpenGL */
|
||||
if (use_core_profile) {
|
||||
attr[numattr++] = kCGLPFAOpenGLProfile;
|
||||
attr[numattr++] = kCGLOGLPVersion_3_2_Core;
|
||||
}
|
||||
|
||||
attr[numattr++] = 0;
|
||||
|
||||
assert(numattr < MAX_ATTR);
|
||||
|
||||
error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
|
||||
|
||||
if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) {
|
||||
apple_glx_diagnostic
|
||||
("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref);
|
||||
|
||||
if (!error)
|
||||
apple_cgl.destroy_pixel_format(*pfobj);
|
||||
|
||||
numattr -= 3;
|
||||
attr[numattr++] = 0;
|
||||
|
||||
error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
|
||||
}
|
||||
|
||||
if (error) {
|
||||
snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
|
||||
"CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue