Mesa (master): glx: xcbified __glXClientInfo

Brian Paul brianp at kemper.freedesktop.org
Wed Nov 26 17:04:00 UTC 2008


Module: Mesa
Branch: master
Commit: 66db1b64e85a2225dff930d3bb9e1194bde75622
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=66db1b64e85a2225dff930d3bb9e1194bde75622

Author: RALOVICH, Kristóf <tade60 at freemail.hu>
Date:   Tue Nov  4 12:41:55 2008 +0100

glx: xcbified __glXClientInfo

---

 src/glx/x11/glxcmds.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/glx/x11/glxcmds.c b/src/glx/x11/glxcmds.c
index 0bb548f..93fc40c 100644
--- a/src/glx/x11/glxcmds.c
+++ b/src/glx/x11/glxcmds.c
@@ -254,6 +254,10 @@ GLXContext AllocateGLXContext( Display *dpy )
      CARD8 opcode;
     __GLXattribute *state;
 
+#ifdef USE_XCB
+    printf("USE_XCB\n");
+#endif
+
     if (!dpy)
         return NULL;
 
@@ -1399,9 +1403,18 @@ PUBLIC const char *glXQueryServerString( Display *dpy, int screen, int name )
 
 void __glXClientInfo (  Display *dpy, int opcode  )
 {
-    xGLXClientInfoReq *req;
-    int size;
     char * ext_str = __glXGetClientGLExtensionString();
+    int size = strlen( ext_str ) + 1;
+
+#ifdef USE_XCB
+   xcb_connection_t *c = XGetXCBConnection(dpy);
+   xcb_glx_client_info(c,
+                       GLX_MAJOR_VERSION,
+                       GLX_MINOR_VERSION,
+                       size,
+                       (const uint8_t *)ext_str);
+#else
+    xGLXClientInfoReq *req;
 
     /* Send the glXClientInfo request */
     LockDisplay(dpy);
@@ -1411,14 +1424,14 @@ void __glXClientInfo (  Display *dpy, int opcode  )
     req->major = GLX_MAJOR_VERSION;
     req->minor = GLX_MINOR_VERSION;
 
-    size = strlen( ext_str ) + 1;
     req->length += (size + 3) >> 2;
     req->numbytes = size;
     Data(dpy, ext_str, size);
 
     UnlockDisplay(dpy);
     SyncHandle();
-    
+#endif /* USE_XCB */
+
     Xfree( ext_str );
 }
 




More information about the mesa-commit mailing list