diff options
author | Marek Olšák <marek.olsak@amd.com> | 2022-12-26 09:53:28 -0500 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2023-02-18 09:31:41 -0500 |
commit | cabc08a184aa3ab4e8c4b8657fa88704290b2871 (patch) | |
tree | 92908e431196011dd23f2965da163a2c769dfb0d /src/mapi | |
parent | 72b336dbdcb39e595aaf00746c55125b085d7725 (diff) | |
download | mesa-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.xml | 14 | ||||
-rw-r--r-- | src/mapi/glapi/gen/ARB_indirect_parameters.xml | 6 |
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"/> |