summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/glx/x11/indirect.c4
-rw-r--r--src/mesa/glapi/glX_proto_send.py2
-rw-r--r--src/mesa/glapi/gl_API.xml2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/glx/x11/indirect.c b/src/glx/x11/indirect.c
index 83a2d563abf..42e961e5f3f 100644
--- a/src/glx/x11/indirect.c
+++ b/src/glx/x11/indirect.c
@@ -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 */
}
diff --git a/src/mesa/glapi/glX_proto_send.py b/src/mesa/glapi/glX_proto_send.py
index 501b514b556..6a4d1dfc0d4 100644
--- a/src/mesa/glapi/glX_proto_send.py
+++ b/src/mesa/glapi/glX_proto_send.py
@@ -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'
diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml
index 49eb6d17e20..2085f0d44ae 100644
--- a/src/mesa/glapi/gl_API.xml
+++ b/src/mesa/glapi/gl_API.xml
@@ -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">