diff options
-rw-r--r-- | nx-X11/programs/Xserver/GL/glx/glxext.c | 7 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/NXglxext.c | 54 |
2 files changed, 5 insertions, 56 deletions
diff --git a/nx-X11/programs/Xserver/GL/glx/glxext.c b/nx-X11/programs/Xserver/GL/glx/glxext.c index 4f2d2082d..328b0a3cf 100644 --- a/nx-X11/programs/Xserver/GL/glx/glxext.c +++ b/nx-X11/programs/Xserver/GL/glx/glxext.c @@ -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) { diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglxext.c b/nx-X11/programs/Xserver/hw/nxagent/NXglxext.c index 9d0f4f719..7af295eac 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXglxext.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXglxext.c @@ -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; |