glx: fix indirect initialization crash

Fixes: b090246a ("glx: Only compute client GL extensions for indirect contexts")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8393

Reviewed-by: Adam Jackson <ajax@redhat.com>

Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21591>
This commit is contained in:
Illia Polishchuk
2023-02-28 16:07:59 +02:00
committed by Marge Bot
parent cc3c8c241e
commit 1eab7e69e2
2 changed files with 8 additions and 2 deletions
+8 -1
View File
@@ -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;
-1
View File
@@ -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;