static CGLPixelFormatObj
create_pixel_format (GdkGLVersion *version,
+ gboolean *out_legacy,
GError **error)
{
CGLPixelFormatAttribute attrs[] = {
CGLPixelFormatObj format = NULL;
GLint n_format = 1;
+ *out_legacy = FALSE;
+
if (gdk_gl_version_get_major (version) >= 4)
{
attrs[1] = (CGLPixelFormatAttribute)kCGLOGLPVersion_GL4_Core;
if (!CHECK (error, CGLChoosePixelFormat (attrs, &format, &n_format)))
return NULL;
+ *out_legacy = TRUE;
+
return g_steal_pointer (&format);
}
GLint renderer_id = 0;
GLint swapRect[4];
GdkGLVersion min_version, version;
+ gboolean legacy;
g_assert (GDK_IS_MACOS_GL_CONTEXT (self));
"Creating CGLContextObj (version %d.%d)",
gdk_gl_version_get_major (&min_version), gdk_gl_version_get_minor (&min_version));
- if (!(pixelFormat = create_pixel_format (&min_version, error)))
+ if (!(pixelFormat = create_pixel_format (&min_version, &legacy, error)))
return 0;
if (!CHECK (error, CGLCreateContext (pixelFormat, shared_gl_context, &cgl_context)))
get_renderer_name (renderer_id));
gdk_gl_context_set_version (context, &version);
+ gdk_gl_context_set_is_legacy (context, legacy);
self->cgl_context = g_steal_pointer (&cgl_context);