<!-- These functions are unique to GL3 -->
- <function name="ClearBufferiv" es2="3.0">
+ <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">
+ <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">
+ <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">
+ <function name="ClearBufferfi" es2="3.0" no_error="true">
<param name="buffer" type="GLenum"/>
<param name="drawbuffer" type="GLint"/>
<param name="depth" type="GLfloat"/>
<return type="GLint"/>
</function>
- <function name="BindFragDataLocation">
+ <function name="BindFragDataLocation" no_error="true">
<param name="program" type="GLuint"/>
<param name="colorNumber" type="GLuint"/>
- <param name="name" type="const GLchar *"/>
+ <param name="name" type="const GLchar *" count="(strlen(name) + 1)"/>
</function>
- <function name="BeginTransformFeedback" es2="3.0">
+ <function name="BeginTransformFeedback" es2="3.0" no_error="true">
<param name="mode" type="GLenum"/>
</function>
- <function name="EndTransformFeedback" es2="3.0">
+ <function name="EndTransformFeedback" es2="3.0" no_error="true">
</function>
- <function name="BindBufferRange" es2="3.0">
+ <function name="BindBufferRange" es2="3.0" no_error="true">
<param name="target" type="GLenum"/>
<param name="index" type="GLuint"/>
<param name="buffer" type="GLuint"/>
<param name="buffer" type="GLuint"/>
</function>
- <function name="TransformFeedbackVaryings" es2="3.0">
+ <function name="TransformFeedbackVaryings" es2="3.0" no_error="true">
<param name="program" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="varyings" type="const GLchar * const *"/>
<!-- These functions alias ones from GL_NV_conditional_render -->
- <function name="BeginConditionalRender">
+ <function name="BeginConditionalRender" no_error="true">
<param name="query" type="GLuint"/>
<param name="mode" type="GLenum"/>
</function>
- <function name="EndConditionalRender">
+ <function name="EndConditionalRender" no_error="true">
</function>
<!-- These functions alias ones from GL_EXT_gpu_shader4 -->
- <function name="VertexAttribIPointer" es2="3.0" marshal="async">
+ <function name="VertexAttribIPointer" es2="3.0" marshal="async"
+ no_error="true"
+ 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="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">
<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">
<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">
<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">
+ <function name="PrimitiveRestartIndex" no_error="true"
+ marshal_call_after="_mesa_glthread_PrimitiveRestartIndex(ctx, index);">
<param name="index" type="GLuint"/>
</function>
<param name="params" type="GLint64 *"/>
</function>
- <function name="FramebufferTexture" es2="3.2">
+ <function name="FramebufferTexture" es2="3.2" no_error="true">
<param name="target" type="GLenum"/>
<param name="attachment" type="GLenum"/>
<param name="texture" type="GLuint"/>
<enum name="TEXTURE_SWIZZLE_A" value="0x8E45"/>
<enum name="TEXTURE_SWIZZLE_RGBA" value="0x8E46"/>
- <function name="VertexAttribDivisor" es2="3.0">
+ <function name="VertexAttribDivisor" es2="3.0" no_error="true">
<param name="index" type="GLuint"/>
<param name="divisor" type="GLuint"/>
</function>