gdk-x11-Check-if-we-have-access-to-GL-before-using-G.patch: Drop
GTK now calls epoxy_has_glx() directly so this bypassed approach isn't necessary.
This commit is contained in:
3
debian/changelog
vendored
3
debian/changelog
vendored
@ -15,6 +15,9 @@ gtk+3.0 (3.23.0-1) UNRELEASED; urgency=medium
|
||||
* debian/patches/m4macros-Set-a-serial-number.patch: Drop, included in this
|
||||
release.
|
||||
* debian/control{,.in}: Bump libepoxy (1.4) and pango (1.41.0) per upstream.
|
||||
* debian/patches/gdk-x11-Check-if-we-have-access-to-GL-before-using-G.patch:
|
||||
Drop - GTK now calls epoxy_has_glx() directly so this bypassed approach
|
||||
isn't necessary.
|
||||
|
||||
-- Iain Lane <laney@debian.org> Wed, 18 Jul 2018 14:08:52 +0100
|
||||
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
||||
Date: Fri, 20 Jan 2017 18:07:01 +0000
|
||||
Subject: gdk/x11: Check if we have access to GL before using GLX API
|
||||
|
||||
If the platform does not have access to libGL then any call to GL and
|
||||
GLX API through libepoxy will fail with an assertion. Until such time
|
||||
that libepoxy exposes API for us to use, we can simply dlopen libGL
|
||||
ourselves and do a symbol check.
|
||||
|
||||
[smcv: fix typo]
|
||||
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=775279
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=847366
|
||||
Applied-upstream: no, GTK+ 4 added a dependency on newer libepoxy instead
|
||||
---
|
||||
gdk/x11/gdkglcontext-x11.c | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c
|
||||
index 0819f89..d8ddf0f 100644
|
||||
--- a/gdk/x11/gdkglcontext-x11.c
|
||||
+++ b/gdk/x11/gdkglcontext-x11.c
|
||||
@@ -854,6 +854,32 @@ gdk_x11_screen_init_gl (GdkScreen *screen)
|
||||
if (_gdk_gl_flags & GDK_GL_DISABLE)
|
||||
return FALSE;
|
||||
|
||||
+ /* This is an ad hoc check that bypasses libepoxy to check if libGL.so is
|
||||
+ * unavailable, and disables GL support if that's the case
|
||||
+ *
|
||||
+ * Ideally, libepoxy should do this for us, but that would require adding
|
||||
+ * new API, and we'd need a fallback anyway.
|
||||
+ */
|
||||
+ {
|
||||
+ Bool (* fp_glXQueryExtension) (Display *dpy, int *err_base, int *ev_base);
|
||||
+ GModule *module = g_module_open ("libGL.so.1", 0);
|
||||
+
|
||||
+ if (module == NULL)
|
||||
+ {
|
||||
+ GDK_NOTE (OPENGL, g_message ("No libGL.so found"));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (!g_module_symbol (module, "glXQueryExtension", (gpointer *) &fp_glXQueryExtension))
|
||||
+ {
|
||||
+ GDK_NOTE (OPENGL, g_message ("No glXQueryExtension symbol found"));
|
||||
+ g_module_close (module);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ g_module_close (module);
|
||||
+ }
|
||||
+
|
||||
dpy = gdk_x11_display_get_xdisplay (display);
|
||||
|
||||
if (!glXQueryExtension (dpy, &error_base, &event_base))
|
||||
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -5,4 +5,3 @@
|
||||
060_ignore-random-icons.patch
|
||||
no-accessibility-dump.patch
|
||||
reftest-known-fail.patch
|
||||
gdk-x11-Check-if-we-have-access-to-GL-before-using-G.patch
|
||||
|
||||
Reference in New Issue
Block a user