aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/glxext.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/glx/glxext.c')
-rw-r--r--xorg-server/glx/glxext.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c
index 83b85e7c0..0436e2cff 100644
--- a/xorg-server/glx/glxext.c
+++ b/xorg-server/glx/glxext.c
@@ -332,9 +332,15 @@ GlxExtensionInit(void)
ExtensionEntry *extEntry;
ScreenPtr pScreen;
int i;
- __GLXprovider *p;
+ __GLXprovider *p, **stack;
Bool glx_provided = False;
+ if (serverGeneration == 1) {
+ for (stack = &__glXProviderStack; *stack; stack = &(*stack)->next)
+ ;
+ *stack = &__glXDRISWRastProvider;
+ }
+
__glXContextRes = CreateNewResourceType((DeleteType) ContextGone,
"GLXContext");
__glXDrawableRes = CreateNewResourceType((DeleteType) DrawableGone,
@@ -342,12 +348,6 @@ GlxExtensionInit(void)
if (!__glXContextRes || !__glXDrawableRes)
return;
- if (serverGeneration == 1)
- {
- GlxPushProvider(&__glXDRISWRastProvider);
- glxWinPushNativeProvider();
- }
-
if (!dixRegisterPrivateKey
(&glxClientPrivateKeyRec, PRIVATE_CLIENT, sizeof(__GLXclientState)))
return;