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:
committed by
Marge Bot
parent
cc3c8c241e
commit
1eab7e69e2
+8
-1
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user