<function name="CallLists" deprecated="3.1">
<param name="n" type="GLsizei" counter="true"/>
<param name="type" type="GLenum"/>
- <param name="lists" type="const GLvoid *" variable_param="type" count="n"/>
+ <param name="lists" type="const GLvoid *" variable_param="type" count="n"
+ marshal_count="(n * _mesa_calllists_enum_to_count(type))"/>
<glx rop="2" large="true"/>
</function>
<function name="Fogfv" es1="1.0" deprecated="3.1">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_fog_enum_to_count(pname)"/>
<glx rop="81"/>
</function>
<function name="Fogiv" deprecated="3.1">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_fog_enum_to_count(pname)"/>
<glx rop="83"/>
</function>
<function name="Lightfv" es1="1.0" deprecated="3.1">
<param name="light" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_light_enum_to_count(pname)"/>
<glx rop="87"/>
</function>
<function name="Lightiv" deprecated="3.1">
<param name="light" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_light_enum_to_count(pname)"/>
<glx rop="89"/>
</function>
<function name="LightModelfv" es1="1.0" deprecated="3.1">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_light_model_enum_to_count(pname)"/>
<glx rop="91"/>
</function>
<function name="LightModeliv" deprecated="3.1">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_light_model_enum_to_count(pname)"/>
<glx rop="93"/>
</function>
<function name="Materialfv" es1="1.0" deprecated="3.1" exec="dynamic">
<param name="face" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_material_enum_to_count(pname)"/>
<glx rop="97"/>
</function>
<function name="Materialiv" deprecated="3.1">
<param name="face" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_material_enum_to_count(pname)"/>
<glx rop="99"/>
</function>
<function name="TexParameterfv" es1="1.1" es2="2.0">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_tex_param_enum_to_count(pname)"/>
<glx rop="106"/>
</function>
<function name="TexParameteriv" es1="1.1" es2="2.0">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_tex_param_enum_to_count(pname)"/>
<glx rop="108"/>
</function>
<function name="TexEnvfv" es1="1.0" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_texenv_enum_to_count(pname)"/>
<glx rop="112"/>
</function>
<function name="TexEnviv" es1="1.1" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_texenv_enum_to_count(pname)"/>
<glx rop="114"/>
</function>
<function name="TexGendv" deprecated="3.1">
<param name="coord" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLdouble *" variable_param="pname"/>
+ <param name="params" type="const GLdouble *" variable_param="pname"
+ marshal_count="_mesa_texgen_enum_to_count(pname)"/>
<glx rop="116"/>
</function>
<function name="TexGenfv" deprecated="3.1">
<param name="coord" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_texgen_enum_to_count(pname)"/>
<glx rop="118"/>
</function>
<function name="TexGeniv" deprecated="3.1">
<param name="coord" type="GLenum"/>
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_texgen_enum_to_count(pname)"/>
<glx rop="120"/>
</function>
<glx rop="138" handcode="client"/>
</function>
- <function name="Enable" es1="1.0" es2="2.0" marshal="custom">
+ <function name="Enable" es1="1.0" es2="2.0"
+ marshal_call_after='if (cap == GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB) _mesa_glthread_disable(ctx, "Enable(DEBUG_OUTPUT_SYNCHRONOUS)");'>
<param name="cap" type="GLenum"/>
<glx rop="139" handcode="client"/>
</function>
<glx sop="108" handcode="true"/>
</function>
- <!-- TODO: Flush is marshalled synchronously as a temporary hack
- since we don't yet have a hook into SwapBuffers.
-
- NOTE: when we remove this hack, we'll still have to handle Flush
- specially to ensure that it causes all previous commands to get
- delivered to the server thread.
- -->
- <function name="Flush" es1="1.0" es2="2.0" marshal="custom">
+ <function name="Flush" es1="1.0" es2="2.0"
+ marshal_call_after="_mesa_glthread_flush_batch(ctx);">
<glx sop="142" handcode="true"/>
</function>
<function name="ColorPointer" es1="1.0" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<glx handcode="true"/>
</function>
- <function name="DrawArrays" es1="1.0" es2="2.0" exec="dynamic" marshal="draw">
+ <function name="DrawArrays" es1="1.0" es2="2.0" exec="dynamic" marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_arrays(ctx)">
<param name="mode" type="GLenum"/>
<param name="first" type="GLint"/>
<param name="count" type="GLsizei"/>
<function name="EdgeFlagPointer" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
<glx handcode="true"/>
<function name="IndexPointer" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
<function name="NormalPointer" es1="1.0" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
<function name="TexCoordPointer" es1="1.0" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<function name="VertexPointer" es1="1.0" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
</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>
<function name="FogCoordPointer" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
<glx handcode="true"/>
</function>
- <function name="MultiDrawArrays" marshal="draw">
+ <function name="MultiDrawArrays" marshal="draw"
+ marshal_fail="_mesa_glthread_is_non_vbo_draw_arrays(ctx)">
<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>
<function name="PointParameterfv" es1="1.1">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLfloat *" variable_param="pname"/>
+ <param name="params" type="const GLfloat *" variable_param="pname"
+ marshal_count="_mesa_point_param_enum_to_count(pname)"/>
<glx rop="2066"/>
</function>
<function name="PointParameteriv">
<param name="pname" type="GLenum"/>
- <param name="params" type="const GLint *" variable_param="pname"/>
+ <param name="params" type="const GLint *" variable_param="pname"
+ marshal_count="_mesa_point_param_enum_to_count(pname)"/>
<glx rop="4222"/>
</function>
<function name="SecondaryColorPointer" deprecated="3.1" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
<function name="BindAttribLocation" es2="2.0" no_error="true">
<param name="program" type="GLuint"/>
<param name="index" type="GLuint"/>
- <param name="name" type="const GLchar *"/>
+ <param name="name" type="const GLchar *" count="(strlen(name) + 1)"/>
<glx ignore="true"/>
</function>
<function name="VertexAttribPointer" es2="2.0" marshal="async"
no_error="true"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="index" type="GLuint"/>
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
</function>
<function name="ColorPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
</function>
<function name="EdgeFlagPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="stride" type="GLsizei"/>
<param name="count" type="GLsizei"/>
<param name="pointer" type="const GLboolean *"/>
</function>
<function name="IndexPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="count" type="GLsizei"/>
</function>
<function name="NormalPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<param name="count" type="GLsizei"/>
</function>
<function name="TexCoordPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
</function>
<function name="VertexPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<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>
<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"/>
</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>
</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>
</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>
</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>
</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_arrays(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"/>
<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"/>
<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>
<xi:include href="EXT_separate_shader_objects.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<xi:include href="NV_copy_image.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<xi:include href="EXT_vertex_attrib_64bit.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="AMD_depth_clamp_separate.xml"
<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>