diff --git a/0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch b/0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch new file mode 100644 index 0000000..cf7a123 --- /dev/null +++ b/0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch @@ -0,0 +1,66 @@ +From 47214dd09bf4a149573aff35aa24b0bc62184f7b Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 6 Feb 2017 12:13:17 +0100 +Subject: [PATCH] glx/glvnd: Fix GLXdispatchIndex sorting + +Commit 8bca8d89ef3b ("glx/glvnd: Fix dispatch function names and indices") +fixed the sorting of the array initializers in g_glxglvnddispatchfuncs.c +because FindGLXFunction's binary search needs these to be sorted +alphabetically. + +That commit also mostly fixed the sorting of the DI_foo defines in +g_glxglvnddispatchindices.h, which is what actually matters as the +arrays are initialized using "[DI_foo] = glXfoo," but a small error +crept in which at least causes glXGetVisualFromFBConfigSGIX to not +resolve, breaking games such as "The Binding of Isaac: Rebirth" and +"Crypt of the NecroDancer" from Steam not working and possible causes +other problems too. + +This commit fixes the last of the sorting errors, fixing these mentioned +games not working. + +Fixes: 8bca8d89ef3b ("glx/glvnd: Fix dispatch function names and indices") +Cc: "13.0" +Cc: "17.0" +Cc: Adam Jackson +Signed-off-by: Hans de Goede +--- + src/glx/g_glxglvnddispatchindices.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/glx/g_glxglvnddispatchindices.h b/src/glx/g_glxglvnddispatchindices.h +index 0891654..05a2c8c 100644 +--- a/src/glx/g_glxglvnddispatchindices.h ++++ b/src/glx/g_glxglvnddispatchindices.h +@@ -46,14 +46,14 @@ typedef enum __GLXdispatchIndex { + DI_GetMscRateOML, + // GetProcAddress implemented by libglvnd + // GetProcAddressARB implemented by libglvnd ++ DI_GetScreenDriver, + // GetSelectedEvent implemented by libglvnd + DI_GetSelectedEventSGIX, ++ DI_GetSwapIntervalMESA, ++ DI_GetSyncValuesOML, + DI_GetVideoSyncSGI, + // GetVisualFromFBConfig implemented by libglvnd + DI_GetVisualFromFBConfigSGIX, +- DI_GetScreenDriver, +- DI_GetSwapIntervalMESA, +- DI_GetSyncValuesOML, + // ImportContextEXT implemented by libglvnd + // IsDirect implemented by libglvnd + DI_JoinSwapGroupSGIX, +@@ -81,9 +81,9 @@ typedef enum __GLXdispatchIndex { + DI_SwapIntervalMESA, + DI_SwapIntervalSGI, + // UseXFont implemented by libglvnd +- // WaitGL implemented by libglvnd + DI_WaitForMscOML, + DI_WaitForSbcOML, ++ // WaitGL implemented by libglvnd + DI_WaitVideoSyncSGI, + // WaitX implemented by libglvnd + DI_LAST_INDEX +-- +2.9.3 + diff --git a/mesa.spec b/mesa.spec index 4459c00..0bd3176 100644 --- a/mesa.spec +++ b/mesa.spec @@ -60,7 +60,7 @@ Name: mesa Summary: Mesa graphics libraries Version: 17.0.0 -Release: 0.4%{?rctag:.%{rctag}}%{?dist} +Release: 0.5%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -88,6 +88,8 @@ Patch12: 0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch Patch13: glvnd-fix-gl-dot-pc.patch Patch14: 0001-Fix-linkage-against-shared-glapi.patch Patch15: 0001-glapi-Link-with-glapi-when-built-shared.patch +# submitted upstream +Patch16: 0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -686,6 +688,10 @@ popd %endif %changelog +* Mon Feb 6 2017 Hans de Goede - 17.0.0-0.5.rc2 +- Fix GLX_SGIX_fbconfig extension dispatching with glvnd, this fixes games such + as "The Binding of Isaac: Rebirth" and "Crypt of the NecroDancer" from Steam + * Thu Feb 2 2017 Hans de Goede - 17.0.0-0.4.rc2 - Update eglext.h to 20161230 version this brings in some new defines needed by some apps / libraries