From 030d80a70d74522abfb40f3ffb6bb22d065b9e71 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 6 Feb 2017 14:03:03 +0100 Subject: [PATCH] Drop 0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch the bug this works around actually is in mesa --- ...-GLX-Add-GLX_SGIX_fbconfig-functions.patch | 78 ------------------- libglvnd.spec | 14 ++-- 2 files changed, 8 insertions(+), 84 deletions(-) delete mode 100644 0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch diff --git a/0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch b/0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch deleted file mode 100644 index 4693a0c..0000000 --- a/0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch +++ /dev/null @@ -1,78 +0,0 @@ -From caa4eb0c34b19b694a8fe886411e012d3beb6b36 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 2 Feb 2017 13:34:29 +0100 -Subject: [PATCH 7/7] GLX: Add GLX_SGIX_fbconfig functions - -Some older apps, e.g. games using version 3.0 or older of the glfw library -try to use the old GLX_SGIX_fbconfig extension functions if present instead -of the regular glXGetFBConfigs, glXGetFBConfigAttrib and glXCreateNewContext -functions. - -This commit adds implementations of these to libglvnd's libGLX fixing e.g. -the "The Binding if Isaac: Rebirth" and "Crypt of the NecroDancer" games from -Steam failing with a "GLX: Failed to retrieve visual for GLXFBConfig" error. - -Note this commit does not add implementations for -glXCreateGLXPixmapWithConfigSGIX and glXGetFBConfigFromVisualSGIX as these -cannot be simply mapped to non extension functions and in practice these -do not seem to be used. - -Signed-off-by: Hans de Goede ---- - src/GLX/libglx.c | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -diff --git a/src/GLX/libglx.c b/src/GLX/libglx.c -index a2a9502..13434c0 100644 ---- a/src/GLX/libglx.c -+++ b/src/GLX/libglx.c -@@ -1579,6 +1579,33 @@ PUBLIC GLXFBConfig *glXGetFBConfigs(Display *dpy, int screen, int *nelements) - } - - -+PUBLIC int glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, -+ int attribute, int *value) -+{ -+ return glXGetFBConfigAttrib(dpy, (GLXFBConfig)config, attribute, value); -+} -+ -+PUBLIC GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, int screen, -+ const int *attrib_list, int *nelements) -+{ -+ return glXChooseFBConfig(dpy, screen, attrib_list, nelements); -+} -+ -+PUBLIC GLXContext glXCreateContextWithConfigSGIX (Display *dpy, -+ GLXFBConfigSGIX config, int render_type, -+ GLXContext share_list, Bool direct) -+{ -+ return glXCreateNewContext(dpy, (GLXFBConfig)config, render_type, -+ share_list, direct); -+} -+ -+PUBLIC XVisualInfo * -+glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfigSGIX config) -+{ -+ return glXGetVisualFromFBConfig(dpy, (GLXFBConfig)config); -+} -+ -+ - PUBLIC void glXGetSelectedEvent(Display *dpy, GLXDrawable draw, - unsigned long *event_mask) - { -@@ -1680,6 +1707,12 @@ const __GLXlocalDispatchFunction LOCAL_GLX_DISPATCH_FUNCTIONS[] = - - LOCAL_FUNC_TABLE_ENTRY(glXImportContextEXT) - LOCAL_FUNC_TABLE_ENTRY(glXFreeContextEXT) -+ -+ LOCAL_FUNC_TABLE_ENTRY(glXGetFBConfigAttribSGIX) -+ LOCAL_FUNC_TABLE_ENTRY(glXChooseFBConfigSGIX) -+ LOCAL_FUNC_TABLE_ENTRY(glXCreateContextWithConfigSGIX) -+ LOCAL_FUNC_TABLE_ENTRY(glXGetVisualFromFBConfigSGIX) -+ - #undef LOCAL_FUNC_TABLE_ENTRY - { NULL, NULL } - }; --- -2.9.3 - diff --git a/libglvnd.spec b/libglvnd.spec index 6e5965a..a40f2ec 100644 --- a/libglvnd.spec +++ b/libglvnd.spec @@ -3,7 +3,7 @@ Name: libglvnd Version: 0.2.999 -Release: 9%{?commit0:.git%{shortcommit0}}%{?dist} +Release: 10%{?commit0:.git%{shortcommit0}}%{?dist} # Provide an upgrade path from the negativo17.org pkgs which have Epoch 1 Epoch: 1 Summary: The GL Vendor-Neutral Dispatch library @@ -20,8 +20,6 @@ Patch4: 0004-armv7-make-sure-asm-is-compiled-in-unified-syntax-mo.patch Patch5: 0005-Treat-armv7hl-as-armv7l.patch # WIP Patch6: 0006-skip-tests-that-cannot-pass-with-pure-c-dispatch.patch -# https://github.com/NVIDIA/libglvnd/pull/114 -Patch7: 0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch BuildRequires: libtool BuildRequires: gcc @@ -84,7 +82,7 @@ Summary: GLES support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default EGL implementation provider -Requires: mesa-libEGL%{?_isa} +Requires: mesa-libEGL%{?_isa} >= 13.0.4-1 Provides: libGLES Provides: libGLES%{?_isa} } @@ -98,7 +96,7 @@ Summary: EGL support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default EGL implementation provider -Requires: mesa-libEGL%{?_isa} +Requires: mesa-libEGL%{?_isa} >= 13.0.4-1 Provides: libEGL Provides: libEGL%{?_isa} } @@ -112,7 +110,7 @@ Summary: GLX support for libglvnd Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %{!?_without_mesa_glvnd_default: # mesa is the default GL implementation provider -Requires: mesa-libGL%{?_isa} +Requires: mesa-libGL%{?_isa} >= 13.0.4-1 Provides: libGL Provides: libGL%{?_isa} } @@ -223,6 +221,10 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log` %changelog +* Mon Feb 6 2017 Hans de Goede - 1:0.2.999-10.gitdc16f8c +- Drop 0007-GLX-Add-GLX_SGIX_fbconfig-functions.patch the bug this works + around actually is in mesa + * Thu Feb 2 2017 Hans de Goede - 1:0.2.999-9.gitdc16f8c - Add eglexternalplatform spec. config dirs to -egl subpackage (rhbz#1415143)