diff options
-rw-r--r-- | src/glx/x11/indirect.c | 4 | ||||
-rw-r--r-- | src/mesa/glapi/glX_proto_send.py | 2 | ||||
-rw-r--r-- | src/mesa/glapi/gl_API.xml | 2 |
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"> |