Mark GenQueriesARB at 'always_array="true"'. This eliminates the need

to special-case the handling of that function in glX_proto_send.py.
This commit is contained in:
Ian Romanick
2005-06-22 17:11:20 +00:00
parent 814e5360b0
commit 2636e853f6
3 changed files with 4 additions and 4 deletions

View File

@@ -7624,12 +7624,12 @@ __indirect_glGenQueriesARB(GLsizei n, GLuint * ids)
XCBConnection *c = XCBConnectionOfDisplay(dpy);
(void) __glXFlushRenderBuffer(gc, gc->pc);
XCBGlxGenQueriesARBRep *reply = XCBGlxGenQueriesARBReply(c, XCBGlxGenQueriesARB(c, gc->currentContextTag, n), NULL);
(void)memcpy(ids, XCBGlxGenQueriesARBData(reply), XCBGlxGenQueriesARBDataLength(reply) * sizeof(GLuint));
ids = (GLuint *)XCBGlxGenQueriesARBData(reply);
free(reply);
#else
GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenQueriesARB, cmdlen);
(void) memcpy((void *)(pc + 0), (void *)(&n), 4);
(void) __glXReadReply(dpy, 4, ids, GL_FALSE);
(void) __glXReadReply(dpy, 4, ids, GL_TRUE);
UnlockDisplay(dpy); SyncHandle();
#endif /* USE_XCB */
}

View File

@@ -576,7 +576,7 @@ generic_%u_byte( GLint rop, const void * ptr )
if output and f.reply_always_array:
print ' %s = (%s)%sData(reply);' % (output.name, output.type_string(), xcb_name)
elif output and not f.reply_always_array:
if not output.is_image() and not f.name == "GenQueriesARB":
if not output.is_image():
print ' if (%sDataLength(reply) == 0)' % (xcb_name)
print ' (void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (output.name)
print ' else'

View File

@@ -6721,7 +6721,7 @@
<function name="GenQueriesARB" offset="700">
<param name="n" type="GLsizei" counter="true"/>
<param name="ids" type="GLuint *" output="true" count="n"/>
<glx sop="162"/>
<glx sop="162" always_array="true"/>
</function>
<function name="DeleteQueriesARB" offset="701">