<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" />
<!-- OpenGL 1.1 -->
+ <function name="ClientAttribDefaultEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientAttribDefault(ctx, mask);">
+ <param name="mask" type="GLbitfield" />
+ </function>
+
+ <function name="PushClientAttribDefaultEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_PushClientAttrib(ctx, mask, true);">
+ <param name="mask" type="GLbitfield" />
+ </function>
+
<function name="GetTextureParameterivEXT">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="texture" type="GLuint" />
<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="TextureParameterfEXT">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="params" type="const float *" />
+ <param name="params" type="const float *" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
<function name="TextureImage1DEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLint *" />
+ <param name="param" type="const GLint *" count="_mesa_texenv_enum_to_count(pname)"/>
</function>
<function name="MultiTexEnvfEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLfloat *" />
+ <param name="param" type="const GLfloat *" count="_mesa_texenv_enum_to_count(pname)"/>
</function>
<function name="GetMultiTexEnvivEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLint*" />
+ <param name="param" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
<function name="MultiTexParameterfEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLfloat*" />
+ <param name="param" type="const GLfloat*" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
<function name="GetMultiTexParameterivEXT">
<param name="pixels" type="GLvoid*" />
</function>
+ <function name="GetMultiTexLevelParameterivEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="level" type="GLint" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLint*" />
+ </function>
+
+ <function name="GetMultiTexLevelParameterfvEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="level" type="GLint" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLfloat*" />
+ </function>
+
<function name="MultiTexImage1DEXT">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="texunit" type="GLenum" />
<param name="coord" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLdouble*" />
+ <param name="param" type="const GLdouble*" count="_mesa_texgen_enum_to_count(pname)"/>
</function>
<function name="MultiTexGenfEXT">
<param name="texunit" type="GLenum" />
<param name="coord" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLfloat *" />
+ <param name="param" type="const GLfloat *" count="_mesa_texgen_enum_to_count(pname)"/>
</function>
<function name="MultiTexGeniEXT">
<param name="texunit" type="GLenum" />
<param name="coord" type="GLenum" />
<param name="pname" type="GLenum" />
- <param name="param" type="const GLint *" />
+ <param name="param" type="const GLint *" count="_mesa_texgen_enum_to_count(pname)"/>
</function>
<function name="GetMultiTexGendvEXT">
<param name="param" type="GLint *" />
</function>
- <function name="MultiTexCoordPointerEXT">
+ <function name="MultiTexCoordPointerEXT" marshal="async"
+ marshal_call_after="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride, pointer);">
<param name="texunit" type="GLenum" />
<param name="size" type="GLint" />
<param name="type" type="GLenum" />
<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">
<!-- OpenGL 1.5 -->
- <function name="NamedBufferDataEXT">
+ <function name="NamedBufferDataEXT" marshal="custom">
<param name="buffer" type="GLuint" />
<param name="size" type="GLsizeiptr" />
<param name="data" type="const GLvoid *" />
<param name="usage" type="GLenum" />
</function>
- <function name="NamedBufferSubDataEXT">
+ <function name="NamedBufferSubDataEXT" marshal="custom">
<param name="buffer" type="GLuint" />
<param name="offset" type="GLintptr" />
<param name="size" type="GLsizeiptr" />
<param name="length" type="GLsizeiptr" />
</function>
+ <!-- OpenGL 2.0 -->
+ <!--
+ ProgramUniform* functions are already declared in EXT_separate_shader_objects.xml
+ -->
+
<!-- OpenGL 3.0 -->
<function name="MapNamedBufferRangeEXT">
<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">
<param name="params" type="GLint *" />
</function>
- <function name="EnableClientStateiEXT">
+ <function name="EnableClientStateiEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), true);">
<param name="array" type="GLenum" />
<param name="index" type="GLuint" />
</function>
- <function name="DisableClientStateiEXT">
+ <function name="DisableClientStateiEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), false);">
<param name="array" type="GLenum" />
<param name="index" type="GLuint" />
</function>
<param name="index" type="GLuint" />
<param name="params" type="GLvoid**" />
</function>
+
+ <function name="NamedRenderbufferStorageEXT">
+ <param name="renderbuffer" type="GLuint" />
+ <param name="internalformat" type="GLenum" />
+ <param name="width" type="GLsizei" />
+ <param name="height" type="GLsizei" />
+ </function>
+
+ <function name="GetNamedRenderbufferParameterivEXT">
+ <param name="renderbuffer" type="GLuint" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLint *" />
+ </function>
+
+ <function name="GetFloati_vEXT" alias="GetFloati_v">
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="GLfloat*" />
+ </function>
+
+ <function name="GetDoublei_vEXT" alias="GetDoublei_v">
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="GLdouble*" />
+ </function>
+
+ <function name="GenerateTextureMipmapEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ </function>
+
+ <function name="GenerateMultiTexMipmapEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ </function>
+
+ <function name="NamedRenderbufferStorageMultisampleEXT">
+ <param name="renderbuffer" type="GLuint" />
+ <param name="samples" type="GLsizei" />
+ <param name="internalformat" type="GLenum" />
+ <param name="width" type="GLsizei" />
+ <param name="height" type="GLsizei" />
+ </function>
+
+ <function name="NamedCopyBufferSubDataEXT">
+ <param name="readBuffer" type="GLuint" />
+ <param name="writeBuffer" type="GLuint" />
+ <param name="readOffset" type="GLintptr" />
+ <param name="writeOffset" type="GLintptr" />
+ <param name="size" type="GLsizeiptr" />
+ </function>
+
+ <function name="VertexArrayVertexOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_POS, size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayColorOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR0, size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayEdgeFlagOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_EDGEFLAG, 1, GL_UNSIGNED_BYTE, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayIndexOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR_INDEX, 1, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayNormalOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_NORMAL, 3, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayTexCoordOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(ctx->GLThread.ClientActiveTexture), size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayMultiTexCoordOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="texunit" type="GLenum" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayFogCoordOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_FOG, 1, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArraySecondaryColorOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR1, size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayVertexAttribOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="index" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="normalized" type="GLboolean" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="VertexArrayVertexAttribIOffsetEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="index" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
+
+ <function name="EnableVertexArrayEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &vaobj, _mesa_array_to_attrib(ctx, array), true);">
+ <param name="vaobj" type="GLuint" />
+ <param name="array" type="GLenum" />
+ </function>
+
+ <function name="DisableVertexArrayEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &vaobj, _mesa_array_to_attrib(ctx, array), false);">
+ <param name="vaobj" type="GLuint" />
+ <param name="array" type="GLenum" />
+ </function>
+
+ <function name="EnableVertexArrayAttribEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &vaobj, VERT_ATTRIB_GENERIC(index), true);">
+ <param name="vaobj" type="GLuint" />
+ <param name="index" type="GLuint" />
+ </function>
+
+ <function name="DisableVertexArrayAttribEXT"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &vaobj, VERT_ATTRIB_GENERIC(index), false);">
+ <param name="vaobj" type="GLuint" />
+ <param name="index" type="GLuint" />
+ </function>
+
+ <function name="GetVertexArrayIntegervEXT">
+ <param name="vaobj" type="GLuint" />
+ <param name="pname" type="GLenum" />
+ <param name="param" type="GLint*" />
+ </function>
+
+ <function name="GetVertexArrayPointervEXT">
+ <param name="vaobj" type="GLuint" />
+ <param name="pname" type="GLenum" />
+ <param name="param" type="GLvoid**" />
+ </function>
+
+ <function name="GetVertexArrayIntegeri_vEXT">
+ <param name="vaobj" type="GLuint" />
+ <param name="index" type="GLuint" />
+ <param name="pname" type="GLenum" />
+ <param name="param" type="GLint*" />
+ </function>
+
+ <function name="GetVertexArrayPointeri_vEXT">
+ <param name="vaobj" type="GLuint" />
+ <param name="index" type="GLuint" />
+ <param name="pname" type="GLenum" />
+ <param name="param" type="GLvoid**" />
+ </function>
+
+ <!-- ARB_vertex_program -->
+ <function name="NamedProgramStringEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="format" type="GLenum" />
+ <param name="len" type="GLsizei" />
+ <param name="string" type="const GLvoid*" count="len"/>
+ </function>
+
+ <function name="GetNamedProgramStringEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="string" type="GLvoid*" />
+ </function>
+
+ <function name="NamedProgramLocalParameter4fEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="x" type="GLfloat" />
+ <param name="y" type="GLfloat" />
+ <param name="z" type="GLfloat" />
+ <param name="w" type="GLfloat" />
+ </function>
+
+ <function name="NamedProgramLocalParameter4fvEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="const GLfloat*" count="4"/>
+ </function>
+
+ <function name="GetNamedProgramLocalParameterfvEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="GLfloat*" />
+ </function>
+
+ <function name="NamedProgramLocalParameter4dEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="x" type="GLdouble" />
+ <param name="y" type="GLdouble" />
+ <param name="z" type="GLdouble" />
+ <param name="w" type="GLdouble" />
+ </function>
+
+ <function name="NamedProgramLocalParameter4dvEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="const GLdouble*" count="4"/>
+ </function>
+
+ <function name="GetNamedProgramLocalParameterdvEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="params" type="GLdouble*" />
+ </function>
+
+ <function name="GetNamedProgramivEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLint*" />
+ </function>
+
+ <!-- EXT_texture_buffer_object -->
+ <function name="TextureBufferEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="internalformat" type="GLenum" />
+ <param name="buffer" type="GLuint" />
+ </function>
+
+ <function name="MultiTexBufferEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="internalformat" type="GLenum" />
+ <param name="buffer" type="GLuint" />
+ </function>
+
+ <!-- EXT_texture_integer -->
+ <function name="TextureParameterIivEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
+ </function>
+
+ <function name="TextureParameterIuivEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="const GLuint*" count="_mesa_tex_param_enum_to_count(pname)"/>
+ </function>
+
+ <function name="GetTextureParameterIivEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLint*" />
+ </function>
+
+ <function name="GetTextureParameterIuivEXT">
+ <param name="texture" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLuint*" />
+ </function>
+
+ <function name="MultiTexParameterIivEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
+ </function>
+
+ <function name="MultiTexParameterIuivEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="const GLuint*" count="_mesa_tex_param_enum_to_count(pname)"/>
+ </function>
+
+ <function name="GetMultiTexParameterIivEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLint*" />
+ </function>
+
+ <function name="GetMultiTexParameterIuivEXT">
+ <param name="texunit" type="GLenum" />
+ <param name="target" type="GLenum" />
+ <param name="pname" type="GLenum" />
+ <param name="params" type="GLuint*" />
+ </function>
+
+ <!-- EXT_gpu_shader4 -->
+ <!--
+ ProgramUniform*EXT functions are added in EXT_separate_shader_objects.xml
+ -->
+
+ <!-- EXT_gpu_program_parameters -->
+
+ <function name="NamedProgramLocalParameters4fvEXT">
+ <param name="program" type="GLuint" />
+ <param name="target" type="GLenum" />
+ <param name="index" type="GLuint" />
+ <param name="count" type="GLsizei" />
+ <param name="params" type="const GLfloat*" count="4"/>
+ </function>
+
</category>
</OpenGLAPI>