summaryrefslogtreecommitdiff
path: root/src/glx
diff options
context:
space:
mode:
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/glxext.c9
-rw-r--r--src/glx/indirect_glx.c1
2 files changed, 8 insertions, 2 deletions
diff --git a/src/glx/glxext.c b/src/glx/glxext.c
index 755a75ab568..4b3496b5a14 100644
--- a/src/glx/glxext.c
+++ b/src/glx/glxext.c
@@ -813,10 +813,17 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv)
if (psc == NULL)
psc = applegl_create_screen(i, priv);
#else
+ bool indirect = false;
if (psc == NULL)
- psc = indirect_create_screen(i, priv);
+ {
+ psc = indirect_create_screen(i, priv);
+ indirect = true;
+ }
#endif
priv->screens[i] = psc;
+
+ if(indirect) /* Load extensions required only for indirect glx */
+ glxSendClientInfo(priv, i);
}
SyncHandle();
return GL_TRUE;
diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c
index dc3464fc99e..abe561f700b 100644
--- a/src/glx/indirect_glx.c
+++ b/src/glx/indirect_glx.c
@@ -365,7 +365,6 @@ indirect_create_screen(int screen, struct glx_display * priv)
return NULL;
glx_screen_init(psc, screen, priv);
- glxSendClientInfo(priv, screen);
psc->vtable = &indirect_screen_vtable;
return psc;