<!-- These functions are unique to GL3 -->
- <function name="ClearBufferiv" es2="3.0" marshal="custom" no_error="true">
+ <function name="ClearBufferiv" es2="3.0" no_error="true">
<param name="buffer" type="GLenum"/>
<param name="drawbuffer" type="GLint"/>
- <param name="value" type="const GLint *"/>
+ <param name="value" type="const GLint *" count="_mesa_buffer_enum_to_count(buffer)"/>
</function>
- <function name="ClearBufferuiv" es2="3.0" marshal="custom" no_error="true">
+ <function name="ClearBufferuiv" es2="3.0" no_error="true">
<param name="buffer" type="GLenum"/>
<param name="drawbuffer" type="GLint"/>
- <param name="value" type="const GLuint *"/>
+ <param name="value" type="const GLuint *" count="_mesa_buffer_enum_to_count(buffer)"/>
</function>
- <function name="ClearBufferfv" es2="3.0" marshal="custom" no_error="true">
+ <function name="ClearBufferfv" es2="3.0" no_error="true">
<param name="buffer" type="GLenum"/>
<param name="drawbuffer" type="GLint"/>
- <param name="value" type="const GLfloat *"/>
+ <param name="value" type="const GLfloat *" count="_mesa_buffer_enum_to_count(buffer)"/>
</function>
- <function name="ClearBufferfi" es2="3.0" marshal="custom" no_error="true">
+ <function name="ClearBufferfi" es2="3.0" no_error="true">
<param name="buffer" type="GLenum"/>
<param name="drawbuffer" type="GLint"/>
<param name="depth" type="GLfloat"/>
<function name="VertexAttribIPointer" es2="3.0" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_GENERIC(index), size, type, stride, pointer);">
<param name="index" type="GLuint"/>
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<function name="TexParameterIiv" es2="3.2">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *"/>
+ <param name="params" type="const GLint *" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
<function name="TexParameterIuiv" es2="3.2">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLuint *"/>
+ <param name="params" type="const GLuint *" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
<function name="GetTexParameterIiv" es2="3.2">
<param name="buffer" type="GLuint"/>
</function>
- <function name="PrimitiveRestartIndex" no_error="true">
+ <function name="PrimitiveRestartIndex" no_error="true"
+ marshal_call_after="_mesa_glthread_PrimitiveRestartIndex(ctx, index);">
<param name="index" type="GLuint"/>
</function>