mirror of
https://src.fedoraproject.org/rpms/mesa.git
synced 2024-11-28 11:06:25 +00:00
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
This commit is contained in:
parent
ce722cdceb
commit
9817aed1e8
2 changed files with 73 additions and 1 deletions
66
0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch
Normal file
66
0001-glx-glvnd-Fix-GLXdispatchIndex-sorting.patch
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
From 47214dd09bf4a149573aff35aa24b0bc62184f7b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
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" <mesa-stable@lists.freedesktop.org>
|
||||||
|
Cc: "17.0" <mesa-stable@lists.freedesktop.org>
|
||||||
|
Cc: Adam Jackson <ajax@redhat.com>
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
Version: 17.0.0
|
Version: 17.0.0
|
||||||
Release: 0.4%{?rctag:.%{rctag}}%{?dist}
|
Release: 0.5%{?rctag:.%{rctag}}%{?dist}
|
||||||
|
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://www.mesa3d.org
|
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
|
Patch13: glvnd-fix-gl-dot-pc.patch
|
||||||
Patch14: 0001-Fix-linkage-against-shared-glapi.patch
|
Patch14: 0001-Fix-linkage-against-shared-glapi.patch
|
||||||
Patch15: 0001-glapi-Link-with-glapi-when-built-shared.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
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
@ -686,6 +688,10 @@ popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 6 2017 Hans de Goede <hdegoede@redhat.com> - 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 <hdegoede@redhat.com> - 17.0.0-0.4.rc2
|
* Thu Feb 2 2017 Hans de Goede <hdegoede@redhat.com> - 17.0.0-0.4.rc2
|
||||||
- Update eglext.h to 20161230 version this brings in some new defines needed
|
- Update eglext.h to 20161230 version this brings in some new defines needed
|
||||||
by some apps / libraries
|
by some apps / libraries
|
||||||
|
|
Loading…
Reference in a new issue