aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/programs/Xserver/GL/glx/glxext.c7
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXglxext.c54
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;