[Mesa-dev] [PATCH] glx/glvnd: Fix GLXdispatchIndex sorting

Eric Engestrom eric.engestrom at imgtec.com
Tue Feb 14 17:26:08 UTC 2017


On Monday, 2017-02-06 14:09:11 +0100, Hans de Goede wrote:
> 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 at lists.freedesktop.org>
> Cc: "17.0" <mesa-stable at lists.freedesktop.org>
> Cc: Adam Jackson <ajax at redhat.com>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.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
> 


More information about the mesa-dev mailing list