[Xcb] Another glX_proto_send.py patch

Jeremy Kolb jkolb at brandeis.edu
Mon May 9 17:50:20 PDT 2005


This patch fixes a problem where python < 2.4.1 didn't recognise 
rsplit().  Idr pointed out a fix on #dri-devel.

Also, this adds support for the ARB single ops to use XCB now (glx.xml 
is updated in xcb-proto).

Jeremy
-------------- next part --------------
Index: glX_proto_send.py
===================================================================
RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glX_proto_send.py,v
retrieving revision 1.25
diff -u -d -r1.25 glX_proto_send.py
--- glX_proto_send.py	7 May 2005 17:14:50 -0000	1.25
+++ glX_proto_send.py	10 May 2005 00:39:54 -0000
@@ -420,7 +420,7 @@
 		
 		if self.debug:
 			print '        printf( "Enter %%s...\\n", "gl%s" );' % (f.name)
-		if f.glx_vendorpriv == 0 and f.opcode_name()[-3:] != "ARB" and f.opcode_name()[-2:] != "NV":
+		if f.glx_vendorpriv == 0:
 
 			# XCB specific:
 			print '#ifdef USE_XCB'
@@ -428,7 +428,7 @@
 				print '        printf("\\tUsing XCB.\\n");'
 			print '        XCBConnection *c = XCBConnectionOfDisplay(dpy);'
 			print '        (void) __glXFlushRenderBuffer(gc, gc->pc);'
-			xcb_name = 'XCBGlx%s' % (f.opcode_name().rsplit("_", 1)[1]);
+			xcb_name = 'XCBGlx%s' % f.name
 			iparams=[]
 			for p in f.fn_parameters:
 				if p.is_output == 0:
@@ -451,7 +451,7 @@
 				if f.output and f.reply_always_array:
 					print '        %s = (%s *)%sData(reply);' % (f.output.name, f.output.p_type.name, xcb_name)
 				elif f.output and not f.reply_always_array:
-					if not f.image:
+					if not f.image and not f.name == "GenQueriesARB":
 						print '        if (%sDataLength(reply) == 0)' % (xcb_name)
 						print '            %s = (%s *) &reply->datum;' % (f.output.name, f.output.p_type.name)
 						print '        else'
@@ -527,7 +527,7 @@
 
 		print '        UnlockDisplay(dpy); SyncHandle();'
 		
-		if f.glx_vendorpriv == 0 and f.opcode_name()[-3:] != "ARB" and f.opcode_name()[-2:] != "NV":
+		if f.glx_vendorpriv == 0:
 			print '#endif /* USE_XCB */'
 			
 		if self.debug:


More information about the xcb mailing list