From: Chun-wei Fan Date: Tue, 18 Jan 2022 16:18:07 +0000 (+0800) Subject: gdkdisplay-win32.c: Clean up GL initialization further X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~4^2~67^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0fe37d18282c436d736280a13bfa62538bd6ace6;p=gtk4.git gdkdisplay-win32.c: Clean up GL initialization further --- diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c index aee962bd80..a544bf3827 100644 --- a/gdk/win32/gdkdisplay-win32.c +++ b/gdk/win32/gdkdisplay-win32.c @@ -1181,7 +1181,6 @@ gdk_win32_display_init_gl (GdkDisplay *display, { GdkWin32Display *display_win32 = GDK_WIN32_DISPLAY (display); HDC init_gl_hdc = NULL; - gboolean is_egl = FALSE; if (display_win32->dummy_context_wgl.hdc == NULL) display_win32->dummy_context_wgl.hdc = GetDC (display_win32->hwnd); @@ -1205,53 +1204,40 @@ gdk_win32_display_init_gl (GdkDisplay *display, init_gl_hdc, FALSE, error)) - is_egl = TRUE; - } -#endif - - if (!is_egl) - { - g_clear_error (error); - - if (gdk_win32_display_init_wgl (display, error)) { - gdk_gl_backend_use (GDK_GL_WGL); - return g_object_new (GDK_TYPE_WIN32_GL_CONTEXT_WGL, + return g_object_new (GDK_TYPE_WIN32_GL_CONTEXT_EGL, "display", display, NULL); } + else + g_clear_error (error); } +#endif -#ifdef HAVE_EGL - if (!is_egl) + if (gdk_win32_display_init_wgl (display, error)) { - g_clear_error (error); - - if (gdk_display_init_egl (display, - EGL_PLATFORM_ANGLE_ANGLE, - init_gl_hdc, - TRUE, - error)) - is_egl = TRUE; + return g_object_new (GDK_TYPE_WIN32_GL_CONTEXT_WGL, + "display", display, + NULL); } - if (is_egl) - { - GdkGLContext *gl_context = NULL; +#ifdef HAVE_EGL + g_clear_error (error); - /* We want to use a GLES 3.0+ context for libANGLE GLES */ - gdk_gl_backend_use (GDK_GL_EGL); - gl_context = g_object_new (GDK_TYPE_WIN32_GL_CONTEXT_EGL, - "display", display, - NULL); - gdk_gl_context_set_allowed_apis (gl_context, GDK_GL_API_GLES); - gdk_gl_context_set_required_version (gl_context, 3, 0); + if (gdk_display_init_egl (display, + EGL_PLATFORM_ANGLE_ANGLE, + init_gl_hdc, + TRUE, + error)) + { + return g_object_new (GDK_TYPE_WIN32_GL_CONTEXT_EGL, + "display", display, + NULL); - return gl_context; } #endif - g_return_val_if_reached (NULL); + return NULL; } /**