glx: Lower GLX opcode lookup into SendMakeCurrentRequest

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Adam Jackson 2017-11-09 16:57:29 -05:00
parent 93200ea26d
commit bc1bc6f512
1 changed files with 7 additions and 9 deletions

View File

@ -62,13 +62,13 @@ indirect_destroy_context(struct glx_context *gc)
}
static Bool
SendMakeCurrentRequest(Display * dpy, CARD8 opcode,
GLXContextID gc_id, GLXContextTag gc_tag,
GLXDrawable draw, GLXDrawable read,
GLXContextTag *out_tag)
SendMakeCurrentRequest(Display * dpy, GLXContextID gc_id,
GLXContextTag gc_tag, GLXDrawable draw,
GLXDrawable read, GLXContextTag *out_tag)
{
xGLXMakeCurrentReply reply;
Bool ret;
int opcode = __glXSetupForCommand(dpy);
LockDisplay(dpy);
@ -136,7 +136,6 @@ indirect_bind_context(struct glx_context *gc, struct glx_context *old,
{
GLXContextTag tag;
Display *dpy = gc->psc->dpy;
int opcode = __glXSetupForCommand(dpy);
Bool sent;
if (old != &dummyContext && !old->isDirect && old->psc->dpy == dpy) {
@ -146,7 +145,7 @@ indirect_bind_context(struct glx_context *gc, struct glx_context *old,
tag = 0;
}
sent = SendMakeCurrentRequest(dpy, opcode, gc->xid, tag, draw, read,
sent = SendMakeCurrentRequest(dpy, gc->xid, tag, draw, read,
&gc->currentContextTag);
if (!IndirectAPI)
@ -160,7 +159,6 @@ static void
indirect_unbind_context(struct glx_context *gc, struct glx_context *new)
{
Display *dpy = gc->psc->dpy;
int opcode = __glXSetupForCommand(dpy);
if (gc == new)
return;
@ -170,8 +168,8 @@ indirect_unbind_context(struct glx_context *gc, struct glx_context *new)
* to send a request to the dpy to unbind the previous context.
*/
if (!new || new->isDirect || new->psc->dpy != dpy) {
SendMakeCurrentRequest(dpy, opcode, None,
gc->currentContextTag, None, None, NULL);
SendMakeCurrentRequest(dpy, None, gc->currentContextTag, None, None,
NULL);
gc->currentContextTag = 0;
}
}