summaryrefslogtreecommitdiffstats
path: root/src/glx/query_renderer.c
diff options
context:
space:
mode:
authorColin McDonald <[email protected]>2016-06-22 19:19:30 -0700
committerMatt Turner <[email protected]>2016-07-08 14:03:16 -0700
commitb36644bae611d608cee8ef0d5dd1200313234b73 (patch)
treedec06237c336400a1030153dd6b2497a03725766 /src/glx/query_renderer.c
parent5ced100bf522f123978adeebe763cd60d7402c68 (diff)
glx: Fix indirect multi-texture GL_DOUBLE coordinate arrays.
There is no draw arrays protocol support for multi-texture coordinate arrays, so it is implemented by sending batches of immediate mode commands from emit_element_none in indirect_vertex_array.c. This sends the target texture unit (which has been previously setup in the array_state header field), followed by the texture coordinates. But for GL_DOUBLE coordinates the texture unit must be sent *after* the texture coordinates. This is documented in the glx protocol description, and can also be seen in the indirect.c immediate mode commands generated from gl_API.xml. Sending the target texture unit in the wrong place can crash the remote X server. To fix this required some more extensive changes to indirect_vertex_array.c and indirect_vertex_array_priv.h, in order to remove the texture unit value out of the array_state "header" field, and send it separately. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61907
Diffstat (limited to 'src/glx/query_renderer.c')
0 files changed, 0 insertions, 0 deletions