[Xcb] GLX patches

Jamey Sharp jamey at minilop.net
Fri May 6 23:17:46 PDT 2005


On Fri, 2005-05-06 at 13:53 -0400, Jeremy Kolb wrote:
> Okay, here are my patches for making indirect glx work with XCB.  The 
> first one for glX_proto_send.py adds support for generating the XCB code 
> to handle the single requests (not vendor or render requests).
> 
> The second one for glxext.c uses XCB to send Render/RenderLarge using XCB.

That is *so awesome*. It looks perfect so far. Things like the
RenderLarge code are classic examples of translating Xlibint-based stuff
to XCB. Do you even need a Mesa function dedicated to generating
RenderLarge requests at that point?

Do you expect it to be hard to implement vendor or render requests?
You're done with final exams for the moment so you should be able to
implement those requests in a couple hours, right? :-)

Just one complaint: please try to undo the whitespace patch components
of your changes. There are a few lines where you've added stray tabs or
something to otherwise blank lines; I've picked them out below.

Anyway, so yeah. This is cool. Thanks. :-)
--Jamey

> Index: glX_proto_send.py
> ===================================================================
> RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glX_proto_send.py,v
> retrieving revision 1.24
> diff -u -d -r1.24 glX_proto_send.py
> --- glX_proto_send.py	18 Apr 2005 19:42:23 -0000	1.24
> +++ glX_proto_send.py	6 May 2005 17:50:08 -0000
> @@ -411,10 +417,57 @@
>  
>  	def printSingleFunction(self, f):
>  		self.common_func_print_header(f)
> -
> +		
>  		if self.debug:
...
> @@ -678,7 +733,7 @@
>  		# regular.  Since they are so regular and there are so many
>  		# of them, special case them with generic functions.  On
>  		# x86, this saves about 26KB in the libGL.so binary.
> -
> +		

> Index: glxext.c
> ===================================================================
> RCS file: /cvs/mesa/Mesa/src/glx/x11/glxext.c,v
> retrieving revision 1.8
> diff -u -d -r1.8 glxext.c
> --- glxext.c	18 Apr 2005 16:59:53 -0000	1.8
> +++ glxext.c	6 May 2005 06:07:33 -0000
> @@ -1047,7 +1053,7 @@
>  	    fb_req->glxCode = X_GLXGetFBConfigs;
>  	    fb_req->screen = i;
>  	    break;
> -	    
> +	   
>  	    case 2:
>  	    GetReqExtra(GLXVendorPrivateWithReply,
>  			sz_xGLXGetFBConfigsSGIXReq-sz_xGLXVendorPrivateWithReplyReq,vpreq);
> @@ -1392,8 +1406,12 @@
>  			 const GLvoid * data, GLint dataLen)
>  {
...
>      xGLXRenderLargeReq *req;
> -
> +    
>      if ( requestNumber == 1 ) {
>  	LockDisplay(dpy);
>      }




More information about the xcb mailing list