Unverified Commit 1ae0ceb7 authored by Mike Gabriel's avatar Mike Gabriel

Merge branch 'uli42-pr/simplify_glxext' into 3.6.x

parents eb8c16ef f3bddad4
......@@ -387,12 +387,15 @@ __GLXcontext *__glXForceCurrent(__GLXclientState *cl, GLXContextTag tag,
/************************************************************************/
#ifndef NXAGENT_SERVER
/*
** Top level dispatcher; all commands are executed from here down.
*/
#ifdef NXAGENT_SERVER
static int xorg__glXDispatch(ClientPtr client)
#else
static int __glXDispatch(ClientPtr client)
#endif
{
REQUEST(xGLXSingleReq);
CARD8 opcode;
......@@ -449,8 +452,6 @@ static int __glXDispatch(ClientPtr client)
return (*proc)(cl, (GLbyte *) stuff);
}
#endif /* NXAGENT_SERVER */
int __glXNoSuchSingleOpcode(__GLXclientState *cl, GLbyte *pc)
{
......
......@@ -57,60 +57,8 @@
*/
static int __glXDispatch(ClientPtr client)
{
REQUEST(xGLXSingleReq);
CARD8 opcode;
int (*proc)(__GLXclientState *cl, GLbyte *pc);
__GLXclientState *cl;
int retval;
opcode = stuff->glxCode;
cl = __glXClients[client->index];
if (!cl) {
cl = (__GLXclientState *) malloc(sizeof(__GLXclientState));
__glXClients[client->index] = cl;
if (!cl) {
return BadAlloc;
}
memset(cl, 0, sizeof(__GLXclientState));
}
if (!cl->inUse) {
/*
** This is first request from this client. Associate a resource
** with the client so we will be notified when the client dies.
*/
XID xid = FakeClientID(client->index);
if (!AddResource( xid, __glXClientRes, (void *)(long)client->index)) {
return BadAlloc;
}
ResetClientState(client->index);
cl->inUse = GL_TRUE;
cl->client = client;
}
/*
** Check for valid opcode.
*/
if (opcode >= __GLX_SINGLE_TABLE_SIZE) {
return BadRequest;
}
/*
** If we're expecting a glXRenderLarge request, this better be one.
*/
if ((cl->largeCmdRequestsSoFar != 0) && (opcode != X_GLXRenderLarge)) {
client->errorValue = stuff->glxCode;
return __glXBadLargeRequest;
}
/*
** Use the opcode to index into the procedure table.
*/
if (client->swapped)
proc = __glXSwapSingleTable[opcode];
else
proc = __glXSingleTable[opcode];
/*
* Report upstream that we are
* dispatching a GLX operation.
......@@ -123,7 +71,7 @@ static int __glXDispatch(ClientPtr client)
opcode, client -> index);
#endif
retval = (*proc)(cl, (GLbyte *) stuff);
retval = xorg__glXDispatch(client);
nxagentGlxTrap = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment