glthread: add API to allow passing DrawID from glthread to mesa

This will be needed for lowering DrawIndirect in glthread, which is
needed if non-VBO vertex arrays are present.

This only adds the drawid parameter in glthread's draw_arrays and
draw_elements functions, and implements where needed.

New GL API functions are added because we want to use separate
DISPATCH_CMD_* enums for draws with DrawID, so that we don't increase
the memory footprint of draws in glthread batches if drawid == 0.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20624>
This commit is contained in:
Marek Olšák
2022-12-26 09:48:02 -05:00
parent aabca21c7e
commit 72b336dbdc
5 changed files with 163 additions and 24 deletions
+8
View File
@@ -12964,6 +12964,14 @@
<param name="primcount" type="GLsizei"/>
<param name="basevertex" type="const GLint *" count="primcount"/>
</function>
<function name="DrawArraysInstancedBaseInstanceDrawID" es1="1.0" es2="2.0"
marshal="custom">
</function>
<function name="DrawElementsInstancedBaseVertexBaseInstanceDrawID"
es1="1.0" es2="2.0" marshal="custom">
</function>
</category>
<xi:include href="OES_EGL_image.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>