mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 09:20:13 +01:00
glx: Fix indirect screen initialization
https://bugs.freedesktop.org/show_bug.cgi?id=29225
This commit is contained in:
parent
c796bb0cc3
commit
b5dedd7c3b
1 changed files with 7 additions and 2 deletions
|
|
@ -739,12 +739,16 @@ glx_screen_init(__GLXscreenConfigs *psc,
|
|||
}
|
||||
|
||||
static __GLXscreenConfigs *
|
||||
createIndirectScreen()
|
||||
createIndirectScreen(int screen, __GLXdisplayPrivate * priv)
|
||||
{
|
||||
__GLXscreenConfigs *psc;
|
||||
|
||||
psc = Xmalloc(sizeof *psc);
|
||||
if (psc == NULL)
|
||||
return NULL;
|
||||
|
||||
memset(psc, 0, sizeof *psc);
|
||||
glx_screen_init(psc, screen, priv);
|
||||
|
||||
return psc;
|
||||
}
|
||||
|
|
@ -775,6 +779,7 @@ AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)
|
|||
}
|
||||
|
||||
for (i = 0; i < screens; i++, psc++) {
|
||||
psc = NULL;
|
||||
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
|
||||
if (priv->dri2Display)
|
||||
psc = (*priv->dri2Display->createScreen) (i, priv);
|
||||
|
|
@ -782,9 +787,9 @@ AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)
|
|||
psc = (*priv->driDisplay->createScreen) (i, priv);
|
||||
if (psc == NULL && priv->driswDisplay)
|
||||
psc = (*priv->driswDisplay->createScreen) (i, priv);
|
||||
#endif
|
||||
if (psc == NULL)
|
||||
psc = createIndirectScreen (i, priv);
|
||||
#endif
|
||||
priv->screenConfigs[i] = psc;
|
||||
}
|
||||
SyncHandle();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue