mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 11:18:11 +02:00
It only checked whether the pointer was indices or indirect, but we can just determine the same thing manually for each draw call. Simplify it as follows: - if a call contains a pointer without count and it's either indirect or indices, set marshal="async". The marshal_sync attribute still determines when it syncs. - if a call doesn't contain any pointer without count, remove the marshal attribute Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8297>
33 lines
1.2 KiB
XML
33 lines
1.2 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
|
|
|
|
<OpenGLAPI>
|
|
|
|
<category name="GL_ARB_draw_indirect" number="154">
|
|
|
|
<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)">
|
|
<param name="mode" type="GLenum"/>
|
|
<param name="indirect" type="GLintptr"/>
|
|
<param name="drawcount" type="GLintptr"/>
|
|
<param name="maxdrawcount" type="GLsizei"/>
|
|
<param name="stride" type="GLsizei"/>
|
|
</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)">
|
|
<param name="mode" type="GLenum"/>
|
|
<param name="type" type="GLenum"/>
|
|
<param name="indirect" type="GLintptr"/>
|
|
<param name="drawcount" type="GLintptr"/>
|
|
<param name="maxdrawcount" type="GLsizei"/>
|
|
<param name="stride" type="GLsizei"/>
|
|
</function>
|
|
|
|
</category>
|
|
|
|
</OpenGLAPI>
|