<type name="DEBUGPROCARB" size="4" pointer="true"/>
<type name="DEBUGPROC" size="4" pointer="true"/>
- <function name="NewList" deprecated="3.1" marshal_fail="true">
+ <function name="NewList" deprecated="3.1">
<param name="list" type="GLuint"/>
<param name="mode" type="GLenum"/>
<glx sop="101"/>
<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>
<glx rop="3"/>
</function>
- <function name="Begin" deprecated="3.1" exec="dynamic" marshal_fail="true">
+ <function name="Begin" deprecated="3.1" exec="dynamic">
<param name="mode" type="GLenum"/>
<glx rop="4"/>
</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>
<glx rop="94"/>
</function>
- <function name="LineWidth" es1="1.0" es2="2.0">
+ <function name="LineWidth" es1="1.0" es2="2.0" no_error="true">
<param name="width" type="GLfloat"/>
<glx rop="95"/>
</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="PointSize" es1="1.0">
+ <function name="PointSize" es1="1.0" no_error="true">
<param name="size" type="GLfloat"/>
<glx rop="100"/>
</function>
- <function name="PolygonMode">
+ <function name="PolygonMode" no_error="true">
<param name="face" type="GLenum"/>
<param name="mode" type="GLenum"/>
<glx rop="101"/>
<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="125"/>
</function>
- <function name="DrawBuffer">
+ <function name="DrawBuffer" no_error="true">
<param name="mode" type="GLenum"/>
<glx rop="126"/>
</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>
<param name="u" type="GLfloat"/>
</function>
- <function name="EvalCoord1fv" deprecated="3.1">
+ <function name="EvalCoord1fv" deprecated="3.1" exec="dynamic">
<param name="u" type="const GLfloat *" count="1"/>
<glx rop="152"/>
</function>
<param name="v" type="GLfloat"/>
</function>
- <function name="EvalCoord2fv" deprecated="3.1">
+ <function name="EvalCoord2fv" deprecated="3.1" exec="dynamic">
<param name="u" type="const GLfloat *" count="2"/>
<glx rop="154"/>
</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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_COLOR0);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<glx handcode="true"/>
</function>
- <function name="DisableClientState" es1="1.0" deprecated="3.1">
+ <function name="DisableClientState" es1="1.0" deprecated="3.1"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, _mesa_array_to_attrib(ctx, array), false);">
<param name="array" type="GLenum"/>
<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_sync="_mesa_glthread_has_non_vbo_vertices(ctx)">
<param name="mode" type="GLenum"/>
<param name="first" type="GLint"/>
<param name="count" type="GLsizei"/>
</function>
<function name="DrawElements" es1="1.0" es2="2.0" exec="dynamic" marshal="draw"
- marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
+ marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices(ctx)">
<param name="mode" type="GLenum"/>
<param name="count" type="GLsizei"/>
<param name="type" type="GLenum"/>
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_EDGEFLAG);">
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
<glx handcode="true"/>
</function>
- <function name="EnableClientState" es1="1.0" deprecated="3.1">
+ <function name="EnableClientState" es1="1.0" deprecated="3.1"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, _mesa_array_to_attrib(ctx, array), true);">
<param name="array" type="GLenum"/>
<glx handcode="true"/>
</function>
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_COLOR_INDEX);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_NORMAL);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_TEX(ctx->GLThread.ClientActiveTexture));">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_POS);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
<glx sop="143" handcode="client" always_array="true"/>
</function>
- <function name="BindTexture" es1="1.0" es2="2.0">
+ <function name="BindTexture" es1="1.0" es2="2.0" no_error="true">
<param name="target" type="GLenum"/>
<param name="texture" type="GLuint"/>
<glx rop="4117"/>
</function>
- <function name="DeleteTextures" es1="1.0" es2="2.0">
+ <function name="DeleteTextures" es1="1.0" es2="2.0" no_error="true">
<param name="n" type="GLsizei" counter="true"/>
<param name="textures" type="const GLuint *" count="n"/>
<glx sop="144"/>
</function>
<function name="DrawRangeElements" es2="3.0" exec="dynamic" marshal="draw"
- marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
+ marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices(ctx)">
<param name="mode" type="GLenum"/>
<param name="start" type="GLuint"/>
<param name="end" type="GLuint"/>
<glx rop="197"/>
</function>
- <function name="ClientActiveTexture" es1="1.0" deprecated="3.1">
+ <function name="ClientActiveTexture" es1="1.0" deprecated="3.1"
+ marshal_call_after="ctx->GLThread.ClientActiveTexture = texture - GL_TEXTURE0;">
<param name="texture" type="GLenum"/>
<glx handcode="true"/>
</function>
</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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_FOG);">
<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_sync="_mesa_glthread_has_non_vbo_vertices(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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_COLOR1);">
<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>
<type name="intptr" size="4" glx_name="CARD32"/>
<type name="sizeiptr" size="4" unsigned="true" glx_name="CARD32"/>
- <function name="BindBuffer" es1="1.1" es2="2.0" marshal="custom" no_error="true">
+ <function name="BindBuffer" es1="1.1" es2="2.0" no_error="true"
+ marshal_call_after="if (COMPAT) _mesa_glthread_BindBuffer(ctx, target, buffer);">
<param name="target" type="GLenum"/>
<param name="buffer" type="GLuint"/>
<glx ignore="true"/>
</function>
- <function name="BufferData" es1="1.1" es2="2.0" marshal="custom">
+ <function name="BufferData" es1="1.1" es2="2.0" marshal="custom" no_error="true">
<param name="target" type="GLenum"/>
<param name="size" type="GLsizeiptr" counter="true"/>
<param name="data" type="const GLvoid *" count="size" img_null_flag="true"/>
<glx ignore="true"/>
</function>
- <function name="DeleteBuffers" es1="1.1" es2="2.0">
+ <function name="DeleteBuffers" es1="1.1" es2="2.0" no_error="true"
+ marshal_call_after="if (COMPAT) _mesa_glthread_DeleteBuffers(ctx, n, buffer);">
<param name="n" type="GLsizei" counter="true"/>
<param name="buffer" type="const GLuint *" count="n"/>
<glx ignore="true"/>
<glx rop="4228"/>
</function>
- <function name="DrawBuffers" es2="3.0">
+ <function name="DrawBuffers" es2="3.0" no_error="true">
<param name="n" type="GLsizei" counter="true"/>
<param name="bufs" type="const GLenum *" count="n"/>
<glx rop="233" large="true"/>
<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>
<glx ignore="true"/>
</function>
- <function name="DetachShader" es2="2.0">
+ <function name="DetachShader" es2="2.0" no_error="true">
<param name="program" type="GLuint"/>
<param name="shader" type="GLuint"/>
<glx ignore="true"/>
</function>
- <function name="DisableVertexAttribArray" es2="2.0" no_error="true">
+ <function name="DisableVertexAttribArray" es2="2.0" no_error="true"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_GENERIC(index), false);">
<param name="index" type="GLuint"/>
<glx ignore="true"/>
<glx handcode="true"/>
</function>
- <function name="EnableVertexAttribArray" es2="2.0" no_error="true">
+ <function name="EnableVertexAttribArray" es2="2.0" no_error="true"
+ marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_GENERIC(index), true);">
<param name="index" type="GLuint"/>
<glx ignore="true"/>
<glx handcode="true"/>
<glx ignore="true"/>
</function>
- <function name="LinkProgram" es2="2.0">
+ <function name="LinkProgram" es2="2.0" no_error="true">
<param name="program" type="GLuint"/>
<glx ignore="true"/>
</function>
- <function name="ShaderSource" es2="2.0" marshal="custom">
+ <function name="ShaderSource" es2="2.0" marshal="custom" no_error="true">
<param name="shader" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="string" type="const GLchar * const *"/>
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_GENERIC(index));">
<param name="index" type="GLuint"/>
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<glx ignore="true"/>
</function>
- <function name="DetachObjectARB">
+ <function name="DetachObjectARB" no_error="true">
<param name="containerObj" type="GLhandleARB"/>
<param name="attachedObj" type="GLhandleARB"/>
<glx ignore="true"/>
<!-- ARB extension number 74 is a WGL extension. -->
<!-- ARB extension number 75 is a GLX extension. -->
-<!-- 76. GL_ARB_shading_language_include -->
+<xi:include href="ARB_shading_language_include.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<!-- 77. GL_ARB_texture_compression_bptc -->
<xi:include href="ARB_blend_func_extended.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<param name="data" type="const GLvoid *"/>
<param name="flags" type="GLbitfield"/>
</function>
+
+ <function name="NamedBufferStorageEXT">
+ <param name="buffer" type="GLuint" />
+ <param name="size" type="GLsizeiptr" />
+ <param name="data" type="const GLvoid *" />
+ <param name="flags" type="GLbitfield" />
+ </function>
</category>
<xi:include href="ARB_clear_texture.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="ARB_gpu_shader_int64.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<category name="ARB_parallel_shader_compile" number="179">
+ <enum name="MAX_SHADER_COMPILER_THREADS_ARB" value="0x91B0"/>
+ <enum name="COMPLETION_STATUS_ARB" value="0x91B1"/>
+
+ <function name="MaxShaderCompilerThreadsKHR" es2="2.0">
+ <param name="count" type="GLuint"/>
+ </function>
+
+ <function name="MaxShaderCompilerThreadsARB" alias="MaxShaderCompilerThreadsKHR">
+ <param name="count" type="GLuint"/>
+ </function>
+</category>
+
+<!-- ARB extension 180 - 189 -->
+
+<xi:include href="ARB_gl_spirv.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<!-- ARB extensions 191 - 193 -->
+
+<xi:include href="ARB_spirv_extensions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<!-- Non-ARB extensions sorted by extension number. -->
<category name="GL_EXT_blend_color" number="2">
</function>
</category>
-<category name="GL_EXT_polygon_offset" number="3">
- <enum name="POLYGON_OFFSET_BIAS_EXT" value="0x8039"/>
-
- <function name="PolygonOffsetEXT" deprecated="3.1">
- <param name="factor" type="GLfloat"/>
- <param name="bias" type="GLfloat"/>
- <glx rop="4098" ignore="true"/>
- </function>
-</category>
-
<category name="GL_EXT_texture" number="4">
<enum name="ALPHA4_EXT" value="0x803B"/>
<enum name="ALPHA8_EXT" value="0x803C"/>
</function>
<function name="ColorPointerEXT" deprecated="3.1" marshal="async"
- marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
+ marshal_call_after="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_COLOR0);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_EDGEFLAG);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_COLOR_INDEX);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_NORMAL);">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_TEX(ctx->GLThread.ClientActiveTexture));">
<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="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_POS);">
<param name="size" type="GLint"/>
<param name="type" type="GLenum"/>
<param name="stride" type="GLsizei"/>
</function>
<function name="MultiDrawElementsEXT" es1="1.0" es2="2.0" exec="dynamic" marshal="draw"
- marshal_fail="_mesa_glthread_is_non_vbo_draw_elements(ctx)">
+ marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices(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>
<!-- Extension number 180 is not listed in the extension registry. -->
+<category name="GL_ARB_sample_locations" number="181">
+ <enum name="SAMPLE_LOCATION_SUBPIXEL_BITS_ARB" value="0x933D">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB" value="0x933E">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB" value="0x933F">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB" value="0x9340">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_ARB" value="0x8E50">
+ <size name="GetMultisamplefv" mode="get"/>
+ </enum>
+
+ <enum name="PROGRAMMABLE_SAMPLE_LOCATION_ARB" value="0x9341">
+ <size name="GetMultisamplefv" mode="get"/>
+ </enum>
+
+ <enum name="FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB" value="0x9342">
+ <size name="FramebufferParameteri"/>
+ <size name="GetFramebufferParameteriv"/>
+ </enum>
+
+ <enum name="FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB" value="0x9343">
+ <size name="FramebufferParameteri"/>
+ <size name="GetFramebufferParameteriv"/>
+ </enum>
+
+ <function name="FramebufferSampleLocationsfvARB" no_error="true">
+ <param name="target" type="GLenum"/>
+ <param name="start" type="GLuint"/>
+ <param name="count" type="GLsizei"/>
+ <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 *" count="(2 * count)"/>
+ </function>
+
+ <function name="EvaluateDepthValuesARB"/>
+</category>
+
+<category name="GL_NV_sample_locations" number="472">
+ <enum name="SAMPLE_LOCATION_SUBPIXEL_BITS_NV" value="0x933D" alias="SAMPLE_LOCATION_SUBPIXEL_BITS_ARB">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV" value="0x933E" alias="SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV" value="0x933F" alias="SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV" value="0x9340" alias="PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="SAMPLE_LOCATION_NV" value="0x8E50" alias="SAMPLE_LOCATION_ARB">
+ <size name="GetMultisamplefv" mode="get"/>
+ </enum>
+
+ <enum name="PROGRAMMABLE_SAMPLE_LOCATION_NV" value="0x9341" alias="PROGRAMMABLE_SAMPLE_LOCATION_ARB">
+ <size name="GetMultisamplefv" mode="get"/>
+ </enum>
+
+ <enum name="FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV" value="0x9342" alias="FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB">
+ <size name="FramebufferParameteri"/>
+ <size name="GetFramebufferParameteriv"/>
+ </enum>
+
+ <enum name="FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV" value="0x9343" alias="FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB">
+ <size name="FramebufferParameteri"/>
+ <size name="GetFramebufferParameteriv"/>
+ </enum>
+
+ <function name="FramebufferSampleLocationsfvNV" no_error="true" es2="3.1" alias="FramebufferSampleLocationsfvARB">
+ <param name="target" type="GLenum"/>
+ <param name="start" type="GLuint"/>
+ <param name="count" type="GLsizei"/>
+ <param name="v" type="const GLfloat *"/>
+ </function>
+
+ <function name="NamedFramebufferSampleLocationsfvNV" no_error="true" es2="3.1" alias="NamedFramebufferSampleLocationsfvARB">
+ <param name="framebuffer" type="GLuint"/>
+ <param name="start" type="GLuint"/>
+ <param name="count" type="GLsizei"/>
+ <param name="v" type="const GLfloat *"/>
+ </function>
+
+ <function name="ResolveDepthValuesNV" es2="3.1" alias="EvaluateDepthValuesARB"/>
+</category>
+
<category name="GL_SUN_convolution_border_modes" number="182">
<enum name="WRAP_BORDER_SUN" value="0x81D4"/>
</category>
</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_sync="_mesa_glthread_has_non_vbo_vertices(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>
<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 *"/>
+ marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices(ctx)">
+ <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"
+ xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="EXT_direct_state_access.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="EXT_shader_image_load_store.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<category name="GL_EXT_texture_sRGB_decode" number="402">
<enum name="TEXTURE_SRGB_DECODE_EXT" value="0x8A48"/>
<enum name="DECODE_EXT" value="0x8A49"/>
<enum name="GPU_MEMORY_INFO_EVICTED_MEMORY_NVX" value="0x904B" />
</category>
+<xi:include href="AMD_gpu_shader_int64.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<category name="GL_NV_fill_rectangle" number="466">
<enum name="FILL_RECTANGLE_NV" value="0x933C"/>
</category>
<enum name="CONSERVATIVE_RASTERIZATION_INTEL" value="0x83FE"/>
</category>
+<category name="GL_NV_conservative_raster" number="465">
+ <enum name="CONSERVATIVE_RASTERIZATION_NV" value="0x9346">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="SUBPIXEL_PRECISION_BIAS_X_BITS_NV" value="0x9347">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="SUBPIXEL_PRECISION_BIAS_Y_BITS_NV" value="0x9348">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV" value="0x9349">
+ <size name="Get" mode="get"/>
+ </enum>
+ <function name="SubpixelPrecisionBiasNV" es1="1.0" es2="2.0" no_error="true">
+ <param name="xbits" type="GLuint"/>
+ <param name="ybits" type="GLuint"/>
+ </function>
+</category>
+
+<category name="GL_NV_conservative_raster_dilate" number="480">
+ <enum name="CONSERVATIVE_RASTER_DILATE_NV" value="0x9379">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="CONSERVATIVE_RASTER_DILATE_RANGE_NV" value="0x937A">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV" value="0x937B">
+ <size name="Get" mode="get"/>
+ </enum>
+ <function name="ConservativeRasterParameterfNV" es1="1.0" es2="2.0" no_error="true">
+ <param name="pname" type="GLenum"/>
+ <param name="param" type="GLfloat"/>
+ </function>
+</category>
+
+<category name="GL_NV_conservative_pre_snap_triangles" number="487">
+ <enum name="CONSERVATIVE_RASTER_MODE_NV" value="0x954D">
+ <size name="Get" mode="get"/>
+ </enum>
+ <enum name="CONSERVATIVE_RASTER_MODE_POST_SNAP_NV" value="0x954E"/>
+ <enum name="CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV" value="0x954F"/>
+ <function name="ConservativeRasterParameteriNV" es1="1.0" es2="2.0" no_error="true">
+ <param name="pname" type="GLenum"/>
+ <param name="param" type="GLint"/>
+ </function>
+</category>
+
<xi:include href="INTEL_performance_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<xi:include href="NV_alpha_to_coverage_dither_control.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<category name="GL_EXT_polygon_offset_clamp" number="460">
<enum name="POLYGON_OFFSET_CLAMP_EXT" value="0x8E1B">
<size name="Get" mode="get"/>
<xi:include href="EXT_window_rectangles.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<!-- 520. GL_EXT_shader_framebuffer_fetch -->
+<category name="GL_EXT_shader_framebuffer_fetch" number="520">
+ <enum name="FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT" value="0x8A52"/>
+ <function name="FramebufferFetchBarrierEXT" es2="2.0"/>
+</category>
+
<!-- Unnumbered extensions sorted by name. -->
+<category name="GL_AMD_framebuffer_multisample_advanced">
+ <enum name="RENDERBUFFER_STORAGE_SAMPLES_AMD" value="0x91B2"/>
+ <enum name="MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD" value="0x91B3"/>
+ <enum name="MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD" value="0x91B4"/>
+ <enum name="MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD" value="0x91B5"/>
+ <enum name="NUM_SUPPORTED_MULTISAMPLE_MODES_AMD" value="0x91B6"/>
+ <enum name="SUPPORTED_MULTISAMPLE_MODES_AMD" value="0x91B7"/>
+
+ <function name="RenderbufferStorageMultisampleAdvancedAMD" es2="3.0">
+ <param name="target" type="GLenum"/>
+ <param name="samples" type="GLsizei"/>
+ <param name="storageSamples" type="GLsizei"/>
+ <param name="internalformat" type="GLenum"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </function>
+
+ <function name="NamedRenderbufferStorageMultisampleAdvancedAMD" es2="3.0">
+ <param name="renderbuffer" type="GLuint" />
+ <param name="samples" type="GLsizei" />
+ <param name="storageSamples" type="GLsizei"/>
+ <param name="internalformat" type="GLenum" />
+ <param name="width" type="GLsizei" />
+ <param name="height" type="GLsizei" />
+ </function>
+</category>
+
<category name="GL_ATI_blend_equation_separate">
<function name="BlendEquationSeparateATI" alias="BlendEquationSeparate">
<param name="modeRGB" type="GLenum"/>
<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>
<enum name="TIME_ELAPSED_EXT" value="0x88BF"/>
<type name="int64EXT" size="8"/>
<type name="uint64EXT" unsigned="true" size="8"/>
- <function name="GetQueryObjecti64vEXT" alias="GetQueryObjecti64v">
+ <function name="GetQueryObjecti64vEXT" alias="GetQueryObjecti64v" es2="2.0">
<param name="id" type="GLuint"/>
<param name="pname" type="GLenum"/>
<param name="params" type="GLint64EXT *"/>
</function>
- <function name="GetQueryObjectui64vEXT" alias="GetQueryObjectui64v">
+ <function name="GetQueryObjectui64vEXT" alias="GetQueryObjectui64v" es2="2.0">
<param name="id" type="GLuint"/>
<param name="pname" type="GLenum"/>
<param name="params" type="GLuint64EXT *"/>
</category>
<xi:include href="OES_EGL_image.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<xi:include href="EXT_EGL_image_storage.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="EXT_texture_integer.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="NV_vdpau_interop.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<xi:include href="EXT_external_objects.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<xi:include href="EXT_external_objects_fd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="NV_viewport_swizzle.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
<xi:include href="GL4x.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</OpenGLAPI>