summaryrefslogtreecommitdiffstats
path: root/src/mapi
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2020-02-18 23:13:50 -0500
committerMarge Bot <[email protected]>2020-03-06 01:06:14 +0000
commitd00f36ac25b25402c4d81a0229a703a1b84fc40c (patch)
treead56840514a6143e42b851deb679a2023b686707 /src/mapi
parentfb95a4693f05b8a64d61267409fcdce937dd3383 (diff)
glthread: add/update count and marshal fields for many GL functions
Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3948>
Diffstat (limited to 'src/mapi')
-rw-r--r--src/mapi/glapi/gen/AMD_performance_monitor.xml4
-rw-r--r--src/mapi/glapi/gen/ARB_ES2_compatibility.xml4
-rw-r--r--src/mapi/glapi/gen/ARB_base_instance.xml3
-rw-r--r--src/mapi/glapi/gen/ARB_bindless_texture.xml6
-rw-r--r--src/mapi/glapi/gen/ARB_direct_state_access.xml12
-rw-r--r--src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml6
-rw-r--r--src/mapi/glapi/gen/ARB_draw_indirect.xml14
-rw-r--r--src/mapi/glapi/gen/ARB_get_program_binary.xml2
-rw-r--r--src/mapi/glapi/gen/ARB_sampler_objects.xml2
-rw-r--r--src/mapi/glapi/gen/ARB_separate_shader_objects.xml2
-rw-r--r--src/mapi/glapi/gen/ARB_shader_subroutine.xml2
-rw-r--r--src/mapi/glapi/gen/ARB_shading_language_include.xml14
-rw-r--r--src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml11
-rw-r--r--src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml38
-rw-r--r--src/mapi/glapi/gen/EXT_direct_state_access.xml29
-rw-r--r--src/mapi/glapi/gen/EXT_external_objects.xml16
-rw-r--r--src/mapi/glapi/gen/EXT_gpu_shader4.xml12
-rw-r--r--src/mapi/glapi/gen/EXT_transform_feedback.xml2
-rw-r--r--src/mapi/glapi/gen/EXT_window_rectangles.xml2
-rw-r--r--src/mapi/glapi/gen/GL3x.xml12
-rw-r--r--src/mapi/glapi/gen/KHR_debug.xml8
-rw-r--r--src/mapi/glapi/gen/NV_vdpau_interop.xml4
-rw-r--r--src/mapi/glapi/gen/es_EXT.xml5
-rw-r--r--src/mapi/glapi/gen/gl_API.xml63
24 files changed, 141 insertions, 132 deletions
diff --git a/src/mapi/glapi/gen/AMD_performance_monitor.xml b/src/mapi/glapi/gen/AMD_performance_monitor.xml
index 785ea076c6f..24d177c5a85 100644
--- a/src/mapi/glapi/gen/AMD_performance_monitor.xml
+++ b/src/mapi/glapi/gen/AMD_performance_monitor.xml
@@ -48,7 +48,7 @@
<function name="DeletePerfMonitorsAMD" es2="2.0">
<param name="n" type="GLsizei"/>
- <param name="monitors" type="GLuint *"/>
+ <param name="monitors" type="GLuint *" count="n"/>
</function>
<function name="SelectPerfMonitorCountersAMD" es2="2.0">
@@ -56,7 +56,7 @@
<param name="enable" type="GLboolean"/>
<param name="group" type="GLuint"/>
<param name="numCounters" type="GLint"/>
- <param name="counterList" type="GLuint *"/>
+ <param name="counterList" type="GLuint *" count="numCounters"/>
</function>
<function name="BeginPerfMonitorAMD" es2="2.0">
diff --git a/src/mapi/glapi/gen/ARB_ES2_compatibility.xml b/src/mapi/glapi/gen/ARB_ES2_compatibility.xml
index c96e71c44f2..f1112ac57be 100644
--- a/src/mapi/glapi/gen/ARB_ES2_compatibility.xml
+++ b/src/mapi/glapi/gen/ARB_ES2_compatibility.xml
@@ -30,9 +30,9 @@
<function name="ShaderBinary" es2="2.0">
<param name="n" type="GLsizei"/>
- <param name="shaders" type="const GLuint *"/>
+ <param name="shaders" type="const GLuint *" count="n"/>
<param name="binaryformat" type="GLenum"/>
- <param name="binary" type="const GLvoid *"/>
+ <param name="binary" type="const GLvoid *" count="length"/>
<param name="length" type="GLsizei"/>
</function>
diff --git a/src/mapi/glapi/gen/ARB_base_instance.xml b/src/mapi/glapi/gen/ARB_base_instance.xml
index e3bbcd198e8..92892c29078 100644
--- a/src/mapi/glapi/gen/ARB_base_instance.xml
+++ b/src/mapi/glapi/gen/ARB_base_instance.xml
@@ -8,8 +8,7 @@
<category name="GL_ARB_base_instance" number="107">
- <function name="DrawArraysInstancedBaseInstance" exec="dynamic" marshal="draw"
- marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
+ <function name="DrawArraysInstancedBaseInstance" exec="dynamic" marshal="draw">
<param name="mode" type="GLenum"/>
<param name="first" type="GLint"/>
<param name="count" type="GLsizei"/>
diff --git a/src/mapi/glapi/gen/ARB_bindless_texture.xml b/src/mapi/glapi/gen/ARB_bindless_texture.xml
index 762cadf6fea..2de4493c6c0 100644
--- a/src/mapi/glapi/gen/ARB_bindless_texture.xml
+++ b/src/mapi/glapi/gen/ARB_bindless_texture.xml
@@ -53,7 +53,7 @@
<function name="UniformHandleui64vARB">
<param name="location" type="GLint" />
<param name="count" type="GLsizei" />
- <param name="value" type="const GLuint64 *" />
+ <param name="value" type="const GLuint64 *" count="count"/>
</function>
<function name="ProgramUniformHandleui64ARB">
@@ -66,7 +66,7 @@
<param name="program" type="GLuint" />
<param name="location" type="GLint" />
<param name="count" type="GLsizei" />
- <param name="value" type="const GLuint64 *" />
+ <param name="value" type="const GLuint64 *" count="count"/>
</function>
<function name="IsTextureHandleResidentARB" no_error="true">
@@ -86,7 +86,7 @@
<function name="VertexAttribL1ui64vARB" exec="dynamic">
<param name="index" type="GLuint" />
- <param name="v" type="const GLuint64EXT *" />
+ <param name="v" type="const GLuint64EXT *" count="1"/>
</function>
<function name="GetVertexAttribLui64vARB">
diff --git a/src/mapi/glapi/gen/ARB_direct_state_access.xml b/src/mapi/glapi/gen/ARB_direct_state_access.xml
index 84ba14153d1..42ed70a7633 100644
--- a/src/mapi/glapi/gen/ARB_direct_state_access.xml
+++ b/src/mapi/glapi/gen/ARB_direct_state_access.xml
@@ -194,7 +194,7 @@
<function name="NamedFramebufferDrawBuffers" no_error="true">
<param name="framebuffer" type="GLuint" />
<param name="n" type="GLsizei" />
- <param name="bufs" type="const GLenum *" />
+ <param name="bufs" type="const GLenum *" count="n"/>
</function>
<function name="NamedFramebufferReadBuffer" no_error="true">
@@ -205,13 +205,13 @@
<function name="InvalidateNamedFramebufferData">
<param name="framebuffer" type="GLuint" />
<param name="numAttachments" type="GLsizei" />
- <param name="attachments" type="const GLenum *" />
+ <param name="attachments" type="const GLenum *" count="numAttachments"/>
</function>
<function name="InvalidateNamedFramebufferSubData">
<param name="framebuffer" type="GLuint" />
<param name="numAttachments" type="GLsizei" />
- <param name="attachments" type="const GLenum *" />
+ <param name="attachments" type="const GLenum *" count="numAttachments"/>
<param name="x" type="GLint" />
<param name="y" type="GLint" />
<param name="width" type="GLsizei" />
@@ -611,9 +611,9 @@
<param name="vaobj" type="GLuint" />
<param name="first" type="GLuint" />
<param name="count" type="GLsizei" />
- <param name="buffers" type="const GLuint *" />
- <param name="offsets" type="const GLintptr *" />
- <param name="strides" type="const GLsizei *" />
+ <param name="buffers" type="const GLuint *" count="count"/>
+ <param name="offsets" type="const GLintptr *" count="count"/>
+ <param name="strides" type="const GLsizei *" count="count"/>
</function>
<function name="VertexArrayAttribFormat">
diff --git a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
index 2f1a93dc8a7..9f18cacd1e6 100644
--- a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
+++ b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml
@@ -31,11 +31,11 @@
<function name="MultiDrawElementsBaseVertex" exec="dynamic" marshal="draw"
marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
<param name="mode" type="GLenum"/>
- <param name="count" type="const GLsizei *"/>
+ <param name="count" type="const GLsizei *" count="primcount"/>
<param name="type" type="GLenum"/>
- <param name="indices" type="const GLvoid * const *"/>
+ <param name="indices" type="const GLvoid * const *" count="(sizeof(GLvoid *) * primcount)"/>
<param name="primcount" type="GLsizei"/>
- <param name="basevertex" type="const GLint *"/>
+ <param name="basevertex" type="const GLint *" count="primcount"/>
</function>
<function name="DrawElementsInstancedBaseVertex" es2="3.2" exec="dynamic" marshal="draw"
diff --git a/src/mapi/glapi/gen/ARB_draw_indirect.xml b/src/mapi/glapi/gen/ARB_draw_indirect.xml
index b4399f1e8b6..c17b4337baa 100644
--- a/src/mapi/glapi/gen/ARB_draw_indirect.xml
+++ b/src/mapi/glapi/gen/ARB_draw_indirect.xml
@@ -8,12 +8,16 @@
<enum name="DRAW_INDIRECT_BUFFER" value="0x8F3F"/>
<enum name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43"/>
- <function name="DrawArraysIndirect" exec="dynamic" es2="3.1">
+ <function name="DrawArraysIndirect" exec="dynamic" es2="3.1"
+ marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_arrays_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
</function>
- <function name="DrawElementsIndirect" exec="dynamic" es2="3.1">
+ <function name="DrawElementsIndirect" exec="dynamic" es2="3.1"
+ marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_elements_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
@@ -24,14 +28,16 @@
<category name="GL_ARB_multi_draw_indirect" number="133">
- <function name="MultiDrawArraysIndirect" exec="dynamic">
+ <function name="MultiDrawArraysIndirect" exec="dynamic" marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_arrays_indirect(ctx)">
<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" exec="dynamic">
+ <function name="MultiDrawElementsIndirect" exec="dynamic" marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_elements_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
diff --git a/src/mapi/glapi/gen/ARB_get_program_binary.xml b/src/mapi/glapi/gen/ARB_get_program_binary.xml
index c521c04de42..00fede82d19 100644
--- a/src/mapi/glapi/gen/ARB_get_program_binary.xml
+++ b/src/mapi/glapi/gen/ARB_get_program_binary.xml
@@ -22,7 +22,7 @@
<function name="ProgramBinary" es2="3.0">
<param name="program" type="GLuint"/>
<param name="binaryFormat" type="GLenum"/>
- <param name="binary" type="const GLvoid *"/>
+ <param name="binary" type="const GLvoid *" count="length"/>
<param name="length" type="GLsizei"/>
</function>
diff --git a/src/mapi/glapi/gen/ARB_sampler_objects.xml b/src/mapi/glapi/gen/ARB_sampler_objects.xml
index e10984b3f76..b8fdd125e24 100644
--- a/src/mapi/glapi/gen/ARB_sampler_objects.xml
+++ b/src/mapi/glapi/gen/ARB_sampler_objects.xml
@@ -14,7 +14,7 @@
<function name="DeleteSamplers" es2="3.0" no_error="true">
<param name="count" type="GLsizei"/>
- <param name="samplers" type="const GLuint *"/>
+ <param name="samplers" type="const GLuint *" count="count"/>
</function>
<function name="IsSampler" es2="3.0">
diff --git a/src/mapi/glapi/gen/ARB_separate_shader_objects.xml b/src/mapi/glapi/gen/ARB_separate_shader_objects.xml
index 2273b4875d7..c9737e74a06 100644
--- a/src/mapi/glapi/gen/ARB_separate_shader_objects.xml
+++ b/src/mapi/glapi/gen/ARB_separate_shader_objects.xml
@@ -35,7 +35,7 @@
</function>
<function name="DeleteProgramPipelines" es2="3.1">
<param name="n" type="GLsizei" />
- <param name="pipelines" type="const GLuint *" />
+ <param name="pipelines" type="const GLuint *" count="n"/>
</function>
<function name="GenProgramPipelines" es2="3.1" no_error="true">
<param name="n" type="GLsizei" />
diff --git a/src/mapi/glapi/gen/ARB_shader_subroutine.xml b/src/mapi/glapi/gen/ARB_shader_subroutine.xml
index 8a7d08c7f71..9c537e4d20b 100644
--- a/src/mapi/glapi/gen/ARB_shader_subroutine.xml
+++ b/src/mapi/glapi/gen/ARB_shader_subroutine.xml
@@ -50,7 +50,7 @@
<function name="UniformSubroutinesuiv">
<param name="shadertype" type="GLenum"/>
<param name="count" type="GLsizei"/>
- <param name="indices" type="const GLuint *"/>
+ <param name="indices" type="const GLuint *" count="count"/>
</function>
<function name="GetUniformSubroutineuiv">
diff --git a/src/mapi/glapi/gen/ARB_shading_language_include.xml b/src/mapi/glapi/gen/ARB_shading_language_include.xml
index c305a7e2294..acfe39ac1b9 100644
--- a/src/mapi/glapi/gen/ARB_shading_language_include.xml
+++ b/src/mapi/glapi/gen/ARB_shading_language_include.xml
@@ -6,13 +6,13 @@
<function name="NamedStringARB">
<param name="type" type="GLenum" />
<param name="namelen" type="GLint" />
- <param name="name" type="const GLchar *" />
+ <param name="name" type="const GLchar *" count="namelen"/>
<param name="stringlen" type="GLint" />
- <param name="string" type="const GLchar *" />
+ <param name="string" type="const GLchar *" count="stringlen"/>
</function>
<function name="DeleteNamedStringARB">
<param name="namelen" type="GLint" />
- <param name="name" type="const GLchar *" />
+ <param name="name" type="const GLchar *" count="namelen"/>
</function>
<function name="CompileShaderIncludeARB">
<param name="shader" type="GLuint" />
@@ -22,19 +22,19 @@
</function>
<function name="IsNamedStringARB">
<param name="namelen" type="GLint" />
- <param name="name" type="const GLchar *" />
+ <param name="name" type="const GLchar *" count="namelen"/>
<return type="GLboolean"/>
</function>
<function name="GetNamedStringARB">
<param name="namelen" type="GLint" />
- <param name="name" type="const GLchar *" />
+ <param name="name" type="const GLchar *" count="namelen"/>
<param name="bufSize" type="GLsizei" />
<param name="stringlen" type="GLint *" />
- <param name="string" type="GLchar *" />
+ <param name="string" type="GLchar *" count="stringlen"/>
</function>
<function name="GetNamedStringivARB">
<param name="namelen" type="GLint" />
- <param name="name" type="const GLchar *" />
+ <param name="name" type="const GLchar *" count="namelen"/>
<param name="pname" type="GLenum" />
<param name="params" type="GLint *" />
</function>
diff --git a/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml b/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml
index 4d66ee50c80..d96729be3ac 100644
--- a/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml
+++ b/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml
@@ -33,25 +33,26 @@
<function name="VertexAttribL1dv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="1"/>
</function>
<function name="VertexAttribL2dv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="2"/>
</function>
<function name="VertexAttribL3dv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="3"/>
</function>
<function name="VertexAttribL4dv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="4"/>
</function>
- <function name="VertexAttribLPointer" no_error="true">
+ <function name="VertexAttribLPointer" no_error="true" marshal="async"
+ marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
<param name="index" type="GLuint"/>
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
diff --git a/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml b/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
index 92ec6e167cb..df225b91109 100644
--- a/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
+++ b/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
@@ -24,17 +24,17 @@
<function name="VertexP2uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="VertexP3uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="VertexP4uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="TexCoordP1ui" deprecated="3.1" exec="dynamic">
@@ -59,22 +59,22 @@
<function name="TexCoordP1uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="TexCoordP2uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="TexCoordP3uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="TexCoordP4uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="MultiTexCoordP1ui" deprecated="3.1" exec="dynamic">
@@ -104,25 +104,25 @@
<function name="MultiTexCoordP1uiv" deprecated="3.1" exec="dynamic">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="MultiTexCoordP2uiv" deprecated="3.1" exec="dynamic">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="MultiTexCoordP3uiv" deprecated="3.1" exec="dynamic">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="MultiTexCoordP4uiv" deprecated="3.1" exec="dynamic">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="NormalP3ui" deprecated="3.1" exec="dynamic">
@@ -132,7 +132,7 @@
<function name="NormalP3uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="coords" type="const GLuint *"/>
+ <param name="coords" type="const GLuint *" count="1"/>
</function>
<function name="ColorP3ui" deprecated="3.1" exec="dynamic">
@@ -147,12 +147,12 @@
<function name="ColorP3uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="color" type="const GLuint *"/>
+ <param name="color" type="const GLuint *" count="1"/>
</function>
<function name="ColorP4uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="color" type="const GLuint *"/>
+ <param name="color" type="const GLuint *" count="1"/>
</function>
<function name="SecondaryColorP3ui" deprecated="3.1" exec="dynamic">
@@ -162,7 +162,7 @@
<function name="SecondaryColorP3uiv" deprecated="3.1" exec="dynamic">
<param name="type" type="GLenum"/>
- <param name="color" type="const GLuint *"/>
+ <param name="color" type="const GLuint *" count="1"/>
</function>
<function name="VertexAttribP1ui" exec="dynamic">
@@ -197,28 +197,28 @@
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="VertexAttribP2uiv" exec="dynamic">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="VertexAttribP3uiv" exec="dynamic">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
<function name="VertexAttribP4uiv" exec="dynamic">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="1"/>
</function>
</category>
diff --git a/src/mapi/glapi/gen/EXT_direct_state_access.xml b/src/mapi/glapi/gen/EXT_direct_state_access.xml
index bcabf7d29ca..0d29282d293 100644
--- a/src/mapi/glapi/gen/EXT_direct_state_access.xml
+++ b/src/mapi/glapi/gen/EXT_direct_state_access.xml
@@ -20,19 +20,19 @@
<function name="MatrixLoadfEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLfloat *" />
+ <param name="m" type="const GLfloat *" count="16"/>
</function>
<function name="MatrixLoaddEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLdouble *" />
+ <param name="m" type="const GLdouble *" count="16"/>
</function>
<function name="MatrixMultfEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLfloat *" />
+ <param name="m" type="const GLfloat *" count="16"/>
</function>
<function name="MatrixMultdEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLdouble *" />
+ <param name="m" type="const GLdouble *" count="16"/>
</function>
<function name="MatrixLoadIdentityEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
@@ -657,7 +657,8 @@
<param name="param" type="GLint *" />
</function>
- <function name="MultiTexCoordPointerEXT">
+ <function name="MultiTexCoordPointerEXT" marshal="async"
+ marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
<param name="texunit" type="GLenum" />
<param name="size" type="GLint" />
<param name="type" type="GLenum" />
@@ -669,22 +670,22 @@
<function name="MatrixLoadTransposefEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLfloat *" />
+ <param name="m" type="const GLfloat *" count="16"/>
</function>
<function name="MatrixLoadTransposedEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLdouble *" />
+ <param name="m" type="const GLdouble *" count="16"/>
</function>
<function name="MatrixMultTransposefEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLfloat *" />
+ <param name="m" type="const GLfloat *" count="16"/>
</function>
<function name="MatrixMultTransposedEXT" offset="assign">
<param name="matrixMode" type="GLenum" />
- <param name="m" type="const GLdouble *" />
+ <param name="m" type="const GLdouble *" count="16"/>
</function>
<function name="CompressedTextureImage1DEXT">
@@ -926,7 +927,7 @@
<function name="FramebufferDrawBuffersEXT">
<param name="framebuffer" type="GLuint" />
<param name="n" type="GLsizei" />
- <param name="bufs" type="const GLenum *" />
+ <param name="bufs" type="const GLenum *" count="n"/>
</function>
<function name="FramebufferReadBufferEXT">
@@ -1202,7 +1203,7 @@
<param name="target" type="GLenum" />
<param name="format" type="GLenum" />
<param name="len" type="GLsizei" />
- <param name="string" type="const GLvoid*" />
+ <param name="string" type="const GLvoid*" count="len"/>
</function>
<function name="GetNamedProgramStringEXT">
@@ -1226,7 +1227,7 @@
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
- <param name="params" type="const GLfloat*" />
+ <param name="params" type="const GLfloat*" count="4"/>
</function>
<function name="GetNamedProgramLocalParameterfvEXT">
@@ -1250,7 +1251,7 @@
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
- <param name="params" type="const GLdouble*" />
+ <param name="params" type="const GLdouble*" count="4"/>
</function>
<function name="GetNamedProgramLocalParameterdvEXT">
@@ -1351,7 +1352,7 @@
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
<param name="count" type="GLsizei" />
- <param name="params" type="const GLfloat*" />
+ <param name="params" type="const GLfloat*" count="4"/>
</function>
</category>
diff --git a/src/mapi/glapi/gen/EXT_external_objects.xml b/src/mapi/glapi/gen/EXT_external_objects.xml
index 25e6879ec7b..ebcf6d7a4ac 100644
--- a/src/mapi/glapi/gen/EXT_external_objects.xml
+++ b/src/mapi/glapi/gen/EXT_external_objects.xml
@@ -39,7 +39,7 @@
<function name="DeleteMemoryObjectsEXT" es2="3.2">
<param name="n" type="GLsizei"/>
- <param name="memoryObjects" type="const GLuint *"/>
+ <param name="memoryObjects" type="const GLuint *" count="n"/>
</function>
<function name="IsMemoryObjectEXT" es2="3.2">
@@ -191,7 +191,7 @@
<function name="DeleteSemaphoresEXT" es2="3.2">
<param name="n" type="GLsizei"/>
- <param name="semaphores" type="const GLuint *"/>
+ <param name="semaphores" type="const GLuint *" count="n"/>
</function>
<function name="IsSemaphoreEXT" es2="3.2">
@@ -214,19 +214,19 @@
<function name="WaitSemaphoreEXT" es2="3.2">
<param name="semaphore" type="GLuint"/>
<param name="numBufferBarriers" type="GLuint"/>
- <param name="buffers" type="const GLuint *"/>
+ <param name="buffers" type="const GLuint *" count="numBufferBarriers"/>
<param name="numTextureBarriers" type="GLuint"/>
- <param name="textures" type="const GLuint *"/>
- <param name="srcLayouts" type="const GLenum *"/>
+ <param name="textures" type="const GLuint *" count="numTextureBarriers"/>
+ <param name="srcLayouts" type="const GLenum *" count="numTextureBarriers"/>
</function>
<function name="SignalSemaphoreEXT" es2="3.2">
<param name="semaphore" type="GLuint"/>
<param name="numBufferBarriers" type="GLuint"/>
- <param name="buffers" type="const GLuint *"/>
+ <param name="buffers" type="const GLuint *" count="numBufferBarriers"/>
<param name="numTextureBarriers" type="GLuint"/>
- <param name="textures" type="const GLuint *"/>
- <param name="dstLayouts" type="const GLenum *"/>
+ <param name="textures" type="const GLuint *" count="numTextureBarriers"/>
+ <param name="dstLayouts" type="const GLenum *" count="numTextureBarriers"/>
</function>
</category>
diff --git a/src/mapi/glapi/gen/EXT_gpu_shader4.xml b/src/mapi/glapi/gen/EXT_gpu_shader4.xml
index 55437c0de2c..8febbcf7f7f 100644
--- a/src/mapi/glapi/gen/EXT_gpu_shader4.xml
+++ b/src/mapi/glapi/gen/EXT_gpu_shader4.xml
@@ -99,17 +99,17 @@
<function name="VertexAttribI2ivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="2"/>
</function>
<function name="VertexAttribI3ivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="3"/>
</function>
<function name="VertexAttribI4ivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="4"/>
</function>
<function name="VertexAttribI1uivEXT" alias="VertexAttribI1uiv">
@@ -119,17 +119,17 @@
<function name="VertexAttribI2uivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLuint *"/>
+ <param name="v" type="const GLuint *" count="2"/>
</function>
<function name="VertexAttribI3uivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLuint *"/>
+ <param name="v" type="const GLuint *" count="3"/>
</function>
<function name="VertexAttribI4uivEXT" exec="dynamic">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLuint *"/>
+ <param name="v" type="const GLuint *" count="4"/>
</function>
<function name="VertexAttribI4bvEXT" alias="VertexAttribI4bv">
diff --git a/src/mapi/glapi/gen/EXT_transform_feedback.xml b/src/mapi/glapi/gen/EXT_transform_feedback.xml
index 26948cc7bdd..9982a3f81a5 100644
--- a/src/mapi/glapi/gen/EXT_transform_feedback.xml
+++ b/src/mapi/glapi/gen/EXT_transform_feedback.xml
@@ -89,7 +89,7 @@
<function name="DeleteTransformFeedbacks" es2="3.0">
<param name="n" type="GLsizei"/>
- <param name="ids" type="const GLuint *"/>
+ <param name="ids" type="const GLuint *" count="n"/>
</function>
<function name="GenTransformFeedbacks" es2="3.0">
diff --git a/src/mapi/glapi/gen/EXT_window_rectangles.xml b/src/mapi/glapi/gen/EXT_window_rectangles.xml
index 7c85e55cf29..cceaeca0968 100644
--- a/src/mapi/glapi/gen/EXT_window_rectangles.xml
+++ b/src/mapi/glapi/gen/EXT_window_rectangles.xml
@@ -22,7 +22,7 @@
<function name="WindowRectanglesEXT" es2="3.0">
<param name="mode" type="GLenum"/>
<param name="count" type="GLsizei"/>
- <param name="box" type="const GLint *"/>
+ <param name="box" type="const GLint *" count="(4 * count)"/>
</function>
</category>
diff --git a/src/mapi/glapi/gen/GL3x.xml b/src/mapi/glapi/gen/GL3x.xml
index 750bc023033..cd3987e0ceb 100644
--- a/src/mapi/glapi/gen/GL3x.xml
+++ b/src/mapi/glapi/gen/GL3x.xml
@@ -332,7 +332,7 @@
<function name="VertexAttribI1iv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="1"/>
</function>
<function name="VertexAttribI2iv" alias="VertexAttribI2ivEXT">
@@ -352,7 +352,7 @@
<function name="VertexAttribI1uiv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLuint *"/>
+ <param name="v" type="const GLuint *" count="1"/>
</function>
<function name="VertexAttribI2uiv" alias="VertexAttribI2uivEXT">
@@ -372,22 +372,22 @@
<function name="VertexAttribI4bv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLbyte *"/>
+ <param name="v" type="const GLbyte *" count="4"/>
</function>
<function name="VertexAttribI4sv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLshort *"/>
+ <param name="v" type="const GLshort *" count="4"/>
</function>
<function name="VertexAttribI4ubv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLubyte *"/>
+ <param name="v" type="const GLubyte *" count="4"/>
</function>
<function name="VertexAttribI4usv">
<param name="index" type="GLuint"/>
- <param name="v" type="const GLushort *"/>
+ <param name="v" type="const GLushort *" count="4"/>
</function>
<function name="GetUniformuiv" es2="3.0">
diff --git a/src/mapi/glapi/gen/KHR_debug.xml b/src/mapi/glapi/gen/KHR_debug.xml
index 21b7e58c321..af31347d54e 100644
--- a/src/mapi/glapi/gen/KHR_debug.xml
+++ b/src/mapi/glapi/gen/KHR_debug.xml
@@ -88,7 +88,7 @@
<param name="id" type="GLuint"/>
<param name="severity" type="GLenum"/>
<param name="length" type="GLsizei"/>
- <param name="buf" type="const GLchar *"/>
+ <param name="buf" type="const GLchar *" count="length"/>
</function>
<function name="DebugMessageCallback" es2="3.2">
@@ -112,7 +112,7 @@
<param name="source" type="GLenum"/>
<param name="id" type="GLuint"/>
<param name="length" type="GLsizei"/>
- <param name="message" type="const GLchar *"/>
+ <param name="message" type="const GLchar *" count="length"/>
</function>
<function name="PopDebugGroup" es2="3.2" />
@@ -121,7 +121,7 @@
<param name="identifier" type="GLenum"/>
<param name="name" type="GLuint"/>
<param name="length" type="GLsizei"/>
- <param name="label" type="const GLchar *"/>
+ <param name="label" type="const GLchar *" count="length"/>
</function>
<function name="GetObjectLabel" es2="3.2">
@@ -135,7 +135,7 @@
<function name="ObjectPtrLabel" es2="3.2">
<param name="ptr" type="const GLvoid *"/>
<param name="length" type="GLsizei"/>
- <param name="label" type="const GLchar *"/>
+ <param name="label" type="const GLchar *" count="length"/>
</function>
<function name="GetObjectPtrLabel" es2="3.2">
diff --git a/src/mapi/glapi/gen/NV_vdpau_interop.xml b/src/mapi/glapi/gen/NV_vdpau_interop.xml
index ceef7bdc9ac..7bf8fdfb4f1 100644
--- a/src/mapi/glapi/gen/NV_vdpau_interop.xml
+++ b/src/mapi/glapi/gen/NV_vdpau_interop.xml
@@ -52,12 +52,12 @@
<function name="VDPAUMapSurfacesNV">
<param name="numSurfaces" type="GLsizei"/>
- <param name="surfaces" type="const GLintptr *"/>
+ <param name="surfaces" type="const GLintptr *" count="numSurfaces"/>
</function>
<function name="VDPAUUnmapSurfacesNV">
<param name="numSurfaces" type="GLsizei"/>
- <param name="surfaces" type="const GLintptr *"/>
+ <param name="surfaces" type="const GLintptr *" count="numSurfaces"/>
</function>
<enum name="SURFACE_STATE_NV" value="0x86EB"/>
diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml
index adbcba1ed2a..c30ad56c75d 100644
--- a/src/mapi/glapi/gen/es_EXT.xml
+++ b/src/mapi/glapi/gen/es_EXT.xml
@@ -319,7 +319,8 @@
<enum name="POINT_SIZE_ARRAY_BUFFER_BINDING_OES" value="0x8B9F"/>
<function name="PointSizePointerOES" es1="1.0" desktop="false"
- no_error="true">
+ no_error="true" marshal="async"
+ marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
@@ -1463,7 +1464,7 @@
<function name="DepthRangeArrayfvOES" es2="3.1" desktop="false">
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
- <param name="v" type="const GLfloat *"/>
+ <param name="v" type="const GLfloat *" count="(2 * count)"/>
</function>
<function name="DepthRangeIndexedfOES" es2="3.1" desktop="false">
<param name="index" type="GLuint"/>
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 154f85cd4d5..2bec492f7d1 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -4482,22 +4482,22 @@
</function>
<function name="LoadTransposeMatrixf" deprecated="3.1">
- <param name="m" type="const GLfloat *"/>
+ <param name="m" type="const GLfloat *" count="16"/>
<glx handcode="true"/>
</function>
<function name="LoadTransposeMatrixd" deprecated="3.1">
- <param name="m" type="const GLdouble *"/>
+ <param name="m" type="const GLdouble *" count="16"/>
<glx handcode="true"/>
</function>
<function name="MultTransposeMatrixf" deprecated="3.1">
- <param name="m" type="const GLfloat *"/>
+ <param name="m" type="const GLfloat *" count="16"/>
<glx handcode="true"/>
</function>
<function name="MultTransposeMatrixd" deprecated="3.1">
- <param name="m" type="const GLdouble *"/>
+ <param name="m" type="const GLdouble *" count="16"/>
<glx handcode="true"/>
</function>
@@ -4745,8 +4745,8 @@
<function name="MultiDrawArrays" marshal="draw">
<param name="mode" type="GLenum"/>
- <param name="first" type="const GLint *"/>
- <param name="count" type="const GLsizei *"/>
+ <param name="first" type="const GLint *" count="primcount"/>
+ <param name="count" type="const GLsizei *" count="primcount"/>
<param name="primcount" type="GLsizei"/>
<glx handcode="true"/>
</function>
@@ -4889,7 +4889,7 @@
</function>
<function name="WindowPos2dv" deprecated="3.1">
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="2"/>
<glx handcode="true"/>
</function>
@@ -4900,7 +4900,7 @@
</function>
<function name="WindowPos2fv" deprecated="3.1">
- <param name="v" type="const GLfloat *"/>
+ <param name="v" type="const GLfloat *" count="2"/>
<glx handcode="true"/>
</function>
@@ -4911,7 +4911,7 @@
</function>
<function name="WindowPos2iv" deprecated="3.1">
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="2"/>
<glx handcode="true"/>
</function>
@@ -4922,7 +4922,7 @@
</function>
<function name="WindowPos2sv" deprecated="3.1">
- <param name="v" type="const GLshort *"/>
+ <param name="v" type="const GLshort *" count="2"/>
<glx handcode="true"/>
</function>
@@ -4934,7 +4934,7 @@
</function>
<function name="WindowPos3dv" deprecated="3.1">
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="3"/>
<glx handcode="true"/>
</function>
@@ -4957,7 +4957,7 @@
</function>
<function name="WindowPos3iv" deprecated="3.1">
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="3"/>
<glx handcode="true"/>
</function>
@@ -4969,7 +4969,7 @@
</function>
<function name="WindowPos3sv" deprecated="3.1">
- <param name="v" type="const GLshort *"/>
+ <param name="v" type="const GLshort *" count="3"/>
<glx handcode="true"/>
</function>
</category>
@@ -10264,9 +10264,9 @@
<function name="MultiDrawElementsEXT" es1="1.0" es2="2.0" exec="dynamic" marshal="draw"
marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
<param name="mode" type="GLenum"/>
- <param name="count" type="const GLsizei *"/>
+ <param name="count" type="const GLsizei *" count="primcount"/>
<param name="type" type="GLenum"/>
- <param name="indices" type="const GLvoid * const *"/>
+ <param name="indices" type="const GLvoid * const *" count="(sizeof(GLvoid *) * primcount)"/>
<param name="primcount" type="GLsizei"/>
<glx handcode="true"/>
</function>
@@ -10945,14 +10945,14 @@
<param name="target" type="GLenum"/>
<param name="start" type="GLuint"/>
<param name="count" type="GLsizei"/>
- <param name="v" type="const GLfloat *"/>
+ <param name="v" type="const GLfloat *" count="(2 * count)"/>
</function>
<function name="NamedFramebufferSampleLocationsfvARB" no_error="true">
<param name="framebuffer" type="GLuint"/>
<param name="start" type="GLuint"/>
<param name="count" type="GLsizei"/>
- <param name="v" type="const GLfloat *"/>
+ <param name="v" type="const GLfloat *" count="(2 * count)"/>
</function>
<function name="EvaluateDepthValuesARB"/>
@@ -11324,7 +11324,7 @@
</function>
<function name="WindowPos4dvMESA" deprecated="3.1">
- <param name="v" type="const GLdouble *"/>
+ <param name="v" type="const GLdouble *" count="4"/>
<glx ignore="true"/>
</function>
@@ -11337,7 +11337,7 @@
</function>
<function name="WindowPos4fvMESA" deprecated="3.1">
- <param name="v" type="const GLfloat *"/>
+ <param name="v" type="const GLfloat *" count="4"/>
<glx ignore="true"/>
</function>
@@ -11350,7 +11350,7 @@
</function>
<function name="WindowPos4ivMESA" deprecated="3.1">
- <param name="v" type="const GLint *"/>
+ <param name="v" type="const GLint *" count="4"/>
<glx ignore="true"/>
</function>
@@ -11363,7 +11363,7 @@
</function>
<function name="WindowPos4svMESA" deprecated="3.1">
- <param name="v" type="const GLshort *"/>
+ <param name="v" type="const GLshort *" count="4"/>
<glx ignore="true"/>
</function>
</category>
@@ -11376,10 +11376,11 @@
</category>
<category name="GL_IBM_multimode_draw_arrays" number="200">
- <function name="MultiModeDrawArraysIBM" marshal="draw">
- <param name="mode" type="const GLenum *"/>
- <param name="first" type="const GLint *"/>
- <param name="count" type="const GLsizei *"/>
+ <function name="MultiModeDrawArraysIBM" marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
+ <param name="mode" type="const GLenum *" count="primcount"/>
+ <param name="first" type="const GLint *" count="primcount"/>
+ <param name="count" type="const GLsizei *" count="primcount"/>
<param name="primcount" type="GLsizei"/>
<param name="modestride" type="GLint"/>
<glx handcode="true" ignore="true"/>
@@ -11387,10 +11388,10 @@
<function name="MultiModeDrawElementsIBM" marshal="draw"
marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
- <param name="mode" type="const GLenum *"/>
- <param name="count" type="const GLsizei *"/>
+ <param name="mode" type="const GLenum *" count="primcount"/>
+ <param name="count" type="const GLsizei *" count="primcount"/>
<param name="type" type="GLenum"/>
- <param name="indices" type="const GLvoid * const *"/>
+ <param name="indices" type="const GLvoid * const *" count="(sizeof(GLvoid *) * primcount)"/>
<param name="primcount" type="GLsizei"/>
<param name="modestride" type="GLint"/>
<glx handcode="true" ignore="true"/>
@@ -12553,7 +12554,7 @@
<function name="SetFragmentShaderConstantATI" deprecated="3.1">
<param name="dst" type="GLuint"/>
- <param name="value" type="const GLfloat *"/>
+ <param name="value" type="const GLfloat *" count="4"/>
<glx ignore="true"/>
</function>
</category>
@@ -13143,14 +13144,14 @@
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="count" type="GLsizei"/>
- <param name="params" type="const GLfloat *"/>
+ <param name="params" type="const GLfloat *" count="4"/>
</function>
<function name="ProgramLocalParameters4fvEXT" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="count" type="GLsizei"/>
- <param name="params" type="const GLfloat *"/>
+ <param name="params" type="const GLfloat *" count="4"/>
</function>
</category>