mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 12:20:15 +01:00
Since changing 2 fields to 8 bits and the removal of cmd_size, call sizes have decreased by 4 bytes, so we have 4 unused bytes in most DrawElements structures. So far we have used these calls for all DrawElements variants: - DrawElementsBaseVertex - DrawElementsInstanced - DrawElementsInstancedBaseVertexBaseInstance - DrawElementsInstancedBaseVertexBaseInstanceDrawID Change them to these by either removing 4 more bytes or adding 4 bytes, so that we don't waste space. - DrawElements - DrawElementsInstancedBaseVertex - DrawElementsInstancedBaseInstance - DrawElementsInstancedBaseVertexBaseInstanceDrawID This decreases the size of 1 frame in glthread batches by 12% in Viewperf2020/Catia1. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27350>
43 lines
1.4 KiB
XML
43 lines
1.4 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
|
|
|
|
<!-- Note: no GLX protocol info yet. -->
|
|
|
|
|
|
<OpenGLAPI>
|
|
|
|
<category name="GL_ARB_base_instance" number="107">
|
|
|
|
<function name="DrawArraysInstancedBaseInstance" marshal="custom" exec="dlist"
|
|
marshal_struct="public" marshal_no_error="true">
|
|
<param name="mode" type="GLenum"/>
|
|
<param name="first" type="GLint"/>
|
|
<param name="count" type="GLsizei"/>
|
|
<param name="instance_count" type="GLsizei"/>
|
|
<param name="baseinstance" type="GLuint"/>
|
|
</function>
|
|
|
|
<function name="DrawElementsInstancedBaseInstance" marshal="custom" exec="dlist"
|
|
marshal_no_error="true" marshal_struct="public">
|
|
<param name="mode" type="GLenum"/>
|
|
<param name="count" type="GLsizei"/>
|
|
<param name="type" type="GLenum"/>
|
|
<param name="indices" type="const GLvoid *"/>
|
|
<param name="primcount" type="GLsizei"/>
|
|
<param name="baseinstance" type="GLuint"/>
|
|
</function>
|
|
|
|
<function name="DrawElementsInstancedBaseVertexBaseInstance" marshal="custom" exec="dlist"
|
|
marshal_no_error="true">
|
|
<param name="mode" type="GLenum"/>
|
|
<param name="count" type="GLsizei"/>
|
|
<param name="type" type="GLenum"/>
|
|
<param name="indices" type="const GLvoid *"/>
|
|
<param name="instance_count" type="GLsizei"/>
|
|
<param name="basevertex" type="GLint"/>
|
|
<param name="baseinstance" type="GLuint"/>
|
|
</function>
|
|
|
|
</category>
|
|
|
|
</OpenGLAPI>
|