Only try to call DRI function if DRI got initialized properly.

This commit is contained in:
Kristian Høgsberg
2008-03-10 17:59:46 -04:00
parent 7c7fece977
commit 3731159ec6
2 changed files with 7 additions and 4 deletions
+5 -3
View File
@@ -360,6 +360,10 @@ CreateContext(Display *dpy, XVisualInfo *vis,
Bool use_glx_1_3, int renderType)
{
GLXContext gc;
#ifdef GLX_DIRECT_RENDERING
int screen = (fbconfig == NULL) ? vis->screen : fbconfig->screen;
__GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen);
#endif
if ( dpy == NULL )
return NULL;
@@ -373,9 +377,7 @@ CreateContext(Display *dpy, XVisualInfo *vis,
return NULL;
#ifdef GLX_DIRECT_RENDERING
if (allowDirect) {
int screen = (fbconfig == NULL) ? vis->screen : fbconfig->screen;
__GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen);
if (allowDirect && psc->driScreen) {
const __GLcontextModes * mode;
if (fbconfig == NULL) {
+2 -1
View File
@@ -771,7 +771,8 @@ static Bool AllocAndFetchScreenConfigs(Display *dpy, __GLXdisplayPrivate *priv)
psc->scr = i;
psc->dpy = dpy;
#ifdef GLX_DIRECT_RENDERING
psc->driScreen = (*priv->driDisplay->createScreen)(psc, i, priv);
if (priv->driDisplay)
psc->driScreen = (*priv->driDisplay->createScreen)(psc, i, priv);
#endif
}
SyncHandle();