diff options
Diffstat (limited to 'src/glx/glxext.c')
-rw-r--r-- | src/glx/glxext.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/glx/glxext.c b/src/glx/glxext.c index bea1ccb10a2..c6e4d9f5738 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -770,7 +770,9 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv) for (i = 0; i < screens; i++, psc++) { psc = NULL; #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) - if (priv->dri2Display) + if (priv->dri3Display) + psc = (*priv->dri3Display->createScreen) (i, priv); + if (psc == NULL && priv->dri2Display) psc = (*priv->dri2Display->createScreen) (i, priv); if (psc == NULL && priv->driDisplay) psc = (*priv->driDisplay->createScreen) (i, priv); @@ -863,6 +865,8 @@ __glXInitialize(Display * dpy) ** (e.g., those called in AllocAndFetchScreenConfigs). */ if (glx_direct && glx_accel) { + if (!getenv("LIBGL_DRI3_DISABLE")) + dpyPriv->dri3Display = dri3_create_display(dpy); dpyPriv->dri2Display = dri2CreateDisplay(dpy); dpyPriv->driDisplay = driCreateDisplay(dpy); } |