From 9372cbdbf851f0570a4dbae0183b756ba8e477ca Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 6 Nov 2014 09:15:03 +0100 Subject: [PATCH] GdkWindow: Try to use a Core 3.2 GL profile for the paint context If this is supported we avoid a lot of legacy baggage which we don't need. --- gdk/gdkwindow.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index b43d5d9e06..c74ca4e2bd 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2739,12 +2739,26 @@ gdk_window_get_paint_gl_context (GdkWindow *window, GError **error) } if (window->impl_window->gl_paint_context == NULL) - window->impl_window->gl_paint_context = - GDK_WINDOW_IMPL_GET_CLASS (window->impl)->create_gl_context (window, - TRUE, - GDK_GL_PROFILE_DEFAULT, - NULL, - error); + { + window->impl_window->gl_paint_context = + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->create_gl_context (window, + TRUE, + GDK_GL_PROFILE_3_2_CORE, + NULL, + error); + if (window->impl_window->gl_paint_context == NULL && + g_error_matches (*error, GDK_GL_ERROR, + GDK_GL_ERROR_UNSUPPORTED_PROFILE)) + { + g_clear_error (error); + window->impl_window->gl_paint_context = + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->create_gl_context (window, + TRUE, + GDK_GL_PROFILE_DEFAULT, + NULL, + error); + } + } return window->impl_window->gl_paint_context; }