glx: Move initialization of ext_list_first_time to where it's storage is allocated
authorBrian Paul <brianp@vmware.com>
Sat, 6 Mar 2010 00:32:36 +0000 (17:32 -0700)
committerBrian Paul <brianp@vmware.com>
Sat, 6 Mar 2010 00:32:36 +0000 (17:32 -0700)
commitae7b3a632dd3f3b005459d77b66a77948260f716
tree861b221d9a5bd81444a6954d64ccd3a8f3007694
parentc781e2841a25aeecac2f9af1a31ce129a530d796
glx: Move initialization of ext_list_first_time to where it's storage is allocated

Move the initialization of ext_list_first_time from all of the DRI loader's
CreateScreen routines, to where the storage for the screen config is
allocated.

It needs to get set in the screen-config even if DRI is forced off
using LIBGL_ALWAYS_INDIRECT, so that psc->direct_support is initialized
correctly, otherwise __glXExtensionBitIsEnabled() always returns FALSE

Specifically, this causes a problem with an X server which advertises
GLX<=1.2, and the GLX_SGIX_fbconfig extension.
glXGetFBConfigFromVisualSGIX() uses __glXExtensionBitIsEnabled() to
check if the GLX_SGIX_fbconfig extension is available, but that function
won't return correct information because that data has never been
initialized, because ext_list_first_time was never set...

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 96ab4d2b84178209ee59017458d9964b32b7e183)
src/glx/dri2_glx.c
src/glx/dri_glx.c
src/glx/drisw_glx.c
src/glx/glxext.c