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:
Iain Lane
2018-07-18 14:31:54 +01:00
parent 1b3ddf292a
commit ba5ec87f94
3 changed files with 3 additions and 56 deletions

3
debian/changelog vendored
View File

@ -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

View File

@ -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))

View File

@ -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