*/
GLenum error;
+ /**
+ * Whether this context does direct rendering.
+ */
+ Bool isDirect;
+
/**
* \c dpy of current display for this context. Will be \c NULL if not
* current to any display, or if this is the "dummy context".
gc->fillImage = __glFillImage;
gc->pc = gc->buf;
gc->bufEnd = gc->buf + bufSize;
+ gc->isDirect = GL_FALSE;
if (__glXDebug) {
/*
** Set limit register so that there will be one command per packet
gc->screen = mode->screen;
gc->psc = psc;
gc->mode = mode;
+ gc->isDirect = GL_TRUE;
}
}
#endif
/* Send a glXMakeCurrent request to bind the new context. */
bindReturnValue =
SendMakeCurrentRequest(dpy, opcode, gc ? gc->xid : None,
- ((dpy != oldGC->currentDpy) || oldGC->driContext)
+ ((dpy != oldGC->currentDpy) || oldGC->isDirect)
? None : oldGC->currentContextTag,
draw, read, &reply);
}
}
if ((dpy != oldGC->currentDpy || (gc && gc->driContext)) &&
- !oldGC->driContext && oldGC != &dummyContext) {
+ !oldGC->isDirect && oldGC != &dummyContext) {
xGLXMakeCurrentReply dummy_reply;
/* We are either switching from one dpy to another and have to