summaryrefslogtreecommitdiff
path: root/lib/mesa/src/mapi/glapi/gen
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2022-09-02 05:18:14 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2022-09-02 05:18:14 +0000
commit5f66494d31f735486b8222ecfa0a0c9046e92543 (patch)
treef699ac8d7f6d510c30bded04f96a1209344f6a47 /lib/mesa/src/mapi/glapi/gen
parent17a5b543e3479aaa779cc68345c46d437edd05d8 (diff)
Import Mesa 22.1.7
Diffstat (limited to 'lib/mesa/src/mapi/glapi/gen')
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_draw_indirect.xml8
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_robustness.xml10
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_shader_subroutine.xml2
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_sparse_texture.xml50
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_tessellation_shader.xml4
-rw-r--r--lib/mesa/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml76
-rw-r--r--lib/mesa/src/mapi/glapi/gen/EXT_direct_state_access.xml150
-rw-r--r--lib/mesa/src/mapi/glapi/gen/EXT_gpu_shader4.xml28
-rw-r--r--lib/mesa/src/mapi/glapi/gen/EXT_provoking_vertex.xml2
-rw-r--r--lib/mesa/src/mapi/glapi/gen/EXT_texture_integer.xml4
-rw-r--r--lib/mesa/src/mapi/glapi/gen/EXT_window_rectangles.xml2
-rw-r--r--lib/mesa/src/mapi/glapi/gen/NV_half_float.xml88
-rw-r--r--lib/mesa/src/mapi/glapi/gen/NV_primitive_restart.xml2
-rw-r--r--lib/mesa/src/mapi/glapi/gen/NV_texture_barrier.xml2
-rw-r--r--lib/mesa/src/mapi/glapi/gen/api_exec_decl_h.py79
-rw-r--r--lib/mesa/src/mapi/glapi/gen/api_exec_init.py132
-rw-r--r--lib/mesa/src/mapi/glapi/gen/api_save_h.py63
-rw-r--r--lib/mesa/src/mapi/glapi/gen/api_save_init_h.py51
-rw-r--r--lib/mesa/src/mapi/glapi/gen/api_vtxfmt_init_h.py80
-rw-r--r--lib/mesa/src/mapi/glapi/gen/meson.build43
20 files changed, 684 insertions, 192 deletions
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_draw_indirect.xml b/lib/mesa/src/mapi/glapi/gen/ARB_draw_indirect.xml
index 541647a0c..feb6588de 100644
--- a/lib/mesa/src/mapi/glapi/gen/ARB_draw_indirect.xml
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_draw_indirect.xml
@@ -8,14 +8,14 @@
<enum name="DRAW_INDIRECT_BUFFER" value="0x8F3F"/>
<enum name="DRAW_INDIRECT_BUFFER_BINDING" value="0x8F43"/>
- <function name="DrawArraysIndirect" es2="3.1"
+ <function name="DrawArraysIndirect" es2="3.1" exec="dlist"
marshal="async"
marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
</function>
- <function name="DrawElementsIndirect" es2="3.1"
+ <function name="DrawElementsIndirect" es2="3.1" exec="dlist"
marshal="async"
marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices_or_indirect(ctx)">
<param name="mode" type="GLenum"/>
@@ -28,7 +28,7 @@
<category name="GL_ARB_multi_draw_indirect" number="133">
- <function name="MultiDrawArraysIndirect" marshal="async"
+ <function name="MultiDrawArraysIndirect" marshal="async" exec="dlist"
marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="indirect" type="const GLvoid *"/>
@@ -36,7 +36,7 @@
<param name="stride" type="GLsizei"/>
</function>
- <function name="MultiDrawElementsIndirect" marshal="async"
+ <function name="MultiDrawElementsIndirect" marshal="async" exec="dlist"
marshal_sync="_mesa_glthread_has_non_vbo_vertices_or_indices_or_indirect(ctx)">
<param name="mode" type="GLenum"/>
<param name="type" type="GLenum"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_robustness.xml b/lib/mesa/src/mapi/glapi/gen/ARB_robustness.xml
index 8a33bb8ac..c808eb34a 100644
--- a/lib/mesa/src/mapi/glapi/gen/ARB_robustness.xml
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_robustness.xml
@@ -98,7 +98,7 @@
<!-- ARB_imaging sized buffer queries -->
- <function name="GetnColorTableARB" deprecated="3.1">
+ <function name="GetnColorTableARB" deprecated="3.1" exec="skip">
<param name="target" type="GLenum"/>
<param name="format" type="GLenum"/>
<param name="type" type="GLenum"/>
@@ -106,7 +106,7 @@
<param name="table" type="GLvoid *" output="true"/>
</function>
- <function name="GetnConvolutionFilterARB" deprecated="3.1">
+ <function name="GetnConvolutionFilterARB" deprecated="3.1" exec="skip">
<param name="target" type="GLenum"/>
<param name="format" type="GLenum"/>
<param name="type" type="GLenum"/>
@@ -114,7 +114,7 @@
<param name="image" type="GLvoid *" output="true"/>
</function>
- <function name="GetnSeparableFilterARB" deprecated="3.1">
+ <function name="GetnSeparableFilterARB" deprecated="3.1" exec="skip">
<param name="target" type="GLenum"/>
<param name="format" type="GLenum"/>
<param name="type" type="GLenum"/>
@@ -125,7 +125,7 @@
<param name="span" type="GLvoid *" output="true"/>
</function>
- <function name="GetnHistogramARB" deprecated="3.1">
+ <function name="GetnHistogramARB" deprecated="3.1" exec="skip">
<param name="target" type="GLenum"/>
<param name="reset" type="GLboolean"/>
<param name="format" type="GLenum"/>
@@ -134,7 +134,7 @@
<param name="values" type="GLvoid *" output="true"/>
</function>
- <function name="GetnMinmaxARB" deprecated="3.1">
+ <function name="GetnMinmaxARB" deprecated="3.1" exec="skip">
<param name="target" type="GLenum"/>
<param name="reset" type="GLboolean"/>
<param name="format" type="GLenum"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_shader_subroutine.xml b/lib/mesa/src/mapi/glapi/gen/ARB_shader_subroutine.xml
index 9c537e4d2..12990792e 100644
--- a/lib/mesa/src/mapi/glapi/gen/ARB_shader_subroutine.xml
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_shader_subroutine.xml
@@ -47,7 +47,7 @@
<param name="name" type="GLchar *" output="true"/>
</function>
- <function name="UniformSubroutinesuiv">
+ <function name="UniformSubroutinesuiv" exec="dlist">
<param name="shadertype" type="GLenum"/>
<param name="count" type="GLsizei"/>
<param name="indices" type="const GLuint *" count="count"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_sparse_texture.xml b/lib/mesa/src/mapi/glapi/gen/ARB_sparse_texture.xml
new file mode 100644
index 000000000..e48e6c2c1
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_sparse_texture.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
+
+<OpenGLAPI>
+
+<category name="GL_ARB_sparse_texture" number="158">
+
+ <function name="TexPageCommitmentARB">
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="commit" type="GLboolean"/>
+ </function>
+
+ <!-- Only with GL_EXT_direct_state_access or GL_ARB_direct_state_access -->
+ <function name="TexturePageCommitmentEXT">
+ <param name="texture" type="GLuint"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="commit" type="GLboolean"/>
+ </function>
+
+ <enum name="TEXTURE_SPARSE_ARB" value="0x91A6"/>
+ <enum name="VIRTUAL_PAGE_SIZE_INDEX_ARB" value="0x91A7"/>
+
+ <enum name="NUM_SPARSE_LEVELS_ARB" value="0x91AA"/>
+
+ <enum name="NUM_VIRTUAL_PAGE_SIZES_ARB" value="0x91A8"/>
+ <enum name="VIRTUAL_PAGE_SIZE_X_ARB" value="0x9195"/>
+ <enum name="VIRTUAL_PAGE_SIZE_Y_ARB" value="0x9196"/>
+ <enum name="VIRTUAL_PAGE_SIZE_Z_ARB" value="0x9197"/>
+
+ <enum name="MAX_SPARSE_TEXTURE_SIZE_ARB" value="0x9198"/>
+ <enum name="MAX_SPARSE_3D_TEXTURE_SIZE_ARB" value="0x9199"/>
+ <enum name="MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB" value="0x919A"/>
+ <enum name="SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB" value="0x91A9"/>
+
+</category>
+
+</OpenGLAPI>
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_tessellation_shader.xml b/lib/mesa/src/mapi/glapi/gen/ARB_tessellation_shader.xml
index 696dfe425..88d47851c 100644
--- a/lib/mesa/src/mapi/glapi/gen/ARB_tessellation_shader.xml
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_tessellation_shader.xml
@@ -50,11 +50,11 @@
<enum value="0x8E8A" name="MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
<enum value="0x8221" name="PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
- <function name="PatchParameteri" es2="3.2" no_error="true">
+ <function name="PatchParameteri" es2="3.2" no_error="true" exec="dlist">
<param name="pname" type="GLenum"/>
<param name="value" type="GLint"/>
</function>
- <function name="PatchParameterfv">
+ <function name="PatchParameterfv" exec="dlist">
<param name="pname" type="GLenum"/>
<param name="values" type="const GLfloat *" count="_mesa_patch_param_enum_to_count(pname)"/>
</function>
diff --git a/lib/mesa/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml b/lib/mesa/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
index df225b911..282621f22 100644
--- a/lib/mesa/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
+++ b/lib/mesa/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml
@@ -7,214 +7,214 @@
<enum name="INT_2_10_10_10_REV" value = "0x8D9F"/>
- <function name="VertexP2ui" deprecated="3.1" exec="dynamic">
+ <function name="VertexP2ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexP3ui" deprecated="3.1" exec="dynamic">
+ <function name="VertexP3ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexP4ui" deprecated="3.1" exec="dynamic">
+ <function name="VertexP4ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexP2uiv" deprecated="3.1" exec="dynamic">
+ <function name="VertexP2uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="VertexP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="VertexP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="VertexP4uiv" deprecated="3.1" exec="dynamic">
+ <function name="VertexP4uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="TexCoordP1ui" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP1ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="TexCoordP2ui" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP2ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="TexCoordP3ui" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP3ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="TexCoordP4ui" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP4ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="TexCoordP1uiv" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP1uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="TexCoordP2uiv" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP2uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="TexCoordP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="TexCoordP4uiv" deprecated="3.1" exec="dynamic">
+ <function name="TexCoordP4uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="MultiTexCoordP1ui" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP1ui" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="MultiTexCoordP2ui" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP2ui" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="MultiTexCoordP3ui" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP3ui" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="MultiTexCoordP4ui" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP4ui" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="MultiTexCoordP1uiv" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP1uiv" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="MultiTexCoordP2uiv" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP2uiv" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="MultiTexCoordP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="MultiTexCoordP4uiv" deprecated="3.1" exec="dynamic">
+ <function name="MultiTexCoordP4uiv" deprecated="3.1" exec="vtxfmt">
<param name="texture" type="GLenum"/>
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="NormalP3ui" deprecated="3.1" exec="dynamic">
+ <function name="NormalP3ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="GLuint"/>
</function>
- <function name="NormalP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="NormalP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="coords" type="const GLuint *" count="1"/>
</function>
- <function name="ColorP3ui" deprecated="3.1" exec="dynamic">
+ <function name="ColorP3ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="GLuint"/>
</function>
- <function name="ColorP4ui" deprecated="3.1" exec="dynamic">
+ <function name="ColorP4ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="GLuint"/>
</function>
- <function name="ColorP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="ColorP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="const GLuint *" count="1"/>
</function>
- <function name="ColorP4uiv" deprecated="3.1" exec="dynamic">
+ <function name="ColorP4uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="const GLuint *" count="1"/>
</function>
- <function name="SecondaryColorP3ui" deprecated="3.1" exec="dynamic">
+ <function name="SecondaryColorP3ui" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="GLuint"/>
</function>
- <function name="SecondaryColorP3uiv" deprecated="3.1" exec="dynamic">
+ <function name="SecondaryColorP3uiv" deprecated="3.1" exec="vtxfmt">
<param name="type" type="GLenum"/>
<param name="color" type="const GLuint *" count="1"/>
</function>
- <function name="VertexAttribP1ui" exec="dynamic">
+ <function name="VertexAttribP1ui" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexAttribP2ui" exec="dynamic">
+ <function name="VertexAttribP2ui" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexAttribP3ui" exec="dynamic">
+ <function name="VertexAttribP3ui" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexAttribP4ui" exec="dynamic">
+ <function name="VertexAttribP4ui" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="GLuint"/>
</function>
- <function name="VertexAttribP1uiv" exec="dynamic">
+ <function name="VertexAttribP1uiv" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="VertexAttribP2uiv" exec="dynamic">
+ <function name="VertexAttribP2uiv" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="VertexAttribP3uiv" exec="dynamic">
+ <function name="VertexAttribP3uiv" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
<param name="value" type="const GLuint *" count="1"/>
</function>
- <function name="VertexAttribP4uiv" exec="dynamic">
+ <function name="VertexAttribP4uiv" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="type" type="GLenum"/>
<param name="normalized" type="GLboolean"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/EXT_direct_state_access.xml b/lib/mesa/src/mapi/glapi/gen/EXT_direct_state_access.xml
index c88642f10..b7fc5283f 100644
--- a/lib/mesa/src/mapi/glapi/gen/EXT_direct_state_access.xml
+++ b/lib/mesa/src/mapi/glapi/gen/EXT_direct_state_access.xml
@@ -18,64 +18,64 @@
<!-- GL1.0 extras -->
- <function name="MatrixLoadfEXT" offset="assign">
+ <function name="MatrixLoadfEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLfloat *" count="16"/>
</function>
- <function name="MatrixLoaddEXT" offset="assign">
+ <function name="MatrixLoaddEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLdouble *" count="16"/>
</function>
- <function name="MatrixMultfEXT" offset="assign">
+ <function name="MatrixMultfEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLfloat *" count="16"/>
</function>
- <function name="MatrixMultdEXT" offset="assign">
+ <function name="MatrixMultdEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLdouble *" count="16"/>
</function>
- <function name="MatrixLoadIdentityEXT" offset="assign">
+ <function name="MatrixLoadIdentityEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
</function>
- <function name="MatrixRotatefEXT" offset="assign">
+ <function name="MatrixRotatefEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="angle" type="GLfloat" />
<param name="x" type="GLfloat" />
<param name="y" type="GLfloat" />
<param name="z" type="GLfloat" />
</function>
- <function name="MatrixRotatedEXT" offset="assign">
+ <function name="MatrixRotatedEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="angle" type="GLdouble" />
<param name="x" type="GLdouble" />
<param name="y" type="GLdouble" />
<param name="z" type="GLdouble" />
</function>
- <function name="MatrixScalefEXT" offset="assign">
+ <function name="MatrixScalefEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="x" type="GLfloat" />
<param name="y" type="GLfloat" />
<param name="z" type="GLfloat" />
</function>
- <function name="MatrixScaledEXT" offset="assign">
+ <function name="MatrixScaledEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="x" type="GLdouble" />
<param name="y" type="GLdouble" />
<param name="z" type="GLdouble" />
</function>
- <function name="MatrixTranslatefEXT" offset="assign">
+ <function name="MatrixTranslatefEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="x" type="GLfloat" />
<param name="y" type="GLfloat" />
<param name="z" type="GLfloat" />
</function>
- <function name="MatrixTranslatedEXT" offset="assign">
+ <function name="MatrixTranslatedEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="x" type="GLdouble" />
<param name="y" type="GLdouble" />
<param name="z" type="GLdouble" />
</function>
- <function name="MatrixOrthoEXT" offset="assign">
+ <function name="MatrixOrthoEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="l" type="GLdouble" />
<param name="r" type="GLdouble" />
@@ -84,7 +84,7 @@
<param name="n" type="GLdouble" />
<param name="f" type="GLdouble" />
</function>
- <function name="MatrixFrustumEXT" offset="assign">
+ <function name="MatrixFrustumEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="l" type="GLdouble" />
<param name="r" type="GLdouble" />
@@ -93,11 +93,11 @@
<param name="n" type="GLdouble" />
<param name="f" type="GLdouble" />
</function>
- <function name="MatrixPushEXT" offset="assign"
+ <function name="MatrixPushEXT" offset="assign" exec="dlist"
marshal_call_after="_mesa_glthread_MatrixPushEXT(ctx, matrixMode);">
<param name="matrixMode" type="GLenum" />
</function>
- <function name="MatrixPopEXT" offset="assign"
+ <function name="MatrixPopEXT" offset="assign" exec="dlist"
marshal_call_after="_mesa_glthread_MatrixPopEXT(ctx, matrixMode);">
<param name="matrixMode" type="GLenum" />
</function>
@@ -144,35 +144,35 @@
<param name="params" type="float *" />
</function>
- <function name="TextureParameteriEXT">
+ <function name="TextureParameteriEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="int" />
</function>
- <function name="TextureParameterivEXT">
+ <function name="TextureParameterivEXT" exec="dlist">
<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="TextureParameterfEXT">
+ <function name="TextureParameterfEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="float" />
</function>
- <function name="TextureParameterfvEXT">
+ <function name="TextureParameterfvEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="params" type="const float *" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
- <function name="TextureImage1DEXT"
+ <function name="TextureImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -185,7 +185,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="TextureImage2DEXT"
+ <function name="TextureImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -199,7 +199,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="TextureImage3DEXT"
+ <function name="TextureImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -214,7 +214,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="TextureSubImage1DEXT"
+ <function name="TextureSubImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -226,7 +226,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="TextureSubImage2DEXT"
+ <function name="TextureSubImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -240,7 +240,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="TextureSubImage3DEXT"
+ <function name="TextureSubImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -256,7 +256,7 @@
<param name="pixels" type="const GLvoid *" />
</function>
- <function name="CopyTextureImage1DEXT">
+ <function name="CopyTextureImage1DEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -267,7 +267,7 @@
<param name="border" type="int" />
</function>
- <function name="CopyTextureImage2DEXT">
+ <function name="CopyTextureImage2DEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -279,7 +279,7 @@
<param name="border" type="int" />
</function>
- <function name="CopyTextureSubImage1DEXT">
+ <function name="CopyTextureSubImage1DEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -289,7 +289,7 @@
<param name="width" type="GLsizei" />
</function>
- <function name="CopyTextureSubImage2DEXT">
+ <function name="CopyTextureSubImage2DEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -301,7 +301,7 @@
<param name="height" type="GLsizei" />
</function>
- <function name="CopyTextureSubImage3DEXT">
+ <function name="CopyTextureSubImage3DEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -326,7 +326,7 @@
<!-- OpenGL 1.2.1 -->
- <function name="BindMultiTextureEXT">
+ <function name="BindMultiTextureEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="texture" type="GLuint" />
@@ -360,28 +360,28 @@
<param name="params" type="GLvoid**" />
</function>
- <function name="MultiTexEnviEXT">
+ <function name="MultiTexEnviEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="GLint" />
</function>
- <function name="MultiTexEnvivEXT">
+ <function name="MultiTexEnvivEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="const GLint *" count="_mesa_texenv_enum_to_count(pname)"/>
</function>
- <function name="MultiTexEnvfEXT">
+ <function name="MultiTexEnvfEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="GLfloat" />
</function>
- <function name="MultiTexEnvfvEXT">
+ <function name="MultiTexEnvfvEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
@@ -402,28 +402,28 @@
<param name="param" type="GLfloat *" />
</function>
- <function name="MultiTexParameteriEXT">
+ <function name="MultiTexParameteriEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="GLint" />
</function>
- <function name="MultiTexParameterivEXT">
+ <function name="MultiTexParameterivEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
</function>
- <function name="MultiTexParameterfEXT">
+ <function name="MultiTexParameterfEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="param" type="GLfloat" />
</function>
- <function name="MultiTexParameterfvEXT">
+ <function name="MultiTexParameterfvEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
@@ -470,7 +470,7 @@
<param name="params" type="GLfloat*" />
</function>
- <function name="MultiTexImage1DEXT"
+ <function name="MultiTexImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -483,7 +483,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="MultiTexImage2DEXT"
+ <function name="MultiTexImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -497,7 +497,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="MultiTexImage3DEXT"
+ <function name="MultiTexImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -512,7 +512,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="MultiTexSubImage1DEXT"
+ <function name="MultiTexSubImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -524,7 +524,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="MultiTexSubImage2DEXT"
+ <function name="MultiTexSubImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -538,7 +538,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="MultiTexSubImage3DEXT"
+ <function name="MultiTexSubImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -554,7 +554,7 @@
<param name="pixels" type="const GLvoid*" />
</function>
- <function name="CopyMultiTexImage1DEXT">
+ <function name="CopyMultiTexImage1DEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -565,7 +565,7 @@
<param name="border" type="GLint" />
</function>
- <function name="CopyMultiTexImage2DEXT">
+ <function name="CopyMultiTexImage2DEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -577,7 +577,7 @@
<param name="border" type="GLint" />
</function>
- <function name="CopyMultiTexSubImage1DEXT">
+ <function name="CopyMultiTexSubImage1DEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -587,7 +587,7 @@
<param name="width" type="GLsizei" />
</function>
- <function name="CopyMultiTexSubImage2DEXT">
+ <function name="CopyMultiTexSubImage2DEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -599,7 +599,7 @@
<param name="height" type="GLsizei" />
</function>
- <function name="CopyMultiTexSubImage3DEXT">
+ <function name="CopyMultiTexSubImage3DEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="level" type="GLint" />
@@ -686,27 +686,27 @@
<!-- OpenGL 1.3 -->
- <function name="MatrixLoadTransposefEXT" offset="assign">
+ <function name="MatrixLoadTransposefEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLfloat *" count="16"/>
</function>
- <function name="MatrixLoadTransposedEXT" offset="assign">
+ <function name="MatrixLoadTransposedEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLdouble *" count="16"/>
</function>
- <function name="MatrixMultTransposefEXT" offset="assign">
+ <function name="MatrixMultTransposefEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLfloat *" count="16"/>
</function>
- <function name="MatrixMultTransposedEXT" offset="assign">
+ <function name="MatrixMultTransposedEXT" offset="assign" exec="dlist">
<param name="matrixMode" type="GLenum" />
<param name="m" type="const GLdouble *" count="16"/>
</function>
- <function name="CompressedTextureImage1DEXT"
+ <function name="CompressedTextureImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -718,7 +718,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedTextureImage2DEXT"
+ <function name="CompressedTextureImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -731,7 +731,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedTextureImage3DEXT"
+ <function name="CompressedTextureImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -745,7 +745,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedTextureSubImage1DEXT"
+ <function name="CompressedTextureSubImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -757,7 +757,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedTextureSubImage2DEXT"
+ <function name="CompressedTextureSubImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -771,7 +771,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedTextureSubImage3DEXT"
+ <function name="CompressedTextureSubImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
@@ -795,7 +795,7 @@
<param name="img" type="GLvoid *" />
</function>
- <function name="CompressedMultiTexImage1DEXT"
+ <function name="CompressedMultiTexImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -807,7 +807,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedMultiTexImage2DEXT"
+ <function name="CompressedMultiTexImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -820,7 +820,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedMultiTexImage3DEXT"
+ <function name="CompressedMultiTexImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -834,7 +834,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedMultiTexSubImage1DEXT"
+ <function name="CompressedMultiTexSubImage1DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -846,7 +846,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedMultiTexSubImage2DEXT"
+ <function name="CompressedMultiTexSubImage2DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -860,7 +860,7 @@
<param name="data" type="const GLvoid *" />
</function>
- <function name="CompressedMultiTexSubImage3DEXT"
+ <function name="CompressedMultiTexSubImage3DEXT" exec="dlist"
marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
@@ -1247,7 +1247,7 @@
</function>
<!-- ARB_vertex_program -->
- <function name="NamedProgramStringEXT">
+ <function name="NamedProgramStringEXT" exec="dlist">
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="format" type="GLenum" />
@@ -1262,7 +1262,7 @@
<param name="string" type="GLvoid*" />
</function>
- <function name="NamedProgramLocalParameter4fEXT">
+ <function name="NamedProgramLocalParameter4fEXT" exec="dlist">
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
@@ -1272,7 +1272,7 @@
<param name="w" type="GLfloat" />
</function>
- <function name="NamedProgramLocalParameter4fvEXT">
+ <function name="NamedProgramLocalParameter4fvEXT" exec="dlist">
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
@@ -1286,7 +1286,7 @@
<param name="params" type="GLfloat*" />
</function>
- <function name="NamedProgramLocalParameter4dEXT">
+ <function name="NamedProgramLocalParameter4dEXT" exec="dlist">
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
@@ -1296,7 +1296,7 @@
<param name="w" type="GLdouble" />
</function>
- <function name="NamedProgramLocalParameter4dvEXT">
+ <function name="NamedProgramLocalParameter4dvEXT" exec="dlist">
<param name="program" type="GLuint" />
<param name="target" type="GLenum" />
<param name="index" type="GLuint" />
@@ -1333,14 +1333,14 @@
</function>
<!-- EXT_texture_integer -->
- <function name="TextureParameterIivEXT">
+ <function name="TextureParameterIivEXT" exec="dlist">
<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">
+ <function name="TextureParameterIuivEXT" exec="dlist">
<param name="texture" type="GLuint" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
@@ -1361,14 +1361,14 @@
<param name="params" type="GLuint*" />
</function>
- <function name="MultiTexParameterIivEXT">
+ <function name="MultiTexParameterIivEXT" exec="dlist">
<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">
+ <function name="MultiTexParameterIuivEXT" exec="dlist">
<param name="texunit" type="GLenum" />
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
diff --git a/lib/mesa/src/mapi/glapi/gen/EXT_gpu_shader4.xml b/lib/mesa/src/mapi/glapi/gen/EXT_gpu_shader4.xml
index 8febbcf7f..1561d97af 100644
--- a/lib/mesa/src/mapi/glapi/gen/EXT_gpu_shader4.xml
+++ b/lib/mesa/src/mapi/glapi/gen/EXT_gpu_shader4.xml
@@ -40,25 +40,25 @@
</enum>
- <function name="VertexAttribI1iEXT" exec="dynamic">
+ <function name="VertexAttribI1iEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLint"/>
</function>
- <function name="VertexAttribI2iEXT" exec="dynamic">
+ <function name="VertexAttribI2iEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLint"/>
<param name="y" type="GLint"/>
</function>
- <function name="VertexAttribI3iEXT" exec="dynamic">
+ <function name="VertexAttribI3iEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLint"/>
<param name="y" type="GLint"/>
<param name="z" type="GLint"/>
</function>
- <function name="VertexAttribI4iEXT" exec="dynamic">
+ <function name="VertexAttribI4iEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLint"/>
<param name="y" type="GLint"/>
@@ -66,25 +66,25 @@
<param name="w" type="GLint"/>
</function>
- <function name="VertexAttribI1uiEXT" exec="dynamic">
+ <function name="VertexAttribI1uiEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLuint"/>
</function>
- <function name="VertexAttribI2uiEXT" exec="dynamic">
+ <function name="VertexAttribI2uiEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLuint"/>
<param name="y" type="GLuint"/>
</function>
- <function name="VertexAttribI3uiEXT" exec="dynamic">
+ <function name="VertexAttribI3uiEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLuint"/>
<param name="y" type="GLuint"/>
<param name="z" type="GLuint"/>
</function>
- <function name="VertexAttribI4uiEXT" exec="dynamic">
+ <function name="VertexAttribI4uiEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="x" type="GLuint"/>
<param name="y" type="GLuint"/>
@@ -97,17 +97,17 @@
<param name="v" type="const GLint *"/>
</function>
- <function name="VertexAttribI2ivEXT" exec="dynamic">
+ <function name="VertexAttribI2ivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLint *" count="2"/>
</function>
- <function name="VertexAttribI3ivEXT" exec="dynamic">
+ <function name="VertexAttribI3ivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLint *" count="3"/>
</function>
- <function name="VertexAttribI4ivEXT" exec="dynamic">
+ <function name="VertexAttribI4ivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLint *" count="4"/>
</function>
@@ -117,17 +117,17 @@
<param name="v" type="const GLuint *"/>
</function>
- <function name="VertexAttribI2uivEXT" exec="dynamic">
+ <function name="VertexAttribI2uivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLuint *" count="2"/>
</function>
- <function name="VertexAttribI3uivEXT" exec="dynamic">
+ <function name="VertexAttribI3uivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLuint *" count="3"/>
</function>
- <function name="VertexAttribI4uivEXT" exec="dynamic">
+ <function name="VertexAttribI4uivEXT" exec="vtxfmt">
<param name="index" type="GLuint"/>
<param name="v" type="const GLuint *" count="4"/>
</function>
diff --git a/lib/mesa/src/mapi/glapi/gen/EXT_provoking_vertex.xml b/lib/mesa/src/mapi/glapi/gen/EXT_provoking_vertex.xml
index 3d1ae771e..a21b96d39 100644
--- a/lib/mesa/src/mapi/glapi/gen/EXT_provoking_vertex.xml
+++ b/lib/mesa/src/mapi/glapi/gen/EXT_provoking_vertex.xml
@@ -26,7 +26,7 @@
<enum name="PROVOKING_VERTEX" value="0x8E4F"/>
<enum name="QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION" value="0x8E4C"/>
- <function name="ProvokingVertex">
+ <function name="ProvokingVertex" exec="dlist">
<param name="mode" type="GLenum"/>
</function>
diff --git a/lib/mesa/src/mapi/glapi/gen/EXT_texture_integer.xml b/lib/mesa/src/mapi/glapi/gen/EXT_texture_integer.xml
index eb6b220ea..ee1386133 100644
--- a/lib/mesa/src/mapi/glapi/gen/EXT_texture_integer.xml
+++ b/lib/mesa/src/mapi/glapi/gen/EXT_texture_integer.xml
@@ -55,14 +55,14 @@
<enum name="LUMINANCE_INTEGER_EXT" value="0x8D9C"/>
<enum name="LUMINANCE_ALPHA_INTEGER_EXT" value="0x8D9D"/>
- <function name="ClearColorIiEXT">
+ <function name="ClearColorIiEXT" exec="dlist">
<param name="r" type="GLint"/>
<param name="g" type="GLint"/>
<param name="b" type="GLint"/>
<param name="a" type="GLint"/>
</function>
- <function name="ClearColorIuiEXT">
+ <function name="ClearColorIuiEXT" exec="dlist">
<param name="r" type="GLuint"/>
<param name="g" type="GLuint"/>
<param name="b" type="GLuint"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/EXT_window_rectangles.xml b/lib/mesa/src/mapi/glapi/gen/EXT_window_rectangles.xml
index cceaeca09..d928cdf28 100644
--- a/lib/mesa/src/mapi/glapi/gen/EXT_window_rectangles.xml
+++ b/lib/mesa/src/mapi/glapi/gen/EXT_window_rectangles.xml
@@ -19,7 +19,7 @@
<size name="Get" mode="get"/>
</enum>
- <function name="WindowRectanglesEXT" es2="3.0">
+ <function name="WindowRectanglesEXT" es2="3.0" exec="dlist">
<param name="mode" type="GLenum"/>
<param name="count" type="GLsizei"/>
<param name="box" type="const GLint *" count="(4 * count)"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/NV_half_float.xml b/lib/mesa/src/mapi/glapi/gen/NV_half_float.xml
index b08d57534..40965bd10 100644
--- a/lib/mesa/src/mapi/glapi/gen/NV_half_float.xml
+++ b/lib/mesa/src/mapi/glapi/gen/NV_half_float.xml
@@ -5,139 +5,139 @@
<category name="GL_NV_half_float" number="283">
- <function name="Vertex2hNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex2hNV" exec="vtxfmt" deprecated="3.1">
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
</function>
- <function name="Vertex2hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex2hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="2"/>
</function>
- <function name="Vertex3hNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex3hNV" exec="vtxfmt" deprecated="3.1">
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
<param name="z" type="GLhalfNV"/>
</function>
- <function name="Vertex3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="Vertex4hNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex4hNV" exec="vtxfmt" deprecated="3.1">
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
<param name="z" type="GLhalfNV"/>
<param name="w" type="GLhalfNV"/>
</function>
- <function name="Vertex4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Vertex4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="4"/>
</function>
- <function name="Normal3hNV" exec="dynamic" deprecated="3.1">
+ <function name="Normal3hNV" exec="vtxfmt" deprecated="3.1">
<param name="nx" type="GLhalfNV"/>
<param name="ny" type="GLhalfNV"/>
<param name="nz" type="GLhalfNV"/>
</function>
- <function name="Normal3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Normal3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="Color3hNV" exec="dynamic" deprecated="3.1">
+ <function name="Color3hNV" exec="vtxfmt" deprecated="3.1">
<param name="red" type="GLhalfNV"/>
<param name="green" type="GLhalfNV"/>
<param name="blue" type="GLhalfNV"/>
</function>
- <function name="Color3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Color3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="Color4hNV" exec="dynamic" deprecated="3.1">
+ <function name="Color4hNV" exec="vtxfmt" deprecated="3.1">
<param name="red" type="GLhalfNV"/>
<param name="green" type="GLhalfNV"/>
<param name="blue" type="GLhalfNV"/>
<param name="alpha" type="GLhalfNV"/>
</function>
- <function name="Color4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="Color4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="4"/>
</function>
- <function name="TexCoord1hNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord1hNV" exec="vtxfmt" deprecated="3.1">
<param name="s" type="GLhalfNV"/>
</function>
- <function name="TexCoord1hvNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord1hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="1"/>
</function>
- <function name="TexCoord2hNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord2hNV" exec="vtxfmt" deprecated="3.1">
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
</function>
- <function name="TexCoord2hvNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord2hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="2"/>
</function>
- <function name="TexCoord3hNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord3hNV" exec="vtxfmt" deprecated="3.1">
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
<param name="r" type="GLhalfNV"/>
</function>
- <function name="TexCoord3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="TexCoord4hNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord4hNV" exec="vtxfmt" deprecated="3.1">
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
<param name="r" type="GLhalfNV"/>
<param name="q" type="GLhalfNV"/>
</function>
- <function name="TexCoord4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="TexCoord4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="4"/>
</function>
- <function name="MultiTexCoord1hNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord1hNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="s" type="GLhalfNV"/>
</function>
- <function name="MultiTexCoord1hvNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord1hvNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="v" type="const GLhalfNV *" count="1"/>
</function>
- <function name="MultiTexCoord2hNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord2hNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
</function>
- <function name="MultiTexCoord2hvNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord2hvNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="v" type="const GLhalfNV *" count="2"/>
</function>
- <function name="MultiTexCoord3hNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord3hNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
<param name="r" type="GLhalfNV"/>
</function>
- <function name="MultiTexCoord3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="MultiTexCoord4hNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord4hNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="s" type="GLhalfNV"/>
<param name="t" type="GLhalfNV"/>
@@ -145,45 +145,45 @@
<param name="q" type="GLhalfNV"/>
</function>
- <function name="MultiTexCoord4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="MultiTexCoord4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="target" type="GLenum"/>
<param name="v" type="const GLhalfNV *" count="4"/>
</function>
- <function name="VertexAttrib1hNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib1hNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="x" type="GLhalfNV"/>
</function>
- <function name="VertexAttrib1hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib1hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="v" type="const GLhalfNV *" count="1"/>
</function>
- <function name="VertexAttrib2hNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib2hNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
</function>
- <function name="VertexAttrib2hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib2hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="v" type="const GLhalfNV *" count="2"/>
</function>
- <function name="VertexAttrib3hNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib3hNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
<param name="z" type="GLhalfNV"/>
</function>
- <function name="VertexAttrib3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
- <function name="VertexAttrib4hNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib4hNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="x" type="GLhalfNV"/>
<param name="y" type="GLhalfNV"/>
@@ -191,50 +191,50 @@
<param name="w" type="GLhalfNV"/>
</function>
- <function name="VertexAttrib4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttrib4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="v" type="const GLhalfNV *" count="4"/>
</function>
- <function name="VertexAttribs1hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttribs1hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="n" type="GLsizei"/>
<param name="v" type="const GLhalfNV *" count="n"/>
</function>
- <function name="VertexAttribs2hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttribs2hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="n" type="GLsizei"/>
<param name="v" type="const GLhalfNV *" count="n" count_scale="2"/>
</function>
- <function name="VertexAttribs3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttribs3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="n" type="GLsizei"/>
<param name="v" type="const GLhalfNV *" count="n" count_scale="3"/>
</function>
- <function name="VertexAttribs4hvNV" exec="dynamic" deprecated="3.1">
+ <function name="VertexAttribs4hvNV" exec="vtxfmt" deprecated="3.1">
<param name="index" type="GLuint"/>
<param name="n" type="GLsizei"/>
<param name="v" type="const GLhalfNV *" count="n" count_scale="4"/>
</function>
- <function name="FogCoordhNV" exec="dynamic" deprecated="3.1">
+ <function name="FogCoordhNV" exec="vtxfmt" deprecated="3.1">
<param name="x" type="GLhalfNV"/>
</function>
- <function name="FogCoordhvNV" exec="dynamic" deprecated="3.1">
+ <function name="FogCoordhvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="1"/>
</function>
- <function name="SecondaryColor3hNV" exec="dynamic" deprecated="3.1">
+ <function name="SecondaryColor3hNV" exec="vtxfmt" deprecated="3.1">
<param name="red" type="GLhalfNV"/>
<param name="green" type="GLhalfNV"/>
<param name="blue" type="GLhalfNV"/>
</function>
- <function name="SecondaryColor3hvNV" exec="dynamic" deprecated="3.1">
+ <function name="SecondaryColor3hvNV" exec="vtxfmt" deprecated="3.1">
<param name="v" type="const GLhalfNV *" count="3"/>
</function>
diff --git a/lib/mesa/src/mapi/glapi/gen/NV_primitive_restart.xml b/lib/mesa/src/mapi/glapi/gen/NV_primitive_restart.xml
index 232665236..e53062f78 100644
--- a/lib/mesa/src/mapi/glapi/gen/NV_primitive_restart.xml
+++ b/lib/mesa/src/mapi/glapi/gen/NV_primitive_restart.xml
@@ -11,7 +11,7 @@
<enum name="PRIMITIVE_RESTART_NV" value="0x8558"/>
<enum name="PRIMITIVE_RESTART_INDEX_NV" value="0x8559"/>
- <function name="PrimitiveRestartNV" deprecated="3.1" exec="dynamic"/>
+ <function name="PrimitiveRestartNV" deprecated="3.1" exec="vtxfmt"/>
<function name="PrimitiveRestartIndexNV" alias="PrimitiveRestartIndex">
<param name="index" type="GLuint"/>
diff --git a/lib/mesa/src/mapi/glapi/gen/NV_texture_barrier.xml b/lib/mesa/src/mapi/glapi/gen/NV_texture_barrier.xml
index b4c361cc3..b4d3d88d6 100644
--- a/lib/mesa/src/mapi/glapi/gen/NV_texture_barrier.xml
+++ b/lib/mesa/src/mapi/glapi/gen/NV_texture_barrier.xml
@@ -7,7 +7,7 @@
<OpenGLAPI>
<category name="GL_NV_texture_barrier" number="381">
- <function name="TextureBarrierNV"/>
+ <function name="TextureBarrierNV" exec="dlist" />
</category>
</OpenGLAPI>
diff --git a/lib/mesa/src/mapi/glapi/gen/api_exec_decl_h.py b/lib/mesa/src/mapi/glapi/gen/api_exec_decl_h.py
new file mode 100644
index 000000000..d6e396738
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/api_exec_decl_h.py
@@ -0,0 +1,79 @@
+# Copyright (C) 2012 Intel Corporation
+# Copyright (C) 2021 Advanced Micro Devices, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# This script generates the file api_exec_decl.h, which contains forward
+# declarations of all GL functions prefixed with _mesa_*.
+
+import argparse
+import collections
+import license
+import gl_XML
+import sys
+import apiexec
+import textwrap
+
+
+class PrintCode(gl_XML.gl_print_base):
+ def __init__(self):
+ super().__init__()
+
+ self.name = 'api_exec_decl_h.py'
+ self.license = license.bsd_license_template % (
+ 'Copyright (C) 2012 Intel Corporation\n'
+ 'Copyright (C) 2021 Advanced Micro Devices, Inc.',
+ 'AUTHORS')
+
+ def printBody(self, api):
+ print(textwrap.dedent("""\
+ #ifndef API_EXEC_DECL_H
+ #define API_EXEC_DECL_H
+
+ #include "GL/gl.h"
+
+ #define GL_API GLAPI
+ #define GL_APIENTRY GLAPIENTRY
+ #include "GLES/gl.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ """))
+
+ for f in api.functionIterateAll():
+ if f.exec_flavor == 'skip':
+ continue
+
+ print('{0} GLAPIENTRY _mesa_{1}({2});'.format(
+ f.return_type, f.name, f.get_parameter_string()))
+ if f.has_no_error_variant:
+ print('{0} GLAPIENTRY _mesa_{1}_no_error({2});'.format(
+ f.return_type, f.name, f.get_parameter_string()))
+ print('')
+ print('#ifdef __cplusplus')
+ print('}')
+ print('#endif')
+ print('')
+ print('#endif')
+
+
+if __name__ == '__main__':
+ apiexec.print_glapi_file(PrintCode())
diff --git a/lib/mesa/src/mapi/glapi/gen/api_exec_init.py b/lib/mesa/src/mapi/glapi/gen/api_exec_init.py
new file mode 100644
index 000000000..ec1c2ea6b
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/api_exec_init.py
@@ -0,0 +1,132 @@
+
+# Copyright (C) 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# This script generates the file api_exec_init.c, which contains
+# _mesa_initialize_exec_table(). It is responsible for populating all
+# entries in the "exec" dispatch table that aren't dynamic.
+
+import argparse
+import collections
+import license
+import gl_XML
+import sys
+import apiexec
+
+
+exec_flavor_map = {
+ 'vtxfmt': None,
+ 'dlist': '_mesa_',
+ 'mesa': '_mesa_',
+ 'skip': None,
+ }
+
+
+header = """/**
+ * \\file api_exec_init.c
+ * Initialize dispatch table.
+ */
+
+
+#include "api_exec_decl.h"
+#include "glapi/glapi.h"
+#include "main/context.h"
+#include "main/dispatch.h"
+
+
+/**
+ * Initialize a context's exec table with pointers to Mesa's supported
+ * GL functions.
+ *
+ * This function depends on ctx->Version.
+ *
+ * \param ctx GL context to which \c exec belongs.
+ */
+void
+_mesa_initialize_exec_table(struct gl_context *ctx)
+{
+ struct _glapi_table *exec;
+
+ exec = ctx->Exec;
+ assert(exec != NULL);
+
+ assert(ctx->Version > 0);
+"""
+
+
+footer = """
+}
+"""
+
+
+class PrintCode(gl_XML.gl_print_base):
+
+ def __init__(self):
+ gl_XML.gl_print_base.__init__(self)
+
+ self.name = 'api_exec_init.py'
+ self.license = license.bsd_license_template % (
+ 'Copyright (C) 2012 Intel Corporation',
+ 'Intel Corporation')
+
+ def printRealHeader(self):
+ print(header)
+
+ def printRealFooter(self):
+ print(footer)
+
+ def printBody(self, api):
+ # Collect SET_* calls by the condition under which they should
+ # be called.
+ settings_by_condition = collections.defaultdict(lambda: [])
+ for f in api.functionIterateAll():
+ if f.exec_flavor not in exec_flavor_map:
+ raise Exception(
+ 'Unrecognized exec flavor {0!r}'.format(f.exec_flavor))
+ condition = apiexec.get_api_condition(f)
+ if not condition:
+ continue
+ prefix = exec_flavor_map[f.exec_flavor]
+ if prefix is None:
+ # This function is not implemented, or is dispatched
+ # via vtxfmt.
+ continue
+ if f.has_no_error_variant:
+ no_error_condition = '_mesa_is_no_error_enabled(ctx) && ({0})'.format(condition)
+ error_condition = '!_mesa_is_no_error_enabled(ctx) && ({0})'.format(condition)
+ settings_by_condition[no_error_condition].append(
+ 'SET_{0}(exec, {1}{0}_no_error);'.format(f.name, prefix, f.name))
+ settings_by_condition[error_condition].append(
+ 'SET_{0}(exec, {1}{0});'.format(f.name, prefix, f.name))
+ else:
+ settings_by_condition[condition].append(
+ 'SET_{0}(exec, {1}{0});'.format(f.name, prefix, f.name))
+ # Print out an if statement for each unique condition, with
+ # the SET_* calls nested inside it.
+ for condition in sorted(settings_by_condition.keys()):
+ print(' if ({0}) {{'.format(condition))
+ for setting in sorted(settings_by_condition[condition]):
+ print(' {0}'.format(setting))
+ print(' }')
+
+
+if __name__ == '__main__':
+ apiexec.print_glapi_file(PrintCode())
diff --git a/lib/mesa/src/mapi/glapi/gen/api_save_h.py b/lib/mesa/src/mapi/glapi/gen/api_save_h.py
new file mode 100644
index 000000000..d2838f5fb
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/api_save_h.py
@@ -0,0 +1,63 @@
+# Copyright (C) 2012 Intel Corporation
+# Copyright (C) 2021 Advanced Micro Devices, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# This script generates the file api_save.h.
+
+import argparse
+import collections
+import license
+import gl_XML
+import sys
+import apiexec
+import textwrap
+
+
+class PrintCode(gl_XML.gl_print_base):
+ def __init__(self):
+ super().__init__()
+
+ self.name = 'api_save_h.py'
+ self.license = license.bsd_license_template % (
+ 'Copyright (C) 2012 Intel Corporation\n'
+ 'Copyright (C) 2021 Advanced Micro Devices, Inc.',
+ 'AUTHORS')
+
+ def printBody(self, api):
+ print(textwrap.dedent("""\
+ #ifndef API_SAVE_H
+ #define API_SAVE_H
+
+ #include "GL/gl.h"
+ """))
+
+ for f in api.functionIterateAll():
+ if f.exec_flavor != 'dlist':
+ continue
+
+ print('{0} GLAPIENTRY save_{1}({2});'.format(f.return_type, f.name, f.get_parameter_string()))
+
+ print('')
+ print('#endif')
+
+
+if __name__ == '__main__':
+ apiexec.print_glapi_file(PrintCode())
diff --git a/lib/mesa/src/mapi/glapi/gen/api_save_init_h.py b/lib/mesa/src/mapi/glapi/gen/api_save_init_h.py
new file mode 100644
index 000000000..f8a7a686f
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/api_save_init_h.py
@@ -0,0 +1,51 @@
+# Copyright (C) 2012 Intel Corporation
+# Copyright (C) 2021 Advanced Micro Devices, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# This script generates the file api_save_init.h.
+
+import collections
+import license
+import gl_XML
+import sys
+import apiexec
+
+
+class PrintCode(gl_XML.gl_print_base):
+ def __init__(self):
+ super().__init__()
+
+ self.name = 'api_save_init_h.py'
+ self.license = license.bsd_license_template % (
+ 'Copyright (C) 2012 Intel Corporation\n'
+ 'Copyright (C) 2021 Advanced Micro Devices, Inc.',
+ 'AUTHORS')
+
+ def printBody(self, api):
+ for f in api.functionIterateAll():
+ if f.exec_flavor != 'dlist':
+ continue
+
+ print('SET_{0}(table, save_{0});'.format(f.name))
+
+
+if __name__ == '__main__':
+ apiexec.print_glapi_file(PrintCode())
diff --git a/lib/mesa/src/mapi/glapi/gen/api_vtxfmt_init_h.py b/lib/mesa/src/mapi/glapi/gen/api_vtxfmt_init_h.py
new file mode 100644
index 000000000..6bd9bb1f1
--- /dev/null
+++ b/lib/mesa/src/mapi/glapi/gen/api_vtxfmt_init_h.py
@@ -0,0 +1,80 @@
+# Copyright (C) 2012 Intel Corporation
+# Copyright (C) 2021 Advanced Micro Devices, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+# This script generates the file api_vtxfmt_init.h.
+
+import argparse
+import collections
+import license
+import gl_XML
+import sys
+import apiexec
+import re
+
+
+class PrintCode(gl_XML.gl_print_base):
+ def __init__(self):
+ super().__init__()
+
+ self.name = 'api_vtxfmt_init_h.py'
+ self.license = license.bsd_license_template % (
+ 'Copyright (C) 2012 Intel Corporation\n'
+ 'Copyright (C) 2021 Advanced Micro Devices, Inc.',
+ 'AUTHORS')
+
+ def printBody(self, api):
+ # Collect SET_* calls by the condition under which they should
+ # be called.
+ settings_by_condition = collections.defaultdict(lambda: [])
+
+ for f in api.functionIterateAll():
+ if f.exec_flavor != 'vtxfmt':
+ continue
+
+ condition = apiexec.get_api_condition(f)
+ if not condition:
+ continue
+
+ if (condition == '_mesa_is_desktop_gl(ctx) || ctx->API == API_OPENGLES2' and
+ re.match('VertexAttrib[1-4].*ARB', f.name)):
+ # These functions should map to an *ES callback for GLES2.
+ settings_by_condition['_mesa_is_desktop_gl(ctx)'].append(
+ 'SET_{0}(tab, NAME({0}));'.format(f.name))
+ settings_by_condition['ctx->API == API_OPENGLES2'].append(
+ 'SET_{0}(tab, NAME_ES({0}));'.format(f.name))
+ else:
+ macro = ('NAME_CALLLIST' if f.name[0:8] == 'CallList' else
+ 'NAME_AE' if f.name == 'ArrayElement' else 'NAME')
+ settings_by_condition[condition].append(
+ 'SET_{0}(tab, {1}({0}));'.format(f.name, macro))
+
+ # Print out an if statement for each unique condition, with
+ # the SET_* calls nested inside it.
+ for condition in sorted(settings_by_condition.keys()):
+ print('if ({0}) {{'.format(condition))
+ for setting in sorted(settings_by_condition[condition]):
+ print(' {0}'.format(setting))
+ print('}')
+
+
+if __name__ == '__main__':
+ apiexec.print_glapi_file(PrintCode())
diff --git a/lib/mesa/src/mapi/glapi/gen/meson.build b/lib/mesa/src/mapi/glapi/gen/meson.build
index f679ed3ee..1b807585d 100644
--- a/lib/mesa/src/mapi/glapi/gen/meson.build
+++ b/lib/mesa/src/mapi/glapi/gen/meson.build
@@ -82,6 +82,7 @@ api_xml_files = files(
'ARB_shader_subroutine.xml',
'ARB_shader_storage_buffer_object.xml',
'ARB_sparse_buffer.xml',
+ 'ARB_sparse_texture.xml',
'ARB_spirv_extensions.xml',
'ARB_sync.xml',
'ARB_tessellation_shader.xml',
@@ -216,9 +217,45 @@ main_enums_c = custom_target(
)
main_api_exec_c = custom_target(
- 'api_exec.c',
- input : ['gl_genexec.py', 'gl_and_es_API.xml'],
- output : 'api_exec.c',
+ 'api_exec_init.c',
+ input : ['api_exec_init.py', 'gl_and_es_API.xml'],
+ output : 'api_exec_init.c',
+ command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
+ depend_files : files('apiexec.py') + glapi_gen_depends,
+ capture : true,
+)
+
+main_api_exec_decl_h = custom_target(
+ 'api_exec_decl.h',
+ input : ['api_exec_decl_h.py', 'gl_and_es_API.xml'],
+ output : 'api_exec_decl.h',
+ command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
+ depend_files : files('apiexec.py') + glapi_gen_depends,
+ capture : true,
+)
+
+main_api_save_init_h = custom_target(
+ 'api_save_init.h',
+ input : ['api_save_init_h.py', 'gl_and_es_API.xml'],
+ output : 'api_save_init.h',
+ command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
+ depend_files : files('apiexec.py') + glapi_gen_depends,
+ capture : true,
+)
+
+main_api_save_h = custom_target(
+ 'api_save.h',
+ input : ['api_save_h.py', 'gl_and_es_API.xml'],
+ output : 'api_save.h',
+ command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
+ depend_files : files('apiexec.py') + glapi_gen_depends,
+ capture : true,
+)
+
+main_api_vtxfmt_init_h = custom_target(
+ 'api_vtxfmt_init.h',
+ input : ['api_vtxfmt_init_h.py', 'gl_and_es_API.xml'],
+ output : 'api_vtxfmt_init.h',
command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
depend_files : files('apiexec.py') + glapi_gen_depends,
capture : true,