summaryrefslogtreecommitdiff
path: root/src/mapi
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2022-12-26 09:53:28 -0500
committerMarek Olšák <marek.olsak@amd.com>2023-02-18 09:31:41 -0500
commitcabc08a184aa3ab4e8c4b8657fa88704290b2871 (patch)
tree92908e431196011dd23f2965da163a2c769dfb0d /src/mapi
parent72b336dbdcb39e595aaf00746c55125b085d7725 (diff)
downloadmesa-cabc08a184aa3ab4e8c4b8657fa88704290b2871.tar.gz
glthread: convert (Multi)DrawIndirect into direct if user buffers are present
so that user buffers are uploaded without syncing. Now glthread fully handles non-VBO uploads, so that we can disable user buffer codepaths in st/mesa. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20624>
Diffstat (limited to 'src/mapi')
-rw-r--r--src/mapi/glapi/gen/ARB_draw_indirect.xml14
-rw-r--r--src/mapi/glapi/gen/ARB_indirect_parameters.xml6
2 files changed, 6 insertions, 14 deletions
diff --git a/src/mapi/glapi/gen/ARB_draw_indirect.xml b/src/mapi/glapi/gen/ARB_draw_indirect.xml
index feb6588de35..398720e0b19 100644
--- a/src/mapi/glapi/gen/ARB_draw_indirect.xml
+++ b/src/mapi/glapi/gen/ARB_draw_indirect.xml
@@ -8,16 +8,12 @@
<enum name="DRAW_INDIRECT_BUFFER" value="0x8F3F"/>
<enum name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43"/>
- <function name="DrawArraysIndirect" es2="3.1" exec="dlist"
- marshal="async"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indirect(ctx)">
+ <function name="DrawArraysIndirect" es2="3.1" exec="dlist" marshal="custom">
<param name="mode" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
</function>
- <function name="DrawElementsIndirect" es2="3.1" exec="dlist"
- marshal="async"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices_or_indirect(ctx)">
+ <function name="DrawElementsIndirect" es2="3.1" exec="dlist" marshal="custom">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
@@ -28,16 +24,14 @@
<category name="GL_ARB_multi_draw_indirect" number="133">
- <function name="MultiDrawArraysIndirect" marshal="async" exec="dlist"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indirect(ctx)">
+ <function name="MultiDrawArraysIndirect" marshal="custom" exec="dlist">
<param name="mode" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
<param name="primcount" type="GLsizei"/>
<param name="stride" type="GLsizei"/>
</function>
- <function name="MultiDrawElementsIndirect" marshal="async" exec="dlist"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices_or_indirect(ctx)">
+ <function name="MultiDrawElementsIndirect" marshal="custom" exec="dlist">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
diff --git a/src/mapi/glapi/gen/ARB_indirect_parameters.xml b/src/mapi/glapi/gen/ARB_indirect_parameters.xml
index f08201d4a22..89250abab1d 100644
--- a/src/mapi/glapi/gen/ARB_indirect_parameters.xml
+++ b/src/mapi/glapi/gen/ARB_indirect_parameters.xml
@@ -8,8 +8,7 @@
<enum name="PARAMETER_BUFFER_ARB" value="0x80EE"/>
<enum name="PARAMETER_BUFFER_BINDING_ARB" value="0x80EF"/>
- <function name="MultiDrawArraysIndirectCountARB"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices(ctx)">
+ <function name="MultiDrawArraysIndirectCountARB" marshal="custom">
<param name="mode" type="GLenum"/>
<param name="indirect" type="GLintptr"/>
<param name="drawcount" type="GLintptr"/>
@@ -18,8 +17,7 @@
</function>
<!-- Use "...has_non_vbo_vertices", because indices always come from a buffer object. -->
- <function name="MultiDrawElementsIndirectCountARB"
- marshal_sync="_mesa_glthread_has_non_vbo_vertices(ctx)">
+ <function name="MultiDrawElementsIndirectCountARB" marshal="custom">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="indirect" type="GLintptr"/>