summaryrefslogtreecommitdiff
path: root/src/glx/indirect_vertex_array_priv.h
AgeCommit message (Collapse)AuthorFilesLines
2016-07-08glx: Fix indirect multi-texture GL_DOUBLE coordinate arrays.Colin McDonald1-9/+3
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 <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61907
2010-02-09Retire miniglx and move the actual glx code up to src/glxKristian Høgsberg1-0/+311