diff --git a/src/mesa/glapi/gl_API.xml b/src/mesa/glapi/gl_API.xml
index eee3377..6e8df0c 100644
--- a/src/mesa/glapi/gl_API.xml
+++ b/src/mesa/glapi/gl_API.xml
@@ -7486,7 +7486,7 @@
     </enum>
     <enum name="TABLE_TOO_LARGE_EXT"                      value="0x8031"/>
 
-    <function name="GetHistogramEXT" offset="assign">
+    <function name="GetHistogramEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="reset" type="GLboolean"/>
         <param name="format" type="GLenum"/>
@@ -7495,21 +7495,21 @@
         <glx vendorpriv="5" handcode="true" ignore="true"/>
     </function>
 
-    <function name="GetHistogramParameterfvEXT" offset="assign">
+    <function name="GetHistogramParameterfvEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
         <glx vendorpriv="6" ignore="true"/>
     </function>
 
-    <function name="GetHistogramParameterivEXT" offset="assign">
+    <function name="GetHistogramParameterivEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
         <glx vendorpriv="7" ignore="true"/>
     </function>
 
-    <function name="GetMinmaxEXT" offset="assign">
+    <function name="GetMinmaxEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="reset" type="GLboolean"/>
         <param name="format" type="GLenum"/>
@@ -7518,38 +7518,38 @@
         <glx vendorpriv="8" handcode="true" ignore="true"/>
     </function>
 
-    <function name="GetMinmaxParameterfvEXT" offset="assign">
+    <function name="GetMinmaxParameterfvEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
         <glx vendorpriv="9" ignore="true"/>
     </function>
 
-    <function name="GetMinmaxParameterivEXT" offset="assign">
+    <function name="GetMinmaxParameterivEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
         <glx vendorpriv="10" ignore="true"/>
     </function>
 
-    <function name="HistogramEXT" alias="Histogram">
+    <function name="HistogramEXT" alias="Histogram" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="width" type="GLsizei"/>
         <param name="internalformat" type="GLenum"/>
         <param name="sink" type="GLboolean"/>
     </function>
 
-    <function name="MinmaxEXT" alias="Minmax">
+    <function name="MinmaxEXT" alias="Minmax" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="sink" type="GLboolean"/>
     </function>
 
-    <function name="ResetHistogramEXT" alias="ResetHistogram">
+    <function name="ResetHistogramEXT" alias="ResetHistogram" static_dispatch="false">
         <param name="target" type="GLenum"/>
     </function>
 
-    <function name="ResetMinmaxEXT" alias="ResetMinmax">
+    <function name="ResetMinmaxEXT" alias="ResetMinmax" static_dispatch="false">
         <param name="target" type="GLenum"/>
     </function>
 </category>
@@ -7621,7 +7621,7 @@
         <size name="Get" mode="get"/>
     </enum>
 
-    <function name="ConvolutionFilter1DEXT" alias="ConvolutionFilter1D">
+    <function name="ConvolutionFilter1DEXT" alias="ConvolutionFilter1D" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
@@ -7630,7 +7630,7 @@
         <param name="image" type="const GLvoid *"/>
     </function>
 
-    <function name="ConvolutionFilter2DEXT" alias="ConvolutionFilter2D">
+    <function name="ConvolutionFilter2DEXT" alias="ConvolutionFilter2D" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
@@ -7640,31 +7640,31 @@
         <param name="image" type="const GLvoid *"/>
     </function>
 
-    <function name="ConvolutionParameterfEXT" alias="ConvolutionParameterf">
+    <function name="ConvolutionParameterfEXT" alias="ConvolutionParameterf" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat"/>
     </function>
 
-    <function name="ConvolutionParameterfvEXT" alias="ConvolutionParameterfv">
+    <function name="ConvolutionParameterfvEXT" alias="ConvolutionParameterfv" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLfloat *"/>
     </function>
 
-    <function name="ConvolutionParameteriEXT" alias="ConvolutionParameteri">
+    <function name="ConvolutionParameteriEXT" alias="ConvolutionParameteri" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint"/>
     </function>
 
-    <function name="ConvolutionParameterivEXT" alias="ConvolutionParameteriv">
+    <function name="ConvolutionParameterivEXT" alias="ConvolutionParameteriv" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLint *"/>
     </function>
 
-    <function name="CopyConvolutionFilter1DEXT" alias="CopyConvolutionFilter1D">
+    <function name="CopyConvolutionFilter1DEXT" alias="CopyConvolutionFilter1D" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="x" type="GLint"/>
@@ -7672,7 +7672,7 @@
         <param name="width" type="GLsizei"/>
     </function>
 
-    <function name="CopyConvolutionFilter2DEXT" alias="CopyConvolutionFilter2D">
+    <function name="CopyConvolutionFilter2DEXT" alias="CopyConvolutionFilter2D" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="x" type="GLint"/>
@@ -7681,7 +7681,7 @@
         <param name="height" type="GLsizei"/>
     </function>
 
-    <function name="GetConvolutionFilterEXT" offset="assign">
+    <function name="GetConvolutionFilterEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="format" type="GLenum"/>
         <param name="type" type="GLenum"/>
@@ -7689,21 +7689,21 @@
         <glx vendorpriv="1" handcode="true" ignore="true"/>
     </function>
 
-    <function name="GetConvolutionParameterfvEXT" offset="assign">
+    <function name="GetConvolutionParameterfvEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
         <glx vendorpriv="2" ignore="true"/>
     </function>
 
-    <function name="GetConvolutionParameterivEXT" offset="assign">
+    <function name="GetConvolutionParameterivEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
         <glx vendorpriv="3" ignore="true"/>
     </function>
 
-    <function name="GetSeparableFilterEXT" offset="assign">
+    <function name="GetSeparableFilterEXT" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="format" type="GLenum"/>
         <param name="type" type="GLenum"/>
@@ -7713,7 +7713,7 @@
         <glx vendorpriv="4" handcode="true" ignore="true"/>
     </function>
 
-    <function name="SeparableFilter2DEXT" alias="SeparableFilter2D">
+    <function name="SeparableFilter2DEXT" alias="SeparableFilter2D" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
@@ -7785,7 +7785,7 @@
         <size name="GetColorTableParameterivSGI" mode="get"/>
     </enum>
 
-    <function name="ColorTableSGI" alias="ColorTable">
+    <function name="ColorTableSGI" alias="ColorTable" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="width" type="GLsizei"/>
@@ -7794,19 +7794,19 @@
         <param name="table" type="const GLvoid *"/>
     </function>
 
-    <function name="ColorTableParameterfvSGI" alias="ColorTableParameterfv">
+    <function name="ColorTableParameterfvSGI" alias="ColorTableParameterfv" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLfloat *"/>
     </function>
 
-    <function name="ColorTableParameterivSGI" alias="ColorTableParameteriv">
+    <function name="ColorTableParameterivSGI" alias="ColorTableParameteriv" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLint *"/>
     </function>
 
-    <function name="CopyColorTableSGI" alias="CopyColorTable">
+    <function name="CopyColorTableSGI" alias="CopyColorTable" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="internalformat" type="GLenum"/>
         <param name="x" type="GLint"/>
@@ -7814,7 +7814,7 @@
         <param name="width" type="GLsizei"/>
     </function>
 
-    <function name="GetColorTableSGI" offset="assign">
+    <function name="GetColorTableSGI" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="format" type="GLenum"/>
         <param name="type" type="GLenum"/>
@@ -7822,14 +7822,14 @@
         <glx vendorpriv="4098" dimensions_in_reply="true"/>
     </function>
 
-    <function name="GetColorTableParameterfvSGI" offset="assign">
+    <function name="GetColorTableParameterfvSGI" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
         <glx vendorpriv="4099"/>
     </function>
 
-    <function name="GetColorTableParameterivSGI" offset="assign">
+    <function name="GetColorTableParameterivSGI" offset="assign" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
@@ -7838,37 +7838,37 @@
 </category>
 
 <category name="GL_SGIS_pixel_texture" number="15">
-    <function name="PixelTexGenParameteriSGIS" offset="assign">
+    <function name="PixelTexGenParameteriSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="param" type="GLint"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="PixelTexGenParameterivSGIS" offset="assign">
+    <function name="PixelTexGenParameterivSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLint *"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="PixelTexGenParameterfSGIS" offset="assign">
+    <function name="PixelTexGenParameterfSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="param" type="GLfloat"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="PixelTexGenParameterfvSGIS" offset="assign">
+    <function name="PixelTexGenParameterfvSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLfloat *"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="GetPixelTexGenParameterivSGIS" offset="assign">
+    <function name="GetPixelTexGenParameterivSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true" variable_param="pname"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="GetPixelTexGenParameterfvSGIS" offset="assign">
+    <function name="GetPixelTexGenParameterfvSGIS" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
         <glx ignore="true"/>
@@ -7989,13 +7989,13 @@
 </category>
 
 <category name="GL_SGIS_multisample" number="25">
-    <function name="SampleMaskSGIS" offset="assign">
+    <function name="SampleMaskSGIS" offset="assign" static_dispatch="false">
         <param name="value" type="GLclampf"/>
         <param name="invert" type="GLboolean"/>
         <glx rop="2048"/>
     </function>
 
-    <function name="SamplePatternSGIS" offset="assign">
+    <function name="SamplePatternSGIS" offset="assign" static_dispatch="false">
         <param name="pattern" type="GLenum"/>
         <glx rop="2049"/>
     </function>
@@ -8399,7 +8399,7 @@
 <!-- Extension number 73 is not listed in the extension registry. -->
 
 <category name="GL_EXT_color_subtable" number="74">
-    <function name="ColorSubTableEXT" alias="ColorSubTable">
+    <function name="ColorSubTableEXT" alias="ColorSubTable" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="start" type="GLsizei"/>
         <param name="count" type="GLsizei"/>
@@ -8408,7 +8408,7 @@
         <param name="data" type="const GLvoid *"/>
     </function>
 
-    <function name="CopyColorSubTableEXT" alias="CopyColorSubTable">
+    <function name="CopyColorSubTableEXT" alias="CopyColorSubTable" static_dispatch="false">
         <param name="target" type="GLenum"/>
         <param name="start" type="GLsizei"/>
         <param name="x" type="GLint"/>
@@ -8626,13 +8626,13 @@
         <size name="CullParameterdv"/>
     </enum>
 
-    <function name="CullParameterdvEXT" offset="assign">
+    <function name="CullParameterdvEXT" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLdouble *"/> <!-- Spec bug. Should be const. -->
         <glx ignore="true"/>
     </function>
 
-    <function name="CullParameterfvEXT" offset="assign">
+    <function name="CullParameterfvEXT" offset="assign" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLfloat *"/> <!-- Spec bug. Should be const. -->
         <glx ignore="true"/>
@@ -9226,7 +9226,7 @@
 </category>
 
 <category name="GL_SGIX_pixel_texture" number="160">
-    <function name="PixelTexGenSGIX" offset="assign">
+    <function name="PixelTexGenSGIX" offset="assign" static_dispatch="false">
         <param name="mode" type="GLenum"/>
         <glx rop="2059" ignore="true"/>
     </function>
@@ -10063,7 +10063,7 @@
 </category>
 
 <category name="GL_IBM_multimode_draw_arrays" number="200">
-    <function name="MultiModeDrawArraysIBM" offset="assign">
+    <function name="MultiModeDrawArraysIBM" offset="assign" static_dispatch="false">
         <param name="mode" type="const GLenum *"/>
         <param name="first" type="const GLint *"/>
         <param name="count" type="const GLsizei *"/>
@@ -10072,7 +10072,7 @@
         <glx handcode="true" ignore="true"/>
     </function>
 
-    <function name="MultiModeDrawElementsIBM" offset="assign">
+    <function name="MultiModeDrawElementsIBM" offset="assign" static_dispatch="false">
         <param name="mode" type="const GLenum *"/>
         <param name="count" type="const GLsizei *"/>
         <param name="type" type="GLenum"/>
@@ -10169,12 +10169,12 @@
 </category>
 
 <category name="GL_EXT_multisample" number="209">
-    <function name="SampleMaskEXT" alias="SampleMaskSGIS">
+    <function name="SampleMaskEXT" alias="SampleMaskSGIS" static_dispatch="false">
         <param name="value" type="GLclampf"/>
         <param name="invert" type="GLboolean"/>
     </function>
 
-    <function name="SamplePatternEXT" alias="SamplePatternSGIS">
+    <function name="SamplePatternEXT" alias="SamplePatternSGIS" static_dispatch="false">
         <param name="pattern" type="GLenum"/>
     </function>
 </category>
@@ -10211,43 +10211,43 @@
 </category>
 
 <category name="GL_NV_fence" number="222">
-    <function name="DeleteFencesNV" offset="assign">
+    <function name="DeleteFencesNV" offset="assign" static_dispatch="false">
         <param name="n" type="GLsizei"/>
         <param name="fences" type="const GLuint *"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="GenFencesNV" offset="assign">
+    <function name="GenFencesNV" offset="assign" static_dispatch="false">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="fences" type="GLuint *" output="true" count="n"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="IsFenceNV" offset="assign">
+    <function name="IsFenceNV" offset="assign" static_dispatch="false">
         <param name="fence" type="GLuint"/>
         <return type="GLboolean"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="TestFenceNV" offset="assign">
+    <function name="TestFenceNV" offset="assign" static_dispatch="false">
         <param name="fence" type="GLuint"/>
         <return type="GLboolean"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="GetFenceivNV" offset="assign">
+    <function name="GetFenceivNV" offset="assign" static_dispatch="false">
         <param name="fence" type="GLuint"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint *" output="true"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="FinishFenceNV" offset="assign">
+    <function name="FinishFenceNV" offset="assign" static_dispatch="false">
         <param name="fence" type="GLuint"/>
         <glx ignore="true"/>
     </function>
 
-    <function name="SetFenceNV" offset="assign">
+    <function name="SetFenceNV" offset="assign" static_dispatch="false">
         <param name="fence" type="GLuint"/>
         <param name="condition" type="GLenum"/>
         <glx ignore="true"/>
@@ -11172,7 +11172,7 @@
         <size name="Get" mode="get"/>
     </enum>
 
-    <function name="ActiveStencilFaceEXT" offset="assign">
+    <function name="ActiveStencilFaceEXT" offset="assign" static_dispatch="false">
         <param name="face" type="GLenum"/>
         <glx rop="4220"/>
     </function>
@@ -11351,7 +11351,7 @@
         <size name="Get" mode="get"/>
     </enum>
 
-    <function name="DepthBoundsEXT" offset="assign">
+    <function name="DepthBoundsEXT" offset="assign" static_dispatch="false">
         <param name="zmin" type="GLclampd"/>
         <param name="zmax" type="GLclampd"/>
         <glx rop="4229" ignore="true"/>
@@ -11372,7 +11372,7 @@
         <size name="Get" mode="get"/>
     </enum>
 
-    <function name="BlendEquationSeparateEXT" offset="assign">
+    <function name="BlendEquationSeparateEXT" offset="assign" static_dispatch="false">
         <param name="modeRGB" type="GLenum"/>
         <param name="modeA" type="GLenum"/>
         <glx rop="4228"/>
@@ -11446,14 +11446,14 @@
 <!-- Unnumbered extensions sorted by name. -->
 
 <category name="GL_ATI_blend_equation_separate">
-    <function name="BlendEquationSeparateATI" alias="BlendEquationSeparateEXT">
+    <function name="BlendEquationSeparateATI" alias="BlendEquationSeparateEXT" static_dispatch="false">
         <param name="modeRGB" type="GLenum"/>
         <param name="modeA" type="GLenum"/>
     </function>
 </category>
 
 <category name="GL_INGR_blend_func_separate">
-    <function name="BlendFuncSeparateINGR" alias="BlendFuncSeparateEXT">
+    <function name="BlendFuncSeparateINGR" alias="BlendFuncSeparateEXT" static_dispatch="false">
         <param name="sfactorRGB" type="GLenum"/>
         <param name="dfactorRGB" type="GLenum"/>
         <param name="sfactorAlpha" type="GLenum"/>
@@ -11507,12 +11507,12 @@
         <size name="PointParameterfvEXT"/>
     </enum>
 
-    <function name="PointParameterfSGIS" alias="PointParameterfEXT">
+    <function name="PointParameterfSGIS" alias="PointParameterfEXT" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="param" type="GLfloat"/>
     </function>
 
-    <function name="PointParameterfvSGIS" alias="PointParameterfvEXT">
+    <function name="PointParameterfvSGIS" alias="PointParameterfvEXT" static_dispatch="false">
         <param name="pname" type="GLenum"/>
         <param name="params" type="const GLfloat *"/>
     </function>
@@ -11573,12 +11573,12 @@
     <enum name="TIME_ELAPSED_EXT" value="0x88BF"/>
     <type name="int64EXT"                  size="8"/>
     <type name="uint64EXT" unsigned="true" size="8"/>
-    <function name="GetQueryObjecti64vEXT" offset="assign">
+    <function name="GetQueryObjecti64vEXT" offset="assign" static_dispatch="false">
         <param name="id" type="GLuint"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLint64EXT *"/>
     </function>
-    <function name="GetQueryObjectui64vEXT" offset="assign">
+    <function name="GetQueryObjectui64vEXT" offset="assign" static_dispatch="false">
         <param name="id" type="GLuint"/>
         <param name="pname" type="GLenum"/>
         <param name="params" type="GLuint64EXT *"/>
@@ -11590,7 +11590,7 @@
     <enum name="DRAW_FRAMEBUFFER_EXT" value="0x8CA9"/>
     <enum name="DRAW_FRAMEBUFFER_BINDING_EXT" value="0x8CA6"/>
     <enum name="READ_FRAMEBUFFER_BINDING_EXT" value="0x8CAA"/>
-    <function name="BlitFramebufferEXT" offset="assign">
+    <function name="BlitFramebufferEXT" offset="assign" static_dispatch="false">
         <param name="srcX0" type="GLint"/>
         <param name="srcY0" type="GLint"/>
         <param name="srcX1" type="GLint"/>
diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h
index 6d667c0..e55e4a2 100644
--- a/src/mesa/glapi/glapitemp.h
+++ b/src/mesa/glapi/glapitemp.h
@@ -1855,7 +1855,9 @@
    DISPATCH(ColorTable, (target, internalformat, width, format, type, table), (F, "glColorTable(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) table));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorTableSGI)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_339)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_339)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table)
 {
    DISPATCH(ColorTable, (target, internalformat, width, format, type, table), (F, "glColorTableSGI(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) table));
 }
@@ -1870,7 +1872,9 @@
    DISPATCH(ColorTableParameterfv, (target, pname, params), (F, "glColorTableParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorTableParameterfvSGI)(GLenum target, GLenum pname, const GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_340)(GLenum target, GLenum pname, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_340)(GLenum target, GLenum pname, const GLfloat * params)
 {
    DISPATCH(ColorTableParameterfv, (target, pname, params), (F, "glColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -1880,7 +1884,9 @@
    DISPATCH(ColorTableParameteriv, (target, pname, params), (F, "glColorTableParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorTableParameterivSGI)(GLenum target, GLenum pname, const GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_341)(GLenum target, GLenum pname, const GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_341)(GLenum target, GLenum pname, const GLint * params)
 {
    DISPATCH(ColorTableParameteriv, (target, pname, params), (F, "glColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -1890,7 +1896,9 @@
    DISPATCH(CopyColorTable, (target, internalformat, x, y, width), (F, "glCopyColorTable(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CopyColorTableSGI)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_342)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_342)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
 {
    DISPATCH(CopyColorTable, (target, internalformat, x, y, width), (F, "glCopyColorTableSGI(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
 }
@@ -1915,7 +1923,9 @@
    DISPATCH(ColorSubTable, (target, start, count, format, type, data), (F, "glColorSubTable(0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, start, count, format, type, (const void *) data));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_346)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_346)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data)
 {
    DISPATCH(ColorSubTable, (target, start, count, format, type, data), (F, "glColorSubTableEXT(0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, start, count, format, type, (const void *) data));
 }
@@ -1925,7 +1935,9 @@
    DISPATCH(CopyColorSubTable, (target, start, x, y, width), (F, "glCopyColorSubTable(0x%x, %d, %d, %d, %d);\n", target, start, x, y, width));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_347)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_347)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
 {
    DISPATCH(CopyColorSubTable, (target, start, x, y, width), (F, "glCopyColorSubTableEXT(0x%x, %d, %d, %d, %d);\n", target, start, x, y, width));
 }
@@ -1935,7 +1947,9 @@
    DISPATCH(ConvolutionFilter1D, (target, internalformat, width, format, type, image), (F, "glConvolutionFilter1D(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) image));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_348)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_348)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image)
 {
    DISPATCH(ConvolutionFilter1D, (target, internalformat, width, format, type, image), (F, "glConvolutionFilter1DEXT(0x%x, 0x%x, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, format, type, (const void *) image));
 }
@@ -1945,7 +1959,9 @@
    DISPATCH(ConvolutionFilter2D, (target, internalformat, width, height, format, type, image), (F, "glConvolutionFilter2D(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, height, format, type, (const void *) image));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_349)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_349)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image)
 {
    DISPATCH(ConvolutionFilter2D, (target, internalformat, width, height, format, type, image), (F, "glConvolutionFilter2DEXT(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, internalformat, width, height, format, type, (const void *) image));
 }
@@ -1955,7 +1971,9 @@
    DISPATCH(ConvolutionParameterf, (target, pname, params), (F, "glConvolutionParameterf(0x%x, 0x%x, %f);\n", target, pname, params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_350)(GLenum target, GLenum pname, GLfloat params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_350)(GLenum target, GLenum pname, GLfloat params)
 {
    DISPATCH(ConvolutionParameterf, (target, pname, params), (F, "glConvolutionParameterfEXT(0x%x, 0x%x, %f);\n", target, pname, params));
 }
@@ -1965,7 +1983,9 @@
    DISPATCH(ConvolutionParameterfv, (target, pname, params), (F, "glConvolutionParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_351)(GLenum target, GLenum pname, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_351)(GLenum target, GLenum pname, const GLfloat * params)
 {
    DISPATCH(ConvolutionParameterfv, (target, pname, params), (F, "glConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -1975,7 +1995,9 @@
    DISPATCH(ConvolutionParameteri, (target, pname, params), (F, "glConvolutionParameteri(0x%x, 0x%x, %d);\n", target, pname, params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_352)(GLenum target, GLenum pname, GLint params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_352)(GLenum target, GLenum pname, GLint params)
 {
    DISPATCH(ConvolutionParameteri, (target, pname, params), (F, "glConvolutionParameteriEXT(0x%x, 0x%x, %d);\n", target, pname, params));
 }
@@ -1985,7 +2007,9 @@
    DISPATCH(ConvolutionParameteriv, (target, pname, params), (F, "glConvolutionParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ConvolutionParameterivEXT)(GLenum target, GLenum pname, const GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_353)(GLenum target, GLenum pname, const GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_353)(GLenum target, GLenum pname, const GLint * params)
 {
    DISPATCH(ConvolutionParameteriv, (target, pname, params), (F, "glConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -1995,7 +2019,9 @@
    DISPATCH(CopyConvolutionFilter1D, (target, internalformat, x, y, width), (F, "glCopyConvolutionFilter1D(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_354)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_354)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
 {
    DISPATCH(CopyConvolutionFilter1D, (target, internalformat, x, y, width), (F, "glCopyConvolutionFilter1DEXT(0x%x, 0x%x, %d, %d, %d);\n", target, internalformat, x, y, width));
 }
@@ -2005,7 +2031,9 @@
    DISPATCH(CopyConvolutionFilter2D, (target, internalformat, x, y, width, height), (F, "glCopyConvolutionFilter2D(0x%x, 0x%x, %d, %d, %d, %d);\n", target, internalformat, x, y, width, height));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_355)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_355)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
 {
    DISPATCH(CopyConvolutionFilter2D, (target, internalformat, x, y, width, height), (F, "glCopyConvolutionFilter2DEXT(0x%x, 0x%x, %d, %d, %d, %d);\n", target, internalformat, x, y, width, height));
 }
@@ -2035,7 +2063,9 @@
    DISPATCH(SeparableFilter2D, (target, internalformat, width, height, format, type, row, column), (F, "glSeparableFilter2D(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p, %p);\n", target, internalformat, width, height, format, type, (const void *) row, (const void *) column));
 }
 
-KEYWORD1 void KEYWORD2 NAME(SeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_360)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_360)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column)
 {
    DISPATCH(SeparableFilter2D, (target, internalformat, width, height, format, type, row, column), (F, "glSeparableFilter2DEXT(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p, %p);\n", target, internalformat, width, height, format, type, (const void *) row, (const void *) column));
 }
@@ -2075,7 +2105,9 @@
    DISPATCH(Histogram, (target, width, internalformat, sink), (F, "glHistogram(0x%x, %d, 0x%x, %d);\n", target, width, internalformat, sink));
 }
 
-KEYWORD1 void KEYWORD2 NAME(HistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_367)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_367)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
 {
    DISPATCH(Histogram, (target, width, internalformat, sink), (F, "glHistogramEXT(0x%x, %d, 0x%x, %d);\n", target, width, internalformat, sink));
 }
@@ -2085,7 +2117,9 @@
    DISPATCH(Minmax, (target, internalformat, sink), (F, "glMinmax(0x%x, 0x%x, %d);\n", target, internalformat, sink));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MinmaxEXT)(GLenum target, GLenum internalformat, GLboolean sink)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_368)(GLenum target, GLenum internalformat, GLboolean sink);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_368)(GLenum target, GLenum internalformat, GLboolean sink)
 {
    DISPATCH(Minmax, (target, internalformat, sink), (F, "glMinmaxEXT(0x%x, 0x%x, %d);\n", target, internalformat, sink));
 }
@@ -2095,7 +2129,9 @@
    DISPATCH(ResetHistogram, (target), (F, "glResetHistogram(0x%x);\n", target));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ResetHistogramEXT)(GLenum target)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_369)(GLenum target);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_369)(GLenum target)
 {
    DISPATCH(ResetHistogram, (target), (F, "glResetHistogramEXT(0x%x);\n", target));
 }
@@ -2105,7 +2141,9 @@
    DISPATCH(ResetMinmax, (target), (F, "glResetMinmax(0x%x);\n", target));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ResetMinmaxEXT)(GLenum target)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_370)(GLenum target);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_370)(GLenum target)
 {
    DISPATCH(ResetMinmax, (target), (F, "glResetMinmaxEXT(0x%x);\n", target));
 }
@@ -3320,57 +3358,79 @@
    DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_543)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_543)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)
 {
    DISPATCH(GetHistogramEXT, (target, reset, format, type, values), (F, "glGetHistogramEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_544)(GLenum target, GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_544)(GLenum target, GLenum pname, GLfloat * params)
 {
    DISPATCH(GetHistogramParameterfvEXT, (target, pname, params), (F, "glGetHistogramParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_545)(GLenum target, GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_545)(GLenum target, GLenum pname, GLint * params)
 {
    DISPATCH(GetHistogramParameterivEXT, (target, pname, params), (F, "glGetHistogramParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_546)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_546)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)
 {
    DISPATCH(GetMinmaxEXT, (target, reset, format, type, values), (F, "glGetMinmaxEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_547)(GLenum target, GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_547)(GLenum target, GLenum pname, GLfloat * params)
 {
    DISPATCH(GetMinmaxParameterfvEXT, (target, pname, params), (F, "glGetMinmaxParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_548)(GLenum target, GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_548)(GLenum target, GLenum pname, GLint * params)
 {
    DISPATCH(GetMinmaxParameterivEXT, (target, pname, params), (F, "glGetMinmaxParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * image)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_549)(GLenum target, GLenum format, GLenum type, GLvoid * image);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_549)(GLenum target, GLenum format, GLenum type, GLvoid * image)
 {
    DISPATCH(GetConvolutionFilterEXT, (target, format, type, image), (F, "glGetConvolutionFilterEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_550)(GLenum target, GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_550)(GLenum target, GLenum pname, GLfloat * params)
 {
    DISPATCH(GetConvolutionParameterfvEXT, (target, pname, params), (F, "glGetConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_551)(GLenum target, GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_551)(GLenum target, GLenum pname, GLint * params)
 {
    DISPATCH(GetConvolutionParameterivEXT, (target, pname, params), (F, "glGetConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_552)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_552)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span)
 {
    DISPATCH(GetSeparableFilterEXT, (target, format, type, row, column, span), (F, "glGetSeparableFilterEXT(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_553)(GLenum target, GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_553)(GLenum target, GLenum pname, GLfloat * params)
 {
    DISPATCH(GetColorTableParameterfvSGI, (target, pname, params), (F, "glGetColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -3380,7 +3440,9 @@
    DISPATCH(GetColorTableParameterfvSGI, (target, pname, params), (F, "glGetColorTableParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_554)(GLenum target, GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_554)(GLenum target, GLenum pname, GLint * params)
 {
    DISPATCH(GetColorTableParameterivSGI, (target, pname, params), (F, "glGetColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
@@ -3390,7 +3452,9 @@
    DISPATCH(GetColorTableParameterivSGI, (target, pname, params), (F, "glGetColorTableParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetColorTableSGI)(GLenum target, GLenum format, GLenum type, GLvoid * table)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_555)(GLenum target, GLenum format, GLenum type, GLvoid * table);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_555)(GLenum target, GLenum format, GLenum type, GLvoid * table)
 {
    DISPATCH(GetColorTableSGI, (target, format, type, table), (F, "glGetColorTableSGI(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table));
 }
@@ -3400,32 +3464,44 @@
    DISPATCH(GetColorTableSGI, (target, format, type, table), (F, "glGetColorTableEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_556)(GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_556)(GLenum pname, GLfloat * params)
 {
    DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_557)(GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_557)(GLenum pname, GLint * params)
 {
    DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_558)(GLenum pname, GLfloat param);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_558)(GLenum pname, GLfloat param)
 {
    DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_559)(GLenum pname, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_559)(GLenum pname, const GLfloat * params)
 {
    DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PixelTexGenParameteriSGIS)(GLenum pname, GLint param)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_560)(GLenum pname, GLint param);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_560)(GLenum pname, GLint param)
 {
    DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_561)(GLenum pname, const GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_561)(GLenum pname, const GLint * params)
 {
    DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params));
 }
@@ -3445,26 +3521,20 @@
    RETURN_DISPATCH(IsTextureEXT, (texture), (F, "glIsTextureEXT(%d);\n", texture));
 }
 
-KEYWORD1 void KEYWORD2 NAME(SampleMaskSGIS)(GLclampf value, GLboolean invert)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLclampf value, GLboolean invert);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLclampf value, GLboolean invert)
 {
    DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert));
 }
 
-KEYWORD1 void KEYWORD2 NAME(SampleMaskEXT)(GLclampf value, GLboolean invert)
-{
-   DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskEXT(%f, %d);\n", value, invert));
-}
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pattern);
 
-KEYWORD1 void KEYWORD2 NAME(SamplePatternSGIS)(GLenum pattern)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pattern)
 {
    DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern));
 }
 
-KEYWORD1 void KEYWORD2 NAME(SamplePatternEXT)(GLenum pattern)
-{
-   DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternEXT(0x%x);\n", pattern));
-}
-
 KEYWORD1 void KEYWORD2 NAME(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer)
 {
    DISPATCH(ColorPointerEXT, (size, type, stride, count, pointer), (F, "glColorPointerEXT(%d, 0x%x, %d, %d, %p);\n", size, type, stride, count, (const void *) pointer));
@@ -3510,7 +3580,9 @@
    DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfEXT(0x%x, %f);\n", pname, param));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PointParameterfSGIS)(GLenum pname, GLfloat param)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, GLfloat param);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, GLfloat param)
 {
    DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param));
 }
@@ -3530,7 +3602,9 @@
    DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvEXT(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PointParameterfvSGIS)(GLenum pname, const GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLenum pname, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLenum pname, const GLfloat * params)
 {
    DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params));
 }
@@ -3545,12 +3619,16 @@
    DISPATCH(UnlockArraysEXT, (), (F, "glUnlockArraysEXT();\n"));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CullParameterdvEXT)(GLenum pname, GLdouble * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLdouble * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLdouble * params)
 {
    DISPATCH(CullParameterdvEXT, (pname, params), (F, "glCullParameterdvEXT(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(CullParameterfvEXT)(GLenum pname, GLfloat * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params)
 {
    DISPATCH(CullParameterfvEXT, (pname, params), (F, "glCullParameterfvEXT(0x%x, %p);\n", pname, (const void *) params));
 }
@@ -3795,7 +3873,9 @@
    DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);\n", (const void *) coord));
 }
 
-KEYWORD1 void KEYWORD2 NAME(PixelTexGenSGIX)(GLenum mode)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum mode);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum mode)
 {
    DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode));
 }
@@ -3810,7 +3890,9 @@
    DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateEXT(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha));
 }
 
-KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
 {
    DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha));
 }
@@ -4190,47 +4272,65 @@
    DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride)
 {
    DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride));
 }
 
-KEYWORD1 void KEYWORD2 NAME(MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride)
 {
    DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride));
 }
 
-KEYWORD1 void KEYWORD2 NAME(DeleteFencesNV)(GLsizei n, const GLuint * fences)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLsizei n, const GLuint * fences);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLsizei n, const GLuint * fences)
 {
    DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences));
 }
 
-KEYWORD1 void KEYWORD2 NAME(FinishFenceNV)(GLuint fence)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence)
 {
    DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GenFencesNV)(GLsizei n, GLuint * fences)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLsizei n, GLuint * fences);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLsizei n, GLuint * fences)
 {
    DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetFenceivNV)(GLuint fence, GLenum pname, GLint * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence, GLenum pname, GLint * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence, GLenum pname, GLint * params)
 {
    DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params));
 }
 
-KEYWORD1 GLboolean KEYWORD2 NAME(IsFenceNV)(GLuint fence)
+KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_654)(GLuint fence);
+
+KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_654)(GLuint fence)
 {
    RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence));
 }
 
-KEYWORD1 void KEYWORD2 NAME(SetFenceNV)(GLuint fence, GLenum condition)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLuint fence, GLenum condition);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLuint fence, GLenum condition)
 {
    DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition));
 }
 
-KEYWORD1 GLboolean KEYWORD2 NAME(TestFenceNV)(GLuint fence)
+KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_656)(GLuint fence);
+
+KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_656)(GLuint fence)
 {
    RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence));
 }
@@ -4670,7 +4770,9 @@
    DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(ActiveStencilFaceEXT)(GLenum face)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLenum face);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLenum face)
 {
    DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face));
 }
@@ -4733,7 +4835,9 @@
    DISPATCH(ProgramNamedParameter4fvNV, (id, len, name, v), (F, "glProgramNamedParameter4fvNV(%d, %d, %p, %p);\n", id, len, (const void *) name, (const void *) v));
 }
 
-KEYWORD1 void KEYWORD2 NAME(DepthBoundsEXT)(GLclampd zmin, GLclampd zmax)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_748)(GLclampd zmin, GLclampd zmax);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_748)(GLclampd zmin, GLclampd zmax)
 {
    DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax));
 }
@@ -4743,16 +4847,13 @@
    DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparate(0x%x, 0x%x);\n", modeRGB, modeA));
 }
 
-KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_749)(GLenum modeRGB, GLenum modeA);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_749)(GLenum modeRGB, GLenum modeA)
 {
    DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA));
 }
 
-KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparateATI)(GLenum modeRGB, GLenum modeA)
-{
-   DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateATI(0x%x, 0x%x);\n", modeRGB, modeA));
-}
-
 KEYWORD1 void KEYWORD2 NAME(BindFramebufferEXT)(GLenum target, GLuint framebuffer)
 {
    DISPATCH(BindFramebufferEXT, (target, framebuffer), (F, "glBindFramebufferEXT(0x%x, %d);\n", target, framebuffer));
@@ -4818,12 +4919,16 @@
    DISPATCH(GetFramebufferAttachmentParameterivEXT, (target, attachment, pname, params), (F, "glGetFramebufferAttachmentParameterivEXT(0x%x, 0x%x, 0x%x, %p);\n", target, attachment, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_763)(GLuint id, GLenum pname, GLint64EXT * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_763)(GLuint id, GLenum pname, GLint64EXT * params)
 {
    DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
 }
 
-KEYWORD1 void KEYWORD2 NAME(GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_764)(GLuint id, GLenum pname, GLuint64EXT * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_764)(GLuint id, GLenum pname, GLuint64EXT * params)
 {
    DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
 }
@@ -4848,7 +4953,9 @@
    DISPATCH(RenderbufferStorageEXT, (target, internalformat, width, height), (F, "glRenderbufferStorageEXT(0x%x, 0x%x, %d, %d);\n", target, internalformat, width, height));
 }
 
-KEYWORD1 void KEYWORD2 NAME(BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
 {
    DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter));
 }
@@ -5424,30 +5531,30 @@
    TABLE_ENTRY(GetAttribLocationARB),
    TABLE_ENTRY(DrawBuffersARB),
    TABLE_ENTRY(PolygonOffsetEXT),
-   TABLE_ENTRY(GetHistogramEXT),
-   TABLE_ENTRY(GetHistogramParameterfvEXT),
-   TABLE_ENTRY(GetHistogramParameterivEXT),
-   TABLE_ENTRY(GetMinmaxEXT),
-   TABLE_ENTRY(GetMinmaxParameterfvEXT),
-   TABLE_ENTRY(GetMinmaxParameterivEXT),
-   TABLE_ENTRY(GetConvolutionFilterEXT),
-   TABLE_ENTRY(GetConvolutionParameterfvEXT),
-   TABLE_ENTRY(GetConvolutionParameterivEXT),
-   TABLE_ENTRY(GetSeparableFilterEXT),
-   TABLE_ENTRY(GetColorTableParameterfvSGI),
-   TABLE_ENTRY(GetColorTableParameterivSGI),
-   TABLE_ENTRY(GetColorTableSGI),
-   TABLE_ENTRY(GetPixelTexGenParameterfvSGIS),
-   TABLE_ENTRY(GetPixelTexGenParameterivSGIS),
-   TABLE_ENTRY(PixelTexGenParameterfSGIS),
-   TABLE_ENTRY(PixelTexGenParameterfvSGIS),
-   TABLE_ENTRY(PixelTexGenParameteriSGIS),
-   TABLE_ENTRY(PixelTexGenParameterivSGIS),
+   TABLE_ENTRY(_dispatch_stub_543),
+   TABLE_ENTRY(_dispatch_stub_544),
+   TABLE_ENTRY(_dispatch_stub_545),
+   TABLE_ENTRY(_dispatch_stub_546),
+   TABLE_ENTRY(_dispatch_stub_547),
+   TABLE_ENTRY(_dispatch_stub_548),
+   TABLE_ENTRY(_dispatch_stub_549),
+   TABLE_ENTRY(_dispatch_stub_550),
+   TABLE_ENTRY(_dispatch_stub_551),
+   TABLE_ENTRY(_dispatch_stub_552),
+   TABLE_ENTRY(_dispatch_stub_553),
+   TABLE_ENTRY(_dispatch_stub_554),
+   TABLE_ENTRY(_dispatch_stub_555),
+   TABLE_ENTRY(_dispatch_stub_556),
+   TABLE_ENTRY(_dispatch_stub_557),
+   TABLE_ENTRY(_dispatch_stub_558),
+   TABLE_ENTRY(_dispatch_stub_559),
+   TABLE_ENTRY(_dispatch_stub_560),
+   TABLE_ENTRY(_dispatch_stub_561),
    TABLE_ENTRY(AreTexturesResidentEXT),
    TABLE_ENTRY(GenTexturesEXT),
    TABLE_ENTRY(IsTextureEXT),
-   TABLE_ENTRY(SampleMaskSGIS),
-   TABLE_ENTRY(SamplePatternSGIS),
+   TABLE_ENTRY(_dispatch_stub_565),
+   TABLE_ENTRY(_dispatch_stub_566),
    TABLE_ENTRY(ColorPointerEXT),
    TABLE_ENTRY(EdgeFlagPointerEXT),
    TABLE_ENTRY(IndexPointerEXT),
@@ -5458,8 +5565,8 @@
    TABLE_ENTRY(PointParameterfvEXT),
    TABLE_ENTRY(LockArraysEXT),
    TABLE_ENTRY(UnlockArraysEXT),
-   TABLE_ENTRY(CullParameterdvEXT),
-   TABLE_ENTRY(CullParameterfvEXT),
+   TABLE_ENTRY(_dispatch_stub_577),
+   TABLE_ENTRY(_dispatch_stub_578),
    TABLE_ENTRY(SecondaryColor3bEXT),
    TABLE_ENTRY(SecondaryColor3bvEXT),
    TABLE_ENTRY(SecondaryColor3dEXT),
@@ -5484,7 +5591,7 @@
    TABLE_ENTRY(FogCoorddvEXT),
    TABLE_ENTRY(FogCoordfEXT),
    TABLE_ENTRY(FogCoordfvEXT),
-   TABLE_ENTRY(PixelTexGenSGIX),
+   TABLE_ENTRY(_dispatch_stub_603),
    TABLE_ENTRY(BlendFuncSeparateEXT),
    TABLE_ENTRY(VertexWeightPointerEXT),
    TABLE_ENTRY(VertexWeightfEXT),
@@ -5529,15 +5636,15 @@
    TABLE_ENTRY(WindowPos4ivMESA),
    TABLE_ENTRY(WindowPos4sMESA),
    TABLE_ENTRY(WindowPos4svMESA),
-   TABLE_ENTRY(MultiModeDrawArraysIBM),
-   TABLE_ENTRY(MultiModeDrawElementsIBM),
-   TABLE_ENTRY(DeleteFencesNV),
-   TABLE_ENTRY(FinishFenceNV),
-   TABLE_ENTRY(GenFencesNV),
-   TABLE_ENTRY(GetFenceivNV),
-   TABLE_ENTRY(IsFenceNV),
-   TABLE_ENTRY(SetFenceNV),
-   TABLE_ENTRY(TestFenceNV),
+   TABLE_ENTRY(_dispatch_stub_648),
+   TABLE_ENTRY(_dispatch_stub_649),
+   TABLE_ENTRY(_dispatch_stub_650),
+   TABLE_ENTRY(_dispatch_stub_651),
+   TABLE_ENTRY(_dispatch_stub_652),
+   TABLE_ENTRY(_dispatch_stub_653),
+   TABLE_ENTRY(_dispatch_stub_654),
+   TABLE_ENTRY(_dispatch_stub_655),
+   TABLE_ENTRY(_dispatch_stub_656),
    TABLE_ENTRY(AreProgramsResidentNV),
    TABLE_ENTRY(BindProgramNV),
    TABLE_ENTRY(DeleteProgramsNV),
@@ -5618,7 +5725,7 @@
    TABLE_ENTRY(SetFragmentShaderConstantATI),
    TABLE_ENTRY(PointParameteriNV),
    TABLE_ENTRY(PointParameterivNV),
-   TABLE_ENTRY(ActiveStencilFaceEXT),
+   TABLE_ENTRY(_dispatch_stub_737),
    TABLE_ENTRY(_dispatch_stub_738),
    TABLE_ENTRY(_dispatch_stub_739),
    TABLE_ENTRY(_dispatch_stub_740),
@@ -5629,8 +5736,8 @@
    TABLE_ENTRY(ProgramNamedParameter4dvNV),
    TABLE_ENTRY(ProgramNamedParameter4fNV),
    TABLE_ENTRY(ProgramNamedParameter4fvNV),
-   TABLE_ENTRY(DepthBoundsEXT),
-   TABLE_ENTRY(BlendEquationSeparateEXT),
+   TABLE_ENTRY(_dispatch_stub_748),
+   TABLE_ENTRY(_dispatch_stub_749),
    TABLE_ENTRY(BindFramebufferEXT),
    TABLE_ENTRY(BindRenderbufferEXT),
    TABLE_ENTRY(CheckFramebufferStatusEXT),
@@ -5644,13 +5751,13 @@
    TABLE_ENTRY(GenRenderbuffersEXT),
    TABLE_ENTRY(GenerateMipmapEXT),
    TABLE_ENTRY(GetFramebufferAttachmentParameterivEXT),
-   TABLE_ENTRY(GetQueryObjecti64vEXT),
-   TABLE_ENTRY(GetQueryObjectui64vEXT),
+   TABLE_ENTRY(_dispatch_stub_763),
+   TABLE_ENTRY(_dispatch_stub_764),
    TABLE_ENTRY(GetRenderbufferParameterivEXT),
    TABLE_ENTRY(IsFramebufferEXT),
    TABLE_ENTRY(IsRenderbufferEXT),
    TABLE_ENTRY(RenderbufferStorageEXT),
-   TABLE_ENTRY(BlitFramebufferEXT),
+   TABLE_ENTRY(_dispatch_stub_769),
    TABLE_ENTRY(_dispatch_stub_770),
    TABLE_ENTRY(_dispatch_stub_771),
    /* A whole bunch of no-op functions.  These might be called
@@ -5781,26 +5888,7 @@
    TABLE_ENTRY(BlendColorEXT),
    TABLE_ENTRY(BlendEquationEXT),
    TABLE_ENTRY(DrawRangeElementsEXT),
-   TABLE_ENTRY(ColorTableSGI),
    TABLE_ENTRY(ColorTableEXT),
-   TABLE_ENTRY(ColorTableParameterfvSGI),
-   TABLE_ENTRY(ColorTableParameterivSGI),
-   TABLE_ENTRY(CopyColorTableSGI),
-   TABLE_ENTRY(ColorSubTableEXT),
-   TABLE_ENTRY(CopyColorSubTableEXT),
-   TABLE_ENTRY(ConvolutionFilter1DEXT),
-   TABLE_ENTRY(ConvolutionFilter2DEXT),
-   TABLE_ENTRY(ConvolutionParameterfEXT),
-   TABLE_ENTRY(ConvolutionParameterfvEXT),
-   TABLE_ENTRY(ConvolutionParameteriEXT),
-   TABLE_ENTRY(ConvolutionParameterivEXT),
-   TABLE_ENTRY(CopyConvolutionFilter1DEXT),
-   TABLE_ENTRY(CopyConvolutionFilter2DEXT),
-   TABLE_ENTRY(SeparableFilter2DEXT),
-   TABLE_ENTRY(HistogramEXT),
-   TABLE_ENTRY(MinmaxEXT),
-   TABLE_ENTRY(ResetHistogramEXT),
-   TABLE_ENTRY(ResetMinmaxEXT),
    TABLE_ENTRY(TexImage3DEXT),
    TABLE_ENTRY(TexSubImage3DEXT),
    TABLE_ENTRY(CopyTexSubImage3DEXT),
@@ -5874,14 +5962,10 @@
    TABLE_ENTRY(GetColorTableParameterfvEXT),
    TABLE_ENTRY(GetColorTableParameterivEXT),
    TABLE_ENTRY(GetColorTableEXT),
-   TABLE_ENTRY(SampleMaskEXT),
-   TABLE_ENTRY(SamplePatternEXT),
    TABLE_ENTRY(PointParameterf),
    TABLE_ENTRY(PointParameterfARB),
-   TABLE_ENTRY(PointParameterfSGIS),
    TABLE_ENTRY(PointParameterfv),
    TABLE_ENTRY(PointParameterfvARB),
-   TABLE_ENTRY(PointParameterfvSGIS),
    TABLE_ENTRY(SecondaryColor3b),
    TABLE_ENTRY(SecondaryColor3bv),
    TABLE_ENTRY(SecondaryColor3d),
@@ -5907,7 +5991,6 @@
    TABLE_ENTRY(FogCoordf),
    TABLE_ENTRY(FogCoordfv),
    TABLE_ENTRY(BlendFuncSeparate),
-   TABLE_ENTRY(BlendFuncSeparateINGR),
    TABLE_ENTRY(WindowPos2d),
    TABLE_ENTRY(WindowPos2dARB),
    TABLE_ENTRY(WindowPos2dv),
@@ -5948,7 +6031,6 @@
    TABLE_ENTRY(PointParameteri),
    TABLE_ENTRY(PointParameteriv),
    TABLE_ENTRY(BlendEquationSeparate),
-   TABLE_ENTRY(BlendEquationSeparateATI),
 };
 #endif /*UNUSED_TABLE_NAME*/
 
diff --git a/src/mesa/glapi/glprocs.h b/src/mesa/glapi/glprocs.h
index e551cdd..482789c 100644
--- a/src/mesa/glapi/glprocs.h
+++ b/src/mesa/glapi/glprocs.h
@@ -1005,10 +1005,49 @@
 
 /* FIXME: Having these (incorrect) prototypes here is ugly. */
 #ifdef NEED_FUNCTION_POINTER
+extern void gl_dispatch_stub_543(void);
+extern void gl_dispatch_stub_544(void);
+extern void gl_dispatch_stub_545(void);
+extern void gl_dispatch_stub_546(void);
+extern void gl_dispatch_stub_547(void);
+extern void gl_dispatch_stub_548(void);
+extern void gl_dispatch_stub_549(void);
+extern void gl_dispatch_stub_550(void);
+extern void gl_dispatch_stub_551(void);
+extern void gl_dispatch_stub_552(void);
+extern void gl_dispatch_stub_553(void);
+extern void gl_dispatch_stub_554(void);
+extern void gl_dispatch_stub_555(void);
+extern void gl_dispatch_stub_556(void);
+extern void gl_dispatch_stub_557(void);
+extern void gl_dispatch_stub_558(void);
+extern void gl_dispatch_stub_559(void);
+extern void gl_dispatch_stub_560(void);
+extern void gl_dispatch_stub_561(void);
+extern void gl_dispatch_stub_565(void);
+extern void gl_dispatch_stub_566(void);
+extern void gl_dispatch_stub_577(void);
+extern void gl_dispatch_stub_578(void);
+extern void gl_dispatch_stub_603(void);
+extern void gl_dispatch_stub_648(void);
+extern void gl_dispatch_stub_649(void);
+extern void gl_dispatch_stub_650(void);
+extern void gl_dispatch_stub_651(void);
+extern void gl_dispatch_stub_652(void);
+extern void gl_dispatch_stub_653(void);
+extern void gl_dispatch_stub_654(void);
+extern void gl_dispatch_stub_655(void);
+extern void gl_dispatch_stub_656(void);
+extern void gl_dispatch_stub_737(void);
 extern void gl_dispatch_stub_738(void);
 extern void gl_dispatch_stub_739(void);
 extern void gl_dispatch_stub_740(void);
 extern void gl_dispatch_stub_741(void);
+extern void gl_dispatch_stub_748(void);
+extern void gl_dispatch_stub_749(void);
+extern void gl_dispatch_stub_763(void);
+extern void gl_dispatch_stub_764(void);
+extern void gl_dispatch_stub_769(void);
 extern void gl_dispatch_stub_770(void);
 extern void gl_dispatch_stub_771(void);
 #endif /* NEED_FUNCTION_POINTER */
@@ -1557,30 +1596,30 @@
     NAME_FUNC_OFFSET(  8581, glGetAttribLocationARB, _gloffset_GetAttribLocationARB ),
     NAME_FUNC_OFFSET(  8604, glDrawBuffersARB, _gloffset_DrawBuffersARB ),
     NAME_FUNC_OFFSET(  8621, glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT ),
-    NAME_FUNC_OFFSET(  8640, glGetHistogramEXT, _gloffset_GetHistogramEXT ),
-    NAME_FUNC_OFFSET(  8658, glGetHistogramParameterfvEXT, _gloffset_GetHistogramParameterfvEXT ),
-    NAME_FUNC_OFFSET(  8687, glGetHistogramParameterivEXT, _gloffset_GetHistogramParameterivEXT ),
-    NAME_FUNC_OFFSET(  8716, glGetMinmaxEXT, _gloffset_GetMinmaxEXT ),
-    NAME_FUNC_OFFSET(  8731, glGetMinmaxParameterfvEXT, _gloffset_GetMinmaxParameterfvEXT ),
-    NAME_FUNC_OFFSET(  8757, glGetMinmaxParameterivEXT, _gloffset_GetMinmaxParameterivEXT ),
-    NAME_FUNC_OFFSET(  8783, glGetConvolutionFilterEXT, _gloffset_GetConvolutionFilterEXT ),
-    NAME_FUNC_OFFSET(  8809, glGetConvolutionParameterfvEXT, _gloffset_GetConvolutionParameterfvEXT ),
-    NAME_FUNC_OFFSET(  8840, glGetConvolutionParameterivEXT, _gloffset_GetConvolutionParameterivEXT ),
-    NAME_FUNC_OFFSET(  8871, glGetSeparableFilterEXT, _gloffset_GetSeparableFilterEXT ),
-    NAME_FUNC_OFFSET(  8895, glGetColorTableParameterfvSGI, _gloffset_GetColorTableParameterfvSGI ),
-    NAME_FUNC_OFFSET(  8925, glGetColorTableParameterivSGI, _gloffset_GetColorTableParameterivSGI ),
-    NAME_FUNC_OFFSET(  8955, glGetColorTableSGI, _gloffset_GetColorTableSGI ),
-    NAME_FUNC_OFFSET(  8974, glGetPixelTexGenParameterfvSGIS, _gloffset_GetPixelTexGenParameterfvSGIS ),
-    NAME_FUNC_OFFSET(  9006, glGetPixelTexGenParameterivSGIS, _gloffset_GetPixelTexGenParameterivSGIS ),
-    NAME_FUNC_OFFSET(  9038, glPixelTexGenParameterfSGIS, _gloffset_PixelTexGenParameterfSGIS ),
-    NAME_FUNC_OFFSET(  9066, glPixelTexGenParameterfvSGIS, _gloffset_PixelTexGenParameterfvSGIS ),
-    NAME_FUNC_OFFSET(  9095, glPixelTexGenParameteriSGIS, _gloffset_PixelTexGenParameteriSGIS ),
-    NAME_FUNC_OFFSET(  9123, glPixelTexGenParameterivSGIS, _gloffset_PixelTexGenParameterivSGIS ),
+    NAME_FUNC_OFFSET(  8640, gl_dispatch_stub_543, _gloffset_GetHistogramEXT ),
+    NAME_FUNC_OFFSET(  8658, gl_dispatch_stub_544, _gloffset_GetHistogramParameterfvEXT ),
+    NAME_FUNC_OFFSET(  8687, gl_dispatch_stub_545, _gloffset_GetHistogramParameterivEXT ),
+    NAME_FUNC_OFFSET(  8716, gl_dispatch_stub_546, _gloffset_GetMinmaxEXT ),
+    NAME_FUNC_OFFSET(  8731, gl_dispatch_stub_547, _gloffset_GetMinmaxParameterfvEXT ),
+    NAME_FUNC_OFFSET(  8757, gl_dispatch_stub_548, _gloffset_GetMinmaxParameterivEXT ),
+    NAME_FUNC_OFFSET(  8783, gl_dispatch_stub_549, _gloffset_GetConvolutionFilterEXT ),
+    NAME_FUNC_OFFSET(  8809, gl_dispatch_stub_550, _gloffset_GetConvolutionParameterfvEXT ),
+    NAME_FUNC_OFFSET(  8840, gl_dispatch_stub_551, _gloffset_GetConvolutionParameterivEXT ),
+    NAME_FUNC_OFFSET(  8871, gl_dispatch_stub_552, _gloffset_GetSeparableFilterEXT ),
+    NAME_FUNC_OFFSET(  8895, gl_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI ),
+    NAME_FUNC_OFFSET(  8925, gl_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI ),
+    NAME_FUNC_OFFSET(  8955, gl_dispatch_stub_555, _gloffset_GetColorTableSGI ),
+    NAME_FUNC_OFFSET(  8974, gl_dispatch_stub_556, _gloffset_GetPixelTexGenParameterfvSGIS ),
+    NAME_FUNC_OFFSET(  9006, gl_dispatch_stub_557, _gloffset_GetPixelTexGenParameterivSGIS ),
+    NAME_FUNC_OFFSET(  9038, gl_dispatch_stub_558, _gloffset_PixelTexGenParameterfSGIS ),
+    NAME_FUNC_OFFSET(  9066, gl_dispatch_stub_559, _gloffset_PixelTexGenParameterfvSGIS ),
+    NAME_FUNC_OFFSET(  9095, gl_dispatch_stub_560, _gloffset_PixelTexGenParameteriSGIS ),
+    NAME_FUNC_OFFSET(  9123, gl_dispatch_stub_561, _gloffset_PixelTexGenParameterivSGIS ),
     NAME_FUNC_OFFSET(  9152, glAreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT ),
     NAME_FUNC_OFFSET(  9177, glGenTexturesEXT, _gloffset_GenTexturesEXT ),
     NAME_FUNC_OFFSET(  9194, glIsTextureEXT, _gloffset_IsTextureEXT ),
-    NAME_FUNC_OFFSET(  9209, glSampleMaskSGIS, _gloffset_SampleMaskSGIS ),
-    NAME_FUNC_OFFSET(  9226, glSamplePatternSGIS, _gloffset_SamplePatternSGIS ),
+    NAME_FUNC_OFFSET(  9209, gl_dispatch_stub_565, _gloffset_SampleMaskSGIS ),
+    NAME_FUNC_OFFSET(  9226, gl_dispatch_stub_566, _gloffset_SamplePatternSGIS ),
     NAME_FUNC_OFFSET(  9246, glColorPointerEXT, _gloffset_ColorPointerEXT ),
     NAME_FUNC_OFFSET(  9264, glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT ),
     NAME_FUNC_OFFSET(  9285, glIndexPointerEXT, _gloffset_IndexPointerEXT ),
@@ -1591,8 +1630,8 @@
     NAME_FUNC_OFFSET(  9383, glPointParameterfvEXT, _gloffset_PointParameterfvEXT ),
     NAME_FUNC_OFFSET(  9405, glLockArraysEXT, _gloffset_LockArraysEXT ),
     NAME_FUNC_OFFSET(  9421, glUnlockArraysEXT, _gloffset_UnlockArraysEXT ),
-    NAME_FUNC_OFFSET(  9439, glCullParameterdvEXT, _gloffset_CullParameterdvEXT ),
-    NAME_FUNC_OFFSET(  9460, glCullParameterfvEXT, _gloffset_CullParameterfvEXT ),
+    NAME_FUNC_OFFSET(  9439, gl_dispatch_stub_577, _gloffset_CullParameterdvEXT ),
+    NAME_FUNC_OFFSET(  9460, gl_dispatch_stub_578, _gloffset_CullParameterfvEXT ),
     NAME_FUNC_OFFSET(  9481, glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT ),
     NAME_FUNC_OFFSET(  9503, glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT ),
     NAME_FUNC_OFFSET(  9526, glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT ),
@@ -1617,7 +1656,7 @@
     NAME_FUNC_OFFSET(  9954, glFogCoorddvEXT, _gloffset_FogCoorddvEXT ),
     NAME_FUNC_OFFSET(  9970, glFogCoordfEXT, _gloffset_FogCoordfEXT ),
     NAME_FUNC_OFFSET(  9985, glFogCoordfvEXT, _gloffset_FogCoordfvEXT ),
-    NAME_FUNC_OFFSET( 10001, glPixelTexGenSGIX, _gloffset_PixelTexGenSGIX ),
+    NAME_FUNC_OFFSET( 10001, gl_dispatch_stub_603, _gloffset_PixelTexGenSGIX ),
     NAME_FUNC_OFFSET( 10019, glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT ),
     NAME_FUNC_OFFSET( 10042, glVertexWeightPointerEXT, _gloffset_VertexWeightPointerEXT ),
     NAME_FUNC_OFFSET( 10067, glVertexWeightfEXT, _gloffset_VertexWeightfEXT ),
@@ -1662,15 +1701,15 @@
     NAME_FUNC_OFFSET( 10919, glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA ),
     NAME_FUNC_OFFSET( 10938, glWindowPos4sMESA, _gloffset_WindowPos4sMESA ),
     NAME_FUNC_OFFSET( 10956, glWindowPos4svMESA, _gloffset_WindowPos4svMESA ),
-    NAME_FUNC_OFFSET( 10975, glMultiModeDrawArraysIBM, _gloffset_MultiModeDrawArraysIBM ),
-    NAME_FUNC_OFFSET( 11000, glMultiModeDrawElementsIBM, _gloffset_MultiModeDrawElementsIBM ),
-    NAME_FUNC_OFFSET( 11027, glDeleteFencesNV, _gloffset_DeleteFencesNV ),
-    NAME_FUNC_OFFSET( 11044, glFinishFenceNV, _gloffset_FinishFenceNV ),
-    NAME_FUNC_OFFSET( 11060, glGenFencesNV, _gloffset_GenFencesNV ),
-    NAME_FUNC_OFFSET( 11074, glGetFenceivNV, _gloffset_GetFenceivNV ),
-    NAME_FUNC_OFFSET( 11089, glIsFenceNV, _gloffset_IsFenceNV ),
-    NAME_FUNC_OFFSET( 11101, glSetFenceNV, _gloffset_SetFenceNV ),
-    NAME_FUNC_OFFSET( 11114, glTestFenceNV, _gloffset_TestFenceNV ),
+    NAME_FUNC_OFFSET( 10975, gl_dispatch_stub_648, _gloffset_MultiModeDrawArraysIBM ),
+    NAME_FUNC_OFFSET( 11000, gl_dispatch_stub_649, _gloffset_MultiModeDrawElementsIBM ),
+    NAME_FUNC_OFFSET( 11027, gl_dispatch_stub_650, _gloffset_DeleteFencesNV ),
+    NAME_FUNC_OFFSET( 11044, gl_dispatch_stub_651, _gloffset_FinishFenceNV ),
+    NAME_FUNC_OFFSET( 11060, gl_dispatch_stub_652, _gloffset_GenFencesNV ),
+    NAME_FUNC_OFFSET( 11074, gl_dispatch_stub_653, _gloffset_GetFenceivNV ),
+    NAME_FUNC_OFFSET( 11089, gl_dispatch_stub_654, _gloffset_IsFenceNV ),
+    NAME_FUNC_OFFSET( 11101, gl_dispatch_stub_655, _gloffset_SetFenceNV ),
+    NAME_FUNC_OFFSET( 11114, gl_dispatch_stub_656, _gloffset_TestFenceNV ),
     NAME_FUNC_OFFSET( 11128, glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV ),
     NAME_FUNC_OFFSET( 11152, glBindProgramNV, _gloffset_BindProgramNV ),
     NAME_FUNC_OFFSET( 11168, glDeleteProgramsNV, _gloffset_DeleteProgramsNV ),
@@ -1751,7 +1790,7 @@
     NAME_FUNC_OFFSET( 12739, glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI ),
     NAME_FUNC_OFFSET( 12770, glPointParameteriNV, _gloffset_PointParameteriNV ),
     NAME_FUNC_OFFSET( 12790, glPointParameterivNV, _gloffset_PointParameterivNV ),
-    NAME_FUNC_OFFSET( 12811, glActiveStencilFaceEXT, _gloffset_ActiveStencilFaceEXT ),
+    NAME_FUNC_OFFSET( 12811, gl_dispatch_stub_737, _gloffset_ActiveStencilFaceEXT ),
     NAME_FUNC_OFFSET( 12834, gl_dispatch_stub_738, _gloffset_BindVertexArrayAPPLE ),
     NAME_FUNC_OFFSET( 12857, gl_dispatch_stub_739, _gloffset_DeleteVertexArraysAPPLE ),
     NAME_FUNC_OFFSET( 12883, gl_dispatch_stub_740, _gloffset_GenVertexArraysAPPLE ),
@@ -1762,8 +1801,8 @@
     NAME_FUNC_OFFSET( 13017, glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV ),
     NAME_FUNC_OFFSET( 13046, glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV ),
     NAME_FUNC_OFFSET( 13074, glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV ),
-    NAME_FUNC_OFFSET( 13103, glDepthBoundsEXT, _gloffset_DepthBoundsEXT ),
-    NAME_FUNC_OFFSET( 13120, glBlendEquationSeparateEXT, _gloffset_BlendEquationSeparateEXT ),
+    NAME_FUNC_OFFSET( 13103, gl_dispatch_stub_748, _gloffset_DepthBoundsEXT ),
+    NAME_FUNC_OFFSET( 13120, gl_dispatch_stub_749, _gloffset_BlendEquationSeparateEXT ),
     NAME_FUNC_OFFSET( 13147, glBindFramebufferEXT, _gloffset_BindFramebufferEXT ),
     NAME_FUNC_OFFSET( 13168, glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT ),
     NAME_FUNC_OFFSET( 13190, glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT ),
@@ -1777,13 +1816,13 @@
     NAME_FUNC_OFFSET( 13395, glGenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT ),
     NAME_FUNC_OFFSET( 13417, glGenerateMipmapEXT, _gloffset_GenerateMipmapEXT ),
     NAME_FUNC_OFFSET( 13437, glGetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT ),
-    NAME_FUNC_OFFSET( 13478, glGetQueryObjecti64vEXT, _gloffset_GetQueryObjecti64vEXT ),
-    NAME_FUNC_OFFSET( 13502, glGetQueryObjectui64vEXT, _gloffset_GetQueryObjectui64vEXT ),
+    NAME_FUNC_OFFSET( 13478, gl_dispatch_stub_763, _gloffset_GetQueryObjecti64vEXT ),
+    NAME_FUNC_OFFSET( 13502, gl_dispatch_stub_764, _gloffset_GetQueryObjectui64vEXT ),
     NAME_FUNC_OFFSET( 13527, glGetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT ),
     NAME_FUNC_OFFSET( 13559, glIsFramebufferEXT, _gloffset_IsFramebufferEXT ),
     NAME_FUNC_OFFSET( 13578, glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT ),
     NAME_FUNC_OFFSET( 13598, glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT ),
-    NAME_FUNC_OFFSET( 13623, glBlitFramebufferEXT, _gloffset_BlitFramebufferEXT ),
+    NAME_FUNC_OFFSET( 13623, gl_dispatch_stub_769, _gloffset_BlitFramebufferEXT ),
     NAME_FUNC_OFFSET( 13644, gl_dispatch_stub_770, _gloffset_ProgramEnvParameters4fvEXT ),
     NAME_FUNC_OFFSET( 13673, gl_dispatch_stub_771, _gloffset_ProgramLocalParameters4fvEXT ),
     NAME_FUNC_OFFSET( 13704, glArrayElement, _gloffset_ArrayElement ),
@@ -1891,11 +1930,11 @@
     NAME_FUNC_OFFSET( 15694, glIsQueryARB, _gloffset_IsQueryARB ),
     NAME_FUNC_OFFSET( 15704, glDrawBuffersARB, _gloffset_DrawBuffersARB ),
     NAME_FUNC_OFFSET( 15718, glDrawBuffersARB, _gloffset_DrawBuffersARB ),
-    NAME_FUNC_OFFSET( 15735, glGetColorTableParameterfvSGI, _gloffset_GetColorTableParameterfvSGI ),
-    NAME_FUNC_OFFSET( 15765, glGetColorTableParameterivSGI, _gloffset_GetColorTableParameterivSGI ),
-    NAME_FUNC_OFFSET( 15795, glGetColorTableSGI, _gloffset_GetColorTableSGI ),
-    NAME_FUNC_OFFSET( 15814, glSampleMaskSGIS, _gloffset_SampleMaskSGIS ),
-    NAME_FUNC_OFFSET( 15830, glSamplePatternSGIS, _gloffset_SamplePatternSGIS ),
+    NAME_FUNC_OFFSET( 15735, gl_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI ),
+    NAME_FUNC_OFFSET( 15765, gl_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI ),
+    NAME_FUNC_OFFSET( 15795, gl_dispatch_stub_555, _gloffset_GetColorTableSGI ),
+    NAME_FUNC_OFFSET( 15814, gl_dispatch_stub_565, _gloffset_SampleMaskSGIS ),
+    NAME_FUNC_OFFSET( 15830, gl_dispatch_stub_566, _gloffset_SamplePatternSGIS ),
     NAME_FUNC_OFFSET( 15849, glPointParameterfEXT, _gloffset_PointParameterfEXT ),
     NAME_FUNC_OFFSET( 15867, glPointParameterfEXT, _gloffset_PointParameterfEXT ),
     NAME_FUNC_OFFSET( 15888, glPointParameterfEXT, _gloffset_PointParameterfEXT ),
@@ -1967,8 +2006,8 @@
     NAME_FUNC_OFFSET( 17061, glIsProgramNV, _gloffset_IsProgramNV ),
     NAME_FUNC_OFFSET( 17076, glPointParameteriNV, _gloffset_PointParameteriNV ),
     NAME_FUNC_OFFSET( 17094, glPointParameterivNV, _gloffset_PointParameterivNV ),
-    NAME_FUNC_OFFSET( 17113, glBlendEquationSeparateEXT, _gloffset_BlendEquationSeparateEXT ),
-    NAME_FUNC_OFFSET( 17137, glBlendEquationSeparateEXT, _gloffset_BlendEquationSeparateEXT ),
+    NAME_FUNC_OFFSET( 17113, gl_dispatch_stub_749, _gloffset_BlendEquationSeparateEXT ),
+    NAME_FUNC_OFFSET( 17137, gl_dispatch_stub_749, _gloffset_BlendEquationSeparateEXT ),
     NAME_FUNC_OFFSET( -1, NULL, 0 )
 };
 
diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S
index f06ccc2..a1d2037 100644
--- a/src/mesa/sparc/glapi_sparc.S
+++ b/src/mesa/sparc/glapi_sparc.S
@@ -608,30 +608,30 @@
 		.globl glGetAttribLocationARB ; .type glGetAttribLocationARB,#function
 		.globl glDrawBuffersARB ; .type glDrawBuffersARB,#function
 		.globl glPolygonOffsetEXT ; .type glPolygonOffsetEXT,#function
-		.globl glGetHistogramEXT ; .type glGetHistogramEXT,#function
-		.globl glGetHistogramParameterfvEXT ; .type glGetHistogramParameterfvEXT,#function
-		.globl glGetHistogramParameterivEXT ; .type glGetHistogramParameterivEXT,#function
-		.globl glGetMinmaxEXT ; .type glGetMinmaxEXT,#function
-		.globl glGetMinmaxParameterfvEXT ; .type glGetMinmaxParameterfvEXT,#function
-		.globl glGetMinmaxParameterivEXT ; .type glGetMinmaxParameterivEXT,#function
-		.globl glGetConvolutionFilterEXT ; .type glGetConvolutionFilterEXT,#function
-		.globl glGetConvolutionParameterfvEXT ; .type glGetConvolutionParameterfvEXT,#function
-		.globl glGetConvolutionParameterivEXT ; .type glGetConvolutionParameterivEXT,#function
-		.globl glGetSeparableFilterEXT ; .type glGetSeparableFilterEXT,#function
-		.globl glGetColorTableParameterfvSGI ; .type glGetColorTableParameterfvSGI,#function
-		.globl glGetColorTableParameterivSGI ; .type glGetColorTableParameterivSGI,#function
-		.globl glGetColorTableSGI ; .type glGetColorTableSGI,#function
-		.globl glGetPixelTexGenParameterfvSGIS ; .type glGetPixelTexGenParameterfvSGIS,#function
-		.globl glGetPixelTexGenParameterivSGIS ; .type glGetPixelTexGenParameterivSGIS,#function
-		.globl glPixelTexGenParameterfSGIS ; .type glPixelTexGenParameterfSGIS,#function
-		.globl glPixelTexGenParameterfvSGIS ; .type glPixelTexGenParameterfvSGIS,#function
-		.globl glPixelTexGenParameteriSGIS ; .type glPixelTexGenParameteriSGIS,#function
-		.globl glPixelTexGenParameterivSGIS ; .type glPixelTexGenParameterivSGIS,#function
+		.globl gl_dispatch_stub_543 ; .type gl_dispatch_stub_543,#function
+		.globl gl_dispatch_stub_544 ; .type gl_dispatch_stub_544,#function
+		.globl gl_dispatch_stub_545 ; .type gl_dispatch_stub_545,#function
+		.globl gl_dispatch_stub_546 ; .type gl_dispatch_stub_546,#function
+		.globl gl_dispatch_stub_547 ; .type gl_dispatch_stub_547,#function
+		.globl gl_dispatch_stub_548 ; .type gl_dispatch_stub_548,#function
+		.globl gl_dispatch_stub_549 ; .type gl_dispatch_stub_549,#function
+		.globl gl_dispatch_stub_550 ; .type gl_dispatch_stub_550,#function
+		.globl gl_dispatch_stub_551 ; .type gl_dispatch_stub_551,#function
+		.globl gl_dispatch_stub_552 ; .type gl_dispatch_stub_552,#function
+		.globl gl_dispatch_stub_553 ; .type gl_dispatch_stub_553,#function
+		.globl gl_dispatch_stub_554 ; .type gl_dispatch_stub_554,#function
+		.globl gl_dispatch_stub_555 ; .type gl_dispatch_stub_555,#function
+		.globl gl_dispatch_stub_556 ; .type gl_dispatch_stub_556,#function
+		.globl gl_dispatch_stub_557 ; .type gl_dispatch_stub_557,#function
+		.globl gl_dispatch_stub_558 ; .type gl_dispatch_stub_558,#function
+		.globl gl_dispatch_stub_559 ; .type gl_dispatch_stub_559,#function
+		.globl gl_dispatch_stub_560 ; .type gl_dispatch_stub_560,#function
+		.globl gl_dispatch_stub_561 ; .type gl_dispatch_stub_561,#function
 		.globl glAreTexturesResidentEXT ; .type glAreTexturesResidentEXT,#function
 		.globl glGenTexturesEXT ; .type glGenTexturesEXT,#function
 		.globl glIsTextureEXT ; .type glIsTextureEXT,#function
-		.globl glSampleMaskSGIS ; .type glSampleMaskSGIS,#function
-		.globl glSamplePatternSGIS ; .type glSamplePatternSGIS,#function
+		.globl gl_dispatch_stub_565 ; .type gl_dispatch_stub_565,#function
+		.globl gl_dispatch_stub_566 ; .type gl_dispatch_stub_566,#function
 		.globl glColorPointerEXT ; .type glColorPointerEXT,#function
 		.globl glEdgeFlagPointerEXT ; .type glEdgeFlagPointerEXT,#function
 		.globl glIndexPointerEXT ; .type glIndexPointerEXT,#function
@@ -642,8 +642,8 @@
 		.globl glPointParameterfvEXT ; .type glPointParameterfvEXT,#function
 		.globl glLockArraysEXT ; .type glLockArraysEXT,#function
 		.globl glUnlockArraysEXT ; .type glUnlockArraysEXT,#function
-		.globl glCullParameterdvEXT ; .type glCullParameterdvEXT,#function
-		.globl glCullParameterfvEXT ; .type glCullParameterfvEXT,#function
+		.globl gl_dispatch_stub_577 ; .type gl_dispatch_stub_577,#function
+		.globl gl_dispatch_stub_578 ; .type gl_dispatch_stub_578,#function
 		.globl glSecondaryColor3bEXT ; .type glSecondaryColor3bEXT,#function
 		.globl glSecondaryColor3bvEXT ; .type glSecondaryColor3bvEXT,#function
 		.globl glSecondaryColor3dEXT ; .type glSecondaryColor3dEXT,#function
@@ -668,7 +668,7 @@
 		.globl glFogCoorddvEXT ; .type glFogCoorddvEXT,#function
 		.globl glFogCoordfEXT ; .type glFogCoordfEXT,#function
 		.globl glFogCoordfvEXT ; .type glFogCoordfvEXT,#function
-		.globl glPixelTexGenSGIX ; .type glPixelTexGenSGIX,#function
+		.globl gl_dispatch_stub_603 ; .type gl_dispatch_stub_603,#function
 		.globl glBlendFuncSeparateEXT ; .type glBlendFuncSeparateEXT,#function
 		.globl glVertexWeightPointerEXT ; .type glVertexWeightPointerEXT,#function
 		.globl glVertexWeightfEXT ; .type glVertexWeightfEXT,#function
@@ -713,15 +713,15 @@
 		.globl glWindowPos4ivMESA ; .type glWindowPos4ivMESA,#function
 		.globl glWindowPos4sMESA ; .type glWindowPos4sMESA,#function
 		.globl glWindowPos4svMESA ; .type glWindowPos4svMESA,#function
-		.globl glMultiModeDrawArraysIBM ; .type glMultiModeDrawArraysIBM,#function
-		.globl glMultiModeDrawElementsIBM ; .type glMultiModeDrawElementsIBM,#function
-		.globl glDeleteFencesNV ; .type glDeleteFencesNV,#function
-		.globl glFinishFenceNV ; .type glFinishFenceNV,#function
-		.globl glGenFencesNV ; .type glGenFencesNV,#function
-		.globl glGetFenceivNV ; .type glGetFenceivNV,#function
-		.globl glIsFenceNV ; .type glIsFenceNV,#function
-		.globl glSetFenceNV ; .type glSetFenceNV,#function
-		.globl glTestFenceNV ; .type glTestFenceNV,#function
+		.globl gl_dispatch_stub_648 ; .type gl_dispatch_stub_648,#function
+		.globl gl_dispatch_stub_649 ; .type gl_dispatch_stub_649,#function
+		.globl gl_dispatch_stub_650 ; .type gl_dispatch_stub_650,#function
+		.globl gl_dispatch_stub_651 ; .type gl_dispatch_stub_651,#function
+		.globl gl_dispatch_stub_652 ; .type gl_dispatch_stub_652,#function
+		.globl gl_dispatch_stub_653 ; .type gl_dispatch_stub_653,#function
+		.globl gl_dispatch_stub_654 ; .type gl_dispatch_stub_654,#function
+		.globl gl_dispatch_stub_655 ; .type gl_dispatch_stub_655,#function
+		.globl gl_dispatch_stub_656 ; .type gl_dispatch_stub_656,#function
 		.globl glAreProgramsResidentNV ; .type glAreProgramsResidentNV,#function
 		.globl glBindProgramNV ; .type glBindProgramNV,#function
 		.globl glDeleteProgramsNV ; .type glDeleteProgramsNV,#function
@@ -802,7 +802,7 @@
 		.globl glSetFragmentShaderConstantATI ; .type glSetFragmentShaderConstantATI,#function
 		.globl glPointParameteriNV ; .type glPointParameteriNV,#function
 		.globl glPointParameterivNV ; .type glPointParameterivNV,#function
-		.globl glActiveStencilFaceEXT ; .type glActiveStencilFaceEXT,#function
+		.globl gl_dispatch_stub_737 ; .type gl_dispatch_stub_737,#function
 		.globl gl_dispatch_stub_738 ; .type gl_dispatch_stub_738,#function
 		.globl gl_dispatch_stub_739 ; .type gl_dispatch_stub_739,#function
 		.globl gl_dispatch_stub_740 ; .type gl_dispatch_stub_740,#function
@@ -813,8 +813,8 @@
 		.globl glProgramNamedParameter4dvNV ; .type glProgramNamedParameter4dvNV,#function
 		.globl glProgramNamedParameter4fNV ; .type glProgramNamedParameter4fNV,#function
 		.globl glProgramNamedParameter4fvNV ; .type glProgramNamedParameter4fvNV,#function
-		.globl glDepthBoundsEXT ; .type glDepthBoundsEXT,#function
-		.globl glBlendEquationSeparateEXT ; .type glBlendEquationSeparateEXT,#function
+		.globl gl_dispatch_stub_748 ; .type gl_dispatch_stub_748,#function
+		.globl gl_dispatch_stub_749 ; .type gl_dispatch_stub_749,#function
 		.globl glBindFramebufferEXT ; .type glBindFramebufferEXT,#function
 		.globl glBindRenderbufferEXT ; .type glBindRenderbufferEXT,#function
 		.globl glCheckFramebufferStatusEXT ; .type glCheckFramebufferStatusEXT,#function
@@ -828,13 +828,13 @@
 		.globl glGenRenderbuffersEXT ; .type glGenRenderbuffersEXT,#function
 		.globl glGenerateMipmapEXT ; .type glGenerateMipmapEXT,#function
 		.globl glGetFramebufferAttachmentParameterivEXT ; .type glGetFramebufferAttachmentParameterivEXT,#function
-		.globl glGetQueryObjecti64vEXT ; .type glGetQueryObjecti64vEXT,#function
-		.globl glGetQueryObjectui64vEXT ; .type glGetQueryObjectui64vEXT,#function
+		.globl gl_dispatch_stub_763 ; .type gl_dispatch_stub_763,#function
+		.globl gl_dispatch_stub_764 ; .type gl_dispatch_stub_764,#function
 		.globl glGetRenderbufferParameterivEXT ; .type glGetRenderbufferParameterivEXT,#function
 		.globl glIsFramebufferEXT ; .type glIsFramebufferEXT,#function
 		.globl glIsRenderbufferEXT ; .type glIsRenderbufferEXT,#function
 		.globl glRenderbufferStorageEXT ; .type glRenderbufferStorageEXT,#function
-		.globl glBlitFramebufferEXT ; .type glBlitFramebufferEXT,#function
+		.globl gl_dispatch_stub_769 ; .type gl_dispatch_stub_769,#function
 		.globl gl_dispatch_stub_770 ; .type gl_dispatch_stub_770,#function
 		.globl gl_dispatch_stub_771 ; .type gl_dispatch_stub_771,#function
 		.globl _mesa_sparc_glapi_begin ; .type _mesa_sparc_glapi_begin,#function
@@ -1383,30 +1383,30 @@
 	GL_STUB(glGetAttribLocationARB, _gloffset_GetAttribLocationARB)
 	GL_STUB(glDrawBuffersARB, _gloffset_DrawBuffersARB)
 	GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT)
-	GL_STUB(glGetHistogramEXT, _gloffset_GetHistogramEXT)
-	GL_STUB(glGetHistogramParameterfvEXT, _gloffset_GetHistogramParameterfvEXT)
-	GL_STUB(glGetHistogramParameterivEXT, _gloffset_GetHistogramParameterivEXT)
-	GL_STUB(glGetMinmaxEXT, _gloffset_GetMinmaxEXT)
-	GL_STUB(glGetMinmaxParameterfvEXT, _gloffset_GetMinmaxParameterfvEXT)
-	GL_STUB(glGetMinmaxParameterivEXT, _gloffset_GetMinmaxParameterivEXT)
-	GL_STUB(glGetConvolutionFilterEXT, _gloffset_GetConvolutionFilterEXT)
-	GL_STUB(glGetConvolutionParameterfvEXT, _gloffset_GetConvolutionParameterfvEXT)
-	GL_STUB(glGetConvolutionParameterivEXT, _gloffset_GetConvolutionParameterivEXT)
-	GL_STUB(glGetSeparableFilterEXT, _gloffset_GetSeparableFilterEXT)
-	GL_STUB(glGetColorTableParameterfvSGI, _gloffset_GetColorTableParameterfvSGI)
-	GL_STUB(glGetColorTableParameterivSGI, _gloffset_GetColorTableParameterivSGI)
-	GL_STUB(glGetColorTableSGI, _gloffset_GetColorTableSGI)
-	GL_STUB(glGetPixelTexGenParameterfvSGIS, _gloffset_GetPixelTexGenParameterfvSGIS)
-	GL_STUB(glGetPixelTexGenParameterivSGIS, _gloffset_GetPixelTexGenParameterivSGIS)
-	GL_STUB(glPixelTexGenParameterfSGIS, _gloffset_PixelTexGenParameterfSGIS)
-	GL_STUB(glPixelTexGenParameterfvSGIS, _gloffset_PixelTexGenParameterfvSGIS)
-	GL_STUB(glPixelTexGenParameteriSGIS, _gloffset_PixelTexGenParameteriSGIS)
-	GL_STUB(glPixelTexGenParameterivSGIS, _gloffset_PixelTexGenParameterivSGIS)
+	GL_STUB(gl_dispatch_stub_543, _gloffset__dispatch_stub_543)
+	GL_STUB(gl_dispatch_stub_544, _gloffset__dispatch_stub_544)
+	GL_STUB(gl_dispatch_stub_545, _gloffset__dispatch_stub_545)
+	GL_STUB(gl_dispatch_stub_546, _gloffset__dispatch_stub_546)
+	GL_STUB(gl_dispatch_stub_547, _gloffset__dispatch_stub_547)
+	GL_STUB(gl_dispatch_stub_548, _gloffset__dispatch_stub_548)
+	GL_STUB(gl_dispatch_stub_549, _gloffset__dispatch_stub_549)
+	GL_STUB(gl_dispatch_stub_550, _gloffset__dispatch_stub_550)
+	GL_STUB(gl_dispatch_stub_551, _gloffset__dispatch_stub_551)
+	GL_STUB(gl_dispatch_stub_552, _gloffset__dispatch_stub_552)
+	GL_STUB(gl_dispatch_stub_553, _gloffset__dispatch_stub_553)
+	GL_STUB(gl_dispatch_stub_554, _gloffset__dispatch_stub_554)
+	GL_STUB(gl_dispatch_stub_555, _gloffset__dispatch_stub_555)
+	GL_STUB(gl_dispatch_stub_556, _gloffset__dispatch_stub_556)
+	GL_STUB(gl_dispatch_stub_557, _gloffset__dispatch_stub_557)
+	GL_STUB(gl_dispatch_stub_558, _gloffset__dispatch_stub_558)
+	GL_STUB(gl_dispatch_stub_559, _gloffset__dispatch_stub_559)
+	GL_STUB(gl_dispatch_stub_560, _gloffset__dispatch_stub_560)
+	GL_STUB(gl_dispatch_stub_561, _gloffset__dispatch_stub_561)
 	GL_STUB(glAreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT)
 	GL_STUB(glGenTexturesEXT, _gloffset_GenTexturesEXT)
 	GL_STUB(glIsTextureEXT, _gloffset_IsTextureEXT)
-	GL_STUB(glSampleMaskSGIS, _gloffset_SampleMaskSGIS)
-	GL_STUB(glSamplePatternSGIS, _gloffset_SamplePatternSGIS)
+	GL_STUB(gl_dispatch_stub_565, _gloffset__dispatch_stub_565)
+	GL_STUB(gl_dispatch_stub_566, _gloffset__dispatch_stub_566)
 	GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT)
 	GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT)
 	GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT)
@@ -1417,8 +1417,8 @@
 	GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT)
 	GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT)
 	GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT)
-	GL_STUB(glCullParameterdvEXT, _gloffset_CullParameterdvEXT)
-	GL_STUB(glCullParameterfvEXT, _gloffset_CullParameterfvEXT)
+	GL_STUB(gl_dispatch_stub_577, _gloffset__dispatch_stub_577)
+	GL_STUB(gl_dispatch_stub_578, _gloffset__dispatch_stub_578)
 	GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT)
 	GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT)
 	GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT)
@@ -1443,7 +1443,7 @@
 	GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT)
 	GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT)
 	GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT)
-	GL_STUB(glPixelTexGenSGIX, _gloffset_PixelTexGenSGIX)
+	GL_STUB(gl_dispatch_stub_603, _gloffset__dispatch_stub_603)
 	GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT)
 	GL_STUB(glVertexWeightPointerEXT, _gloffset_VertexWeightPointerEXT)
 	GL_STUB(glVertexWeightfEXT, _gloffset_VertexWeightfEXT)
@@ -1488,15 +1488,15 @@
 	GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA)
 	GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA)
 	GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA)
-	GL_STUB(glMultiModeDrawArraysIBM, _gloffset_MultiModeDrawArraysIBM)
-	GL_STUB(glMultiModeDrawElementsIBM, _gloffset_MultiModeDrawElementsIBM)
-	GL_STUB(glDeleteFencesNV, _gloffset_DeleteFencesNV)
-	GL_STUB(glFinishFenceNV, _gloffset_FinishFenceNV)
-	GL_STUB(glGenFencesNV, _gloffset_GenFencesNV)
-	GL_STUB(glGetFenceivNV, _gloffset_GetFenceivNV)
-	GL_STUB(glIsFenceNV, _gloffset_IsFenceNV)
-	GL_STUB(glSetFenceNV, _gloffset_SetFenceNV)
-	GL_STUB(glTestFenceNV, _gloffset_TestFenceNV)
+	GL_STUB(gl_dispatch_stub_648, _gloffset__dispatch_stub_648)
+	GL_STUB(gl_dispatch_stub_649, _gloffset__dispatch_stub_649)
+	GL_STUB(gl_dispatch_stub_650, _gloffset__dispatch_stub_650)
+	GL_STUB(gl_dispatch_stub_651, _gloffset__dispatch_stub_651)
+	GL_STUB(gl_dispatch_stub_652, _gloffset__dispatch_stub_652)
+	GL_STUB(gl_dispatch_stub_653, _gloffset__dispatch_stub_653)
+	GL_STUB(gl_dispatch_stub_654, _gloffset__dispatch_stub_654)
+	GL_STUB(gl_dispatch_stub_655, _gloffset__dispatch_stub_655)
+	GL_STUB(gl_dispatch_stub_656, _gloffset__dispatch_stub_656)
 	GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV)
 	GL_STUB(glBindProgramNV, _gloffset_BindProgramNV)
 	GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV)
@@ -1577,7 +1577,7 @@
 	GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI)
 	GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV)
 	GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV)
-	GL_STUB(glActiveStencilFaceEXT, _gloffset_ActiveStencilFaceEXT)
+	GL_STUB(gl_dispatch_stub_737, _gloffset__dispatch_stub_737)
 	GL_STUB(gl_dispatch_stub_738, _gloffset__dispatch_stub_738)
 	GL_STUB(gl_dispatch_stub_739, _gloffset__dispatch_stub_739)
 	GL_STUB(gl_dispatch_stub_740, _gloffset__dispatch_stub_740)
@@ -1588,8 +1588,8 @@
 	GL_STUB(glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV)
 	GL_STUB(glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV)
 	GL_STUB(glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV)
-	GL_STUB(glDepthBoundsEXT, _gloffset_DepthBoundsEXT)
-	GL_STUB(glBlendEquationSeparateEXT, _gloffset_BlendEquationSeparateEXT)
+	GL_STUB(gl_dispatch_stub_748, _gloffset__dispatch_stub_748)
+	GL_STUB(gl_dispatch_stub_749, _gloffset__dispatch_stub_749)
 	GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT)
 	GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT)
 	GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT)
@@ -1603,13 +1603,13 @@
 	GL_STUB(glGenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT)
 	GL_STUB(glGenerateMipmapEXT, _gloffset_GenerateMipmapEXT)
 	GL_STUB(glGetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT)
-	GL_STUB(glGetQueryObjecti64vEXT, _gloffset_GetQueryObjecti64vEXT)
-	GL_STUB(glGetQueryObjectui64vEXT, _gloffset_GetQueryObjectui64vEXT)
+	GL_STUB(gl_dispatch_stub_763, _gloffset__dispatch_stub_763)
+	GL_STUB(gl_dispatch_stub_764, _gloffset__dispatch_stub_764)
 	GL_STUB(glGetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT)
 	GL_STUB(glIsFramebufferEXT, _gloffset_IsFramebufferEXT)
 	GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT)
 	GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT)
-	GL_STUB(glBlitFramebufferEXT, _gloffset_BlitFramebufferEXT)
+	GL_STUB(gl_dispatch_stub_769, _gloffset__dispatch_stub_769)
 	GL_STUB(gl_dispatch_stub_770, _gloffset__dispatch_stub_770)
 	GL_STUB(gl_dispatch_stub_771, _gloffset__dispatch_stub_771)
 
@@ -1631,26 +1631,7 @@
 	.globl glBlendColorEXT ; .type glBlendColorEXT,#function ; glBlendColorEXT = glBlendColor
 	.globl glBlendEquationEXT ; .type glBlendEquationEXT,#function ; glBlendEquationEXT = glBlendEquation
 	.globl glDrawRangeElementsEXT ; .type glDrawRangeElementsEXT,#function ; glDrawRangeElementsEXT = glDrawRangeElements
-	.globl glColorTableSGI ; .type glColorTableSGI,#function ; glColorTableSGI = glColorTable
 	.globl glColorTableEXT ; .type glColorTableEXT,#function ; glColorTableEXT = glColorTable
-	.globl glColorTableParameterfvSGI ; .type glColorTableParameterfvSGI,#function ; glColorTableParameterfvSGI = glColorTableParameterfv
-	.globl glColorTableParameterivSGI ; .type glColorTableParameterivSGI,#function ; glColorTableParameterivSGI = glColorTableParameteriv
-	.globl glCopyColorTableSGI ; .type glCopyColorTableSGI,#function ; glCopyColorTableSGI = glCopyColorTable
-	.globl glColorSubTableEXT ; .type glColorSubTableEXT,#function ; glColorSubTableEXT = glColorSubTable
-	.globl glCopyColorSubTableEXT ; .type glCopyColorSubTableEXT,#function ; glCopyColorSubTableEXT = glCopyColorSubTable
-	.globl glConvolutionFilter1DEXT ; .type glConvolutionFilter1DEXT,#function ; glConvolutionFilter1DEXT = glConvolutionFilter1D
-	.globl glConvolutionFilter2DEXT ; .type glConvolutionFilter2DEXT,#function ; glConvolutionFilter2DEXT = glConvolutionFilter2D
-	.globl glConvolutionParameterfEXT ; .type glConvolutionParameterfEXT,#function ; glConvolutionParameterfEXT = glConvolutionParameterf
-	.globl glConvolutionParameterfvEXT ; .type glConvolutionParameterfvEXT,#function ; glConvolutionParameterfvEXT = glConvolutionParameterfv
-	.globl glConvolutionParameteriEXT ; .type glConvolutionParameteriEXT,#function ; glConvolutionParameteriEXT = glConvolutionParameteri
-	.globl glConvolutionParameterivEXT ; .type glConvolutionParameterivEXT,#function ; glConvolutionParameterivEXT = glConvolutionParameteriv
-	.globl glCopyConvolutionFilter1DEXT ; .type glCopyConvolutionFilter1DEXT,#function ; glCopyConvolutionFilter1DEXT = glCopyConvolutionFilter1D
-	.globl glCopyConvolutionFilter2DEXT ; .type glCopyConvolutionFilter2DEXT,#function ; glCopyConvolutionFilter2DEXT = glCopyConvolutionFilter2D
-	.globl glSeparableFilter2DEXT ; .type glSeparableFilter2DEXT,#function ; glSeparableFilter2DEXT = glSeparableFilter2D
-	.globl glHistogramEXT ; .type glHistogramEXT,#function ; glHistogramEXT = glHistogram
-	.globl glMinmaxEXT ; .type glMinmaxEXT,#function ; glMinmaxEXT = glMinmax
-	.globl glResetHistogramEXT ; .type glResetHistogramEXT,#function ; glResetHistogramEXT = glResetHistogram
-	.globl glResetMinmaxEXT ; .type glResetMinmaxEXT,#function ; glResetMinmaxEXT = glResetMinmax
 	.globl glTexImage3DEXT ; .type glTexImage3DEXT,#function ; glTexImage3DEXT = glTexImage3D
 	.globl glTexSubImage3DEXT ; .type glTexSubImage3DEXT,#function ; glTexSubImage3DEXT = glTexSubImage3D
 	.globl glCopyTexSubImage3DEXT ; .type glCopyTexSubImage3DEXT,#function ; glCopyTexSubImage3DEXT = glCopyTexSubImage3D
@@ -1724,14 +1705,10 @@
 	.globl glGetColorTableParameterfvEXT ; .type glGetColorTableParameterfvEXT,#function ; glGetColorTableParameterfvEXT = glGetColorTableParameterfvSGI
 	.globl glGetColorTableParameterivEXT ; .type glGetColorTableParameterivEXT,#function ; glGetColorTableParameterivEXT = glGetColorTableParameterivSGI
 	.globl glGetColorTableEXT ; .type glGetColorTableEXT,#function ; glGetColorTableEXT = glGetColorTableSGI
-	.globl glSampleMaskEXT ; .type glSampleMaskEXT,#function ; glSampleMaskEXT = glSampleMaskSGIS
-	.globl glSamplePatternEXT ; .type glSamplePatternEXT,#function ; glSamplePatternEXT = glSamplePatternSGIS
 	.globl glPointParameterf ; .type glPointParameterf,#function ; glPointParameterf = glPointParameterfEXT
 	.globl glPointParameterfARB ; .type glPointParameterfARB,#function ; glPointParameterfARB = glPointParameterfEXT
-	.globl glPointParameterfSGIS ; .type glPointParameterfSGIS,#function ; glPointParameterfSGIS = glPointParameterfEXT
 	.globl glPointParameterfv ; .type glPointParameterfv,#function ; glPointParameterfv = glPointParameterfvEXT
 	.globl glPointParameterfvARB ; .type glPointParameterfvARB,#function ; glPointParameterfvARB = glPointParameterfvEXT
-	.globl glPointParameterfvSGIS ; .type glPointParameterfvSGIS,#function ; glPointParameterfvSGIS = glPointParameterfvEXT
 	.globl glSecondaryColor3b ; .type glSecondaryColor3b,#function ; glSecondaryColor3b = glSecondaryColor3bEXT
 	.globl glSecondaryColor3bv ; .type glSecondaryColor3bv,#function ; glSecondaryColor3bv = glSecondaryColor3bvEXT
 	.globl glSecondaryColor3d ; .type glSecondaryColor3d,#function ; glSecondaryColor3d = glSecondaryColor3dEXT
@@ -1757,7 +1734,6 @@
 	.globl glFogCoordf ; .type glFogCoordf,#function ; glFogCoordf = glFogCoordfEXT
 	.globl glFogCoordfv ; .type glFogCoordfv,#function ; glFogCoordfv = glFogCoordfvEXT
 	.globl glBlendFuncSeparate ; .type glBlendFuncSeparate,#function ; glBlendFuncSeparate = glBlendFuncSeparateEXT
-	.globl glBlendFuncSeparateINGR ; .type glBlendFuncSeparateINGR,#function ; glBlendFuncSeparateINGR = glBlendFuncSeparateEXT
 	.globl glWindowPos2d ; .type glWindowPos2d,#function ; glWindowPos2d = glWindowPos2dMESA
 	.globl glWindowPos2dARB ; .type glWindowPos2dARB,#function ; glWindowPos2dARB = glWindowPos2dMESA
 	.globl glWindowPos2dv ; .type glWindowPos2dv,#function ; glWindowPos2dv = glWindowPos2dvMESA
@@ -1798,4 +1774,3 @@
 	.globl glPointParameteri ; .type glPointParameteri,#function ; glPointParameteri = glPointParameteriNV
 	.globl glPointParameteriv ; .type glPointParameteriv,#function ; glPointParameteriv = glPointParameterivNV
 	.globl glBlendEquationSeparate ; .type glBlendEquationSeparate,#function ; glBlendEquationSeparate = glBlendEquationSeparateEXT
-	.globl glBlendEquationSeparateATI ; .type glBlendEquationSeparateATI,#function ; glBlendEquationSeparateATI = glBlendEquationSeparateEXT
diff --git a/src/mesa/x86-64/glapi_x86-64.S b/src/mesa/x86-64/glapi_x86-64.S
index 324fa17..cb36eff 100644
--- a/src/mesa/x86-64/glapi_x86-64.S
+++ b/src/mesa/x86-64/glapi_x86-64.S
@@ -20421,9 +20421,10 @@
 	.size	GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetHistogramEXT)
-	.type	GL_PREFIX(GetHistogramEXT), @function
-GL_PREFIX(GetHistogramEXT):
+	.globl	GL_PREFIX(_dispatch_stub_543)
+	.type	GL_PREFIX(_dispatch_stub_543), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_543))
+GL_PREFIX(_dispatch_stub_543):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4344(%rax), %r11
@@ -20463,12 +20464,13 @@
 	movq	4344(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetHistogramEXT), .-GL_PREFIX(GetHistogramEXT)
+	.size	GL_PREFIX(_dispatch_stub_543), .-GL_PREFIX(_dispatch_stub_543)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetHistogramParameterfvEXT)
-	.type	GL_PREFIX(GetHistogramParameterfvEXT), @function
-GL_PREFIX(GetHistogramParameterfvEXT):
+	.globl	GL_PREFIX(_dispatch_stub_544)
+	.type	GL_PREFIX(_dispatch_stub_544), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_544))
+GL_PREFIX(_dispatch_stub_544):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4352(%rax), %r11
@@ -20500,12 +20502,13 @@
 	movq	4352(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetHistogramParameterfvEXT), .-GL_PREFIX(GetHistogramParameterfvEXT)
+	.size	GL_PREFIX(_dispatch_stub_544), .-GL_PREFIX(_dispatch_stub_544)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetHistogramParameterivEXT)
-	.type	GL_PREFIX(GetHistogramParameterivEXT), @function
-GL_PREFIX(GetHistogramParameterivEXT):
+	.globl	GL_PREFIX(_dispatch_stub_545)
+	.type	GL_PREFIX(_dispatch_stub_545), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_545))
+GL_PREFIX(_dispatch_stub_545):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4360(%rax), %r11
@@ -20537,12 +20540,13 @@
 	movq	4360(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetHistogramParameterivEXT), .-GL_PREFIX(GetHistogramParameterivEXT)
+	.size	GL_PREFIX(_dispatch_stub_545), .-GL_PREFIX(_dispatch_stub_545)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetMinmaxEXT)
-	.type	GL_PREFIX(GetMinmaxEXT), @function
-GL_PREFIX(GetMinmaxEXT):
+	.globl	GL_PREFIX(_dispatch_stub_546)
+	.type	GL_PREFIX(_dispatch_stub_546), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_546))
+GL_PREFIX(_dispatch_stub_546):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4368(%rax), %r11
@@ -20582,12 +20586,13 @@
 	movq	4368(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetMinmaxEXT), .-GL_PREFIX(GetMinmaxEXT)
+	.size	GL_PREFIX(_dispatch_stub_546), .-GL_PREFIX(_dispatch_stub_546)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetMinmaxParameterfvEXT)
-	.type	GL_PREFIX(GetMinmaxParameterfvEXT), @function
-GL_PREFIX(GetMinmaxParameterfvEXT):
+	.globl	GL_PREFIX(_dispatch_stub_547)
+	.type	GL_PREFIX(_dispatch_stub_547), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_547))
+GL_PREFIX(_dispatch_stub_547):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4376(%rax), %r11
@@ -20619,12 +20624,13 @@
 	movq	4376(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetMinmaxParameterfvEXT), .-GL_PREFIX(GetMinmaxParameterfvEXT)
+	.size	GL_PREFIX(_dispatch_stub_547), .-GL_PREFIX(_dispatch_stub_547)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetMinmaxParameterivEXT)
-	.type	GL_PREFIX(GetMinmaxParameterivEXT), @function
-GL_PREFIX(GetMinmaxParameterivEXT):
+	.globl	GL_PREFIX(_dispatch_stub_548)
+	.type	GL_PREFIX(_dispatch_stub_548), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_548))
+GL_PREFIX(_dispatch_stub_548):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4384(%rax), %r11
@@ -20656,12 +20662,13 @@
 	movq	4384(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetMinmaxParameterivEXT), .-GL_PREFIX(GetMinmaxParameterivEXT)
+	.size	GL_PREFIX(_dispatch_stub_548), .-GL_PREFIX(_dispatch_stub_548)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetConvolutionFilterEXT)
-	.type	GL_PREFIX(GetConvolutionFilterEXT), @function
-GL_PREFIX(GetConvolutionFilterEXT):
+	.globl	GL_PREFIX(_dispatch_stub_549)
+	.type	GL_PREFIX(_dispatch_stub_549), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_549))
+GL_PREFIX(_dispatch_stub_549):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4392(%rax), %r11
@@ -20701,12 +20708,13 @@
 	movq	4392(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetConvolutionFilterEXT), .-GL_PREFIX(GetConvolutionFilterEXT)
+	.size	GL_PREFIX(_dispatch_stub_549), .-GL_PREFIX(_dispatch_stub_549)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetConvolutionParameterfvEXT)
-	.type	GL_PREFIX(GetConvolutionParameterfvEXT), @function
-GL_PREFIX(GetConvolutionParameterfvEXT):
+	.globl	GL_PREFIX(_dispatch_stub_550)
+	.type	GL_PREFIX(_dispatch_stub_550), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_550))
+GL_PREFIX(_dispatch_stub_550):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4400(%rax), %r11
@@ -20738,12 +20746,13 @@
 	movq	4400(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetConvolutionParameterfvEXT), .-GL_PREFIX(GetConvolutionParameterfvEXT)
+	.size	GL_PREFIX(_dispatch_stub_550), .-GL_PREFIX(_dispatch_stub_550)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetConvolutionParameterivEXT)
-	.type	GL_PREFIX(GetConvolutionParameterivEXT), @function
-GL_PREFIX(GetConvolutionParameterivEXT):
+	.globl	GL_PREFIX(_dispatch_stub_551)
+	.type	GL_PREFIX(_dispatch_stub_551), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_551))
+GL_PREFIX(_dispatch_stub_551):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4408(%rax), %r11
@@ -20775,12 +20784,13 @@
 	movq	4408(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetConvolutionParameterivEXT), .-GL_PREFIX(GetConvolutionParameterivEXT)
+	.size	GL_PREFIX(_dispatch_stub_551), .-GL_PREFIX(_dispatch_stub_551)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetSeparableFilterEXT)
-	.type	GL_PREFIX(GetSeparableFilterEXT), @function
-GL_PREFIX(GetSeparableFilterEXT):
+	.globl	GL_PREFIX(_dispatch_stub_552)
+	.type	GL_PREFIX(_dispatch_stub_552), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_552))
+GL_PREFIX(_dispatch_stub_552):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4416(%rax), %r11
@@ -20828,12 +20838,13 @@
 	movq	4416(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetSeparableFilterEXT), .-GL_PREFIX(GetSeparableFilterEXT)
+	.size	GL_PREFIX(_dispatch_stub_552), .-GL_PREFIX(_dispatch_stub_552)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetColorTableParameterfvSGI)
-	.type	GL_PREFIX(GetColorTableParameterfvSGI), @function
-GL_PREFIX(GetColorTableParameterfvSGI):
+	.globl	GL_PREFIX(_dispatch_stub_553)
+	.type	GL_PREFIX(_dispatch_stub_553), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_553))
+GL_PREFIX(_dispatch_stub_553):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4424(%rax), %r11
@@ -20865,12 +20876,13 @@
 	movq	4424(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetColorTableParameterfvSGI), .-GL_PREFIX(GetColorTableParameterfvSGI)
+	.size	GL_PREFIX(_dispatch_stub_553), .-GL_PREFIX(_dispatch_stub_553)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetColorTableParameterivSGI)
-	.type	GL_PREFIX(GetColorTableParameterivSGI), @function
-GL_PREFIX(GetColorTableParameterivSGI):
+	.globl	GL_PREFIX(_dispatch_stub_554)
+	.type	GL_PREFIX(_dispatch_stub_554), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_554))
+GL_PREFIX(_dispatch_stub_554):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4432(%rax), %r11
@@ -20902,12 +20914,13 @@
 	movq	4432(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetColorTableParameterivSGI), .-GL_PREFIX(GetColorTableParameterivSGI)
+	.size	GL_PREFIX(_dispatch_stub_554), .-GL_PREFIX(_dispatch_stub_554)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetColorTableSGI)
-	.type	GL_PREFIX(GetColorTableSGI), @function
-GL_PREFIX(GetColorTableSGI):
+	.globl	GL_PREFIX(_dispatch_stub_555)
+	.type	GL_PREFIX(_dispatch_stub_555), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_555))
+GL_PREFIX(_dispatch_stub_555):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4440(%rax), %r11
@@ -20947,12 +20960,13 @@
 	movq	4440(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetColorTableSGI), .-GL_PREFIX(GetColorTableSGI)
+	.size	GL_PREFIX(_dispatch_stub_555), .-GL_PREFIX(_dispatch_stub_555)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetPixelTexGenParameterfvSGIS)
-	.type	GL_PREFIX(GetPixelTexGenParameterfvSGIS), @function
-GL_PREFIX(GetPixelTexGenParameterfvSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_556)
+	.type	GL_PREFIX(_dispatch_stub_556), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_556))
+GL_PREFIX(_dispatch_stub_556):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4448(%rax), %r11
@@ -20984,12 +20998,13 @@
 	movq	4448(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetPixelTexGenParameterfvSGIS), .-GL_PREFIX(GetPixelTexGenParameterfvSGIS)
+	.size	GL_PREFIX(_dispatch_stub_556), .-GL_PREFIX(_dispatch_stub_556)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetPixelTexGenParameterivSGIS)
-	.type	GL_PREFIX(GetPixelTexGenParameterivSGIS), @function
-GL_PREFIX(GetPixelTexGenParameterivSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_557)
+	.type	GL_PREFIX(_dispatch_stub_557), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_557))
+GL_PREFIX(_dispatch_stub_557):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4456(%rax), %r11
@@ -21021,12 +21036,13 @@
 	movq	4456(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetPixelTexGenParameterivSGIS), .-GL_PREFIX(GetPixelTexGenParameterivSGIS)
+	.size	GL_PREFIX(_dispatch_stub_557), .-GL_PREFIX(_dispatch_stub_557)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(PixelTexGenParameterfSGIS)
-	.type	GL_PREFIX(PixelTexGenParameterfSGIS), @function
-GL_PREFIX(PixelTexGenParameterfSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_558)
+	.type	GL_PREFIX(_dispatch_stub_558), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_558))
+GL_PREFIX(_dispatch_stub_558):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4464(%rax), %r11
@@ -21058,12 +21074,13 @@
 	movq	4464(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(PixelTexGenParameterfSGIS), .-GL_PREFIX(PixelTexGenParameterfSGIS)
+	.size	GL_PREFIX(_dispatch_stub_558), .-GL_PREFIX(_dispatch_stub_558)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(PixelTexGenParameterfvSGIS)
-	.type	GL_PREFIX(PixelTexGenParameterfvSGIS), @function
-GL_PREFIX(PixelTexGenParameterfvSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_559)
+	.type	GL_PREFIX(_dispatch_stub_559), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_559))
+GL_PREFIX(_dispatch_stub_559):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4472(%rax), %r11
@@ -21095,12 +21112,13 @@
 	movq	4472(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(PixelTexGenParameterfvSGIS), .-GL_PREFIX(PixelTexGenParameterfvSGIS)
+	.size	GL_PREFIX(_dispatch_stub_559), .-GL_PREFIX(_dispatch_stub_559)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(PixelTexGenParameteriSGIS)
-	.type	GL_PREFIX(PixelTexGenParameteriSGIS), @function
-GL_PREFIX(PixelTexGenParameteriSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_560)
+	.type	GL_PREFIX(_dispatch_stub_560), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_560))
+GL_PREFIX(_dispatch_stub_560):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4480(%rax), %r11
@@ -21132,12 +21150,13 @@
 	movq	4480(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(PixelTexGenParameteriSGIS), .-GL_PREFIX(PixelTexGenParameteriSGIS)
+	.size	GL_PREFIX(_dispatch_stub_560), .-GL_PREFIX(_dispatch_stub_560)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(PixelTexGenParameterivSGIS)
-	.type	GL_PREFIX(PixelTexGenParameterivSGIS), @function
-GL_PREFIX(PixelTexGenParameterivSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_561)
+	.type	GL_PREFIX(_dispatch_stub_561), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_561))
+GL_PREFIX(_dispatch_stub_561):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4488(%rax), %r11
@@ -21169,7 +21188,7 @@
 	movq	4488(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(PixelTexGenParameterivSGIS), .-GL_PREFIX(PixelTexGenParameterivSGIS)
+	.size	GL_PREFIX(_dispatch_stub_561), .-GL_PREFIX(_dispatch_stub_561)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(AreTexturesResidentEXT)
@@ -21275,9 +21294,10 @@
 	.size	GL_PREFIX(IsTextureEXT), .-GL_PREFIX(IsTextureEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(SampleMaskSGIS)
-	.type	GL_PREFIX(SampleMaskSGIS), @function
-GL_PREFIX(SampleMaskSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_565)
+	.type	GL_PREFIX(_dispatch_stub_565), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_565))
+GL_PREFIX(_dispatch_stub_565):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4520(%rax), %r11
@@ -21309,12 +21329,13 @@
 	movq	4520(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(SampleMaskSGIS), .-GL_PREFIX(SampleMaskSGIS)
+	.size	GL_PREFIX(_dispatch_stub_565), .-GL_PREFIX(_dispatch_stub_565)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(SamplePatternSGIS)
-	.type	GL_PREFIX(SamplePatternSGIS), @function
-GL_PREFIX(SamplePatternSGIS):
+	.globl	GL_PREFIX(_dispatch_stub_566)
+	.type	GL_PREFIX(_dispatch_stub_566), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_566))
+GL_PREFIX(_dispatch_stub_566):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4528(%rax), %r11
@@ -21338,7 +21359,7 @@
 	movq	4528(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(SamplePatternSGIS), .-GL_PREFIX(SamplePatternSGIS)
+	.size	GL_PREFIX(_dispatch_stub_566), .-GL_PREFIX(_dispatch_stub_566)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(ColorPointerEXT)
@@ -21743,9 +21764,10 @@
 	.size	GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(CullParameterdvEXT)
-	.type	GL_PREFIX(CullParameterdvEXT), @function
-GL_PREFIX(CullParameterdvEXT):
+	.globl	GL_PREFIX(_dispatch_stub_577)
+	.type	GL_PREFIX(_dispatch_stub_577), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_577))
+GL_PREFIX(_dispatch_stub_577):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4616(%rax), %r11
@@ -21777,12 +21799,13 @@
 	movq	4616(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(CullParameterdvEXT), .-GL_PREFIX(CullParameterdvEXT)
+	.size	GL_PREFIX(_dispatch_stub_577), .-GL_PREFIX(_dispatch_stub_577)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(CullParameterfvEXT)
-	.type	GL_PREFIX(CullParameterfvEXT), @function
-GL_PREFIX(CullParameterfvEXT):
+	.globl	GL_PREFIX(_dispatch_stub_578)
+	.type	GL_PREFIX(_dispatch_stub_578), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_578))
+GL_PREFIX(_dispatch_stub_578):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4624(%rax), %r11
@@ -21814,7 +21837,7 @@
 	movq	4624(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(CullParameterfvEXT), .-GL_PREFIX(CullParameterfvEXT)
+	.size	GL_PREFIX(_dispatch_stub_578), .-GL_PREFIX(_dispatch_stub_578)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(SecondaryColor3bEXT)
@@ -22649,9 +22672,10 @@
 	.size	GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(PixelTexGenSGIX)
-	.type	GL_PREFIX(PixelTexGenSGIX), @function
-GL_PREFIX(PixelTexGenSGIX):
+	.globl	GL_PREFIX(_dispatch_stub_603)
+	.type	GL_PREFIX(_dispatch_stub_603), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_603))
+GL_PREFIX(_dispatch_stub_603):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	4824(%rax), %r11
@@ -22675,7 +22699,7 @@
 	movq	4824(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(PixelTexGenSGIX), .-GL_PREFIX(PixelTexGenSGIX)
+	.size	GL_PREFIX(_dispatch_stub_603), .-GL_PREFIX(_dispatch_stub_603)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(BlendFuncSeparateEXT)
@@ -24310,9 +24334,10 @@
 	.size	GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(MultiModeDrawArraysIBM)
-	.type	GL_PREFIX(MultiModeDrawArraysIBM), @function
-GL_PREFIX(MultiModeDrawArraysIBM):
+	.globl	GL_PREFIX(_dispatch_stub_648)
+	.type	GL_PREFIX(_dispatch_stub_648), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_648))
+GL_PREFIX(_dispatch_stub_648):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5184(%rax), %r11
@@ -24352,12 +24377,13 @@
 	movq	5184(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(MultiModeDrawArraysIBM), .-GL_PREFIX(MultiModeDrawArraysIBM)
+	.size	GL_PREFIX(_dispatch_stub_648), .-GL_PREFIX(_dispatch_stub_648)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(MultiModeDrawElementsIBM)
-	.type	GL_PREFIX(MultiModeDrawElementsIBM), @function
-GL_PREFIX(MultiModeDrawElementsIBM):
+	.globl	GL_PREFIX(_dispatch_stub_649)
+	.type	GL_PREFIX(_dispatch_stub_649), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_649))
+GL_PREFIX(_dispatch_stub_649):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5192(%rax), %r11
@@ -24405,12 +24431,13 @@
 	movq	5192(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(MultiModeDrawElementsIBM), .-GL_PREFIX(MultiModeDrawElementsIBM)
+	.size	GL_PREFIX(_dispatch_stub_649), .-GL_PREFIX(_dispatch_stub_649)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(DeleteFencesNV)
-	.type	GL_PREFIX(DeleteFencesNV), @function
-GL_PREFIX(DeleteFencesNV):
+	.globl	GL_PREFIX(_dispatch_stub_650)
+	.type	GL_PREFIX(_dispatch_stub_650), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_650))
+GL_PREFIX(_dispatch_stub_650):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5200(%rax), %r11
@@ -24442,12 +24469,13 @@
 	movq	5200(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(DeleteFencesNV), .-GL_PREFIX(DeleteFencesNV)
+	.size	GL_PREFIX(_dispatch_stub_650), .-GL_PREFIX(_dispatch_stub_650)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(FinishFenceNV)
-	.type	GL_PREFIX(FinishFenceNV), @function
-GL_PREFIX(FinishFenceNV):
+	.globl	GL_PREFIX(_dispatch_stub_651)
+	.type	GL_PREFIX(_dispatch_stub_651), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_651))
+GL_PREFIX(_dispatch_stub_651):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5208(%rax), %r11
@@ -24471,12 +24499,13 @@
 	movq	5208(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(FinishFenceNV), .-GL_PREFIX(FinishFenceNV)
+	.size	GL_PREFIX(_dispatch_stub_651), .-GL_PREFIX(_dispatch_stub_651)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GenFencesNV)
-	.type	GL_PREFIX(GenFencesNV), @function
-GL_PREFIX(GenFencesNV):
+	.globl	GL_PREFIX(_dispatch_stub_652)
+	.type	GL_PREFIX(_dispatch_stub_652), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_652))
+GL_PREFIX(_dispatch_stub_652):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5216(%rax), %r11
@@ -24508,12 +24537,13 @@
 	movq	5216(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GenFencesNV), .-GL_PREFIX(GenFencesNV)
+	.size	GL_PREFIX(_dispatch_stub_652), .-GL_PREFIX(_dispatch_stub_652)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetFenceivNV)
-	.type	GL_PREFIX(GetFenceivNV), @function
-GL_PREFIX(GetFenceivNV):
+	.globl	GL_PREFIX(_dispatch_stub_653)
+	.type	GL_PREFIX(_dispatch_stub_653), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_653))
+GL_PREFIX(_dispatch_stub_653):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5224(%rax), %r11
@@ -24545,12 +24575,13 @@
 	movq	5224(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetFenceivNV), .-GL_PREFIX(GetFenceivNV)
+	.size	GL_PREFIX(_dispatch_stub_653), .-GL_PREFIX(_dispatch_stub_653)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(IsFenceNV)
-	.type	GL_PREFIX(IsFenceNV), @function
-GL_PREFIX(IsFenceNV):
+	.globl	GL_PREFIX(_dispatch_stub_654)
+	.type	GL_PREFIX(_dispatch_stub_654), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_654))
+GL_PREFIX(_dispatch_stub_654):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5232(%rax), %r11
@@ -24574,12 +24605,13 @@
 	movq	5232(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(IsFenceNV), .-GL_PREFIX(IsFenceNV)
+	.size	GL_PREFIX(_dispatch_stub_654), .-GL_PREFIX(_dispatch_stub_654)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(SetFenceNV)
-	.type	GL_PREFIX(SetFenceNV), @function
-GL_PREFIX(SetFenceNV):
+	.globl	GL_PREFIX(_dispatch_stub_655)
+	.type	GL_PREFIX(_dispatch_stub_655), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_655))
+GL_PREFIX(_dispatch_stub_655):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5240(%rax), %r11
@@ -24611,12 +24643,13 @@
 	movq	5240(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(SetFenceNV), .-GL_PREFIX(SetFenceNV)
+	.size	GL_PREFIX(_dispatch_stub_655), .-GL_PREFIX(_dispatch_stub_655)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(TestFenceNV)
-	.type	GL_PREFIX(TestFenceNV), @function
-GL_PREFIX(TestFenceNV):
+	.globl	GL_PREFIX(_dispatch_stub_656)
+	.type	GL_PREFIX(_dispatch_stub_656), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_656))
+GL_PREFIX(_dispatch_stub_656):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5248(%rax), %r11
@@ -24640,7 +24673,7 @@
 	movq	5248(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(TestFenceNV), .-GL_PREFIX(TestFenceNV)
+	.size	GL_PREFIX(_dispatch_stub_656), .-GL_PREFIX(_dispatch_stub_656)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(AreProgramsResidentNV)
@@ -27819,9 +27852,10 @@
 	.size	GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(ActiveStencilFaceEXT)
-	.type	GL_PREFIX(ActiveStencilFaceEXT), @function
-GL_PREFIX(ActiveStencilFaceEXT):
+	.globl	GL_PREFIX(_dispatch_stub_737)
+	.type	GL_PREFIX(_dispatch_stub_737), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_737))
+GL_PREFIX(_dispatch_stub_737):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5896(%rax), %r11
@@ -27845,7 +27879,7 @@
 	movq	5896(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(ActiveStencilFaceEXT), .-GL_PREFIX(ActiveStencilFaceEXT)
+	.size	GL_PREFIX(_dispatch_stub_737), .-GL_PREFIX(_dispatch_stub_737)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(_dispatch_stub_738)
@@ -28278,9 +28312,10 @@
 	.size	GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(DepthBoundsEXT)
-	.type	GL_PREFIX(DepthBoundsEXT), @function
-GL_PREFIX(DepthBoundsEXT):
+	.globl	GL_PREFIX(_dispatch_stub_748)
+	.type	GL_PREFIX(_dispatch_stub_748), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_748))
+GL_PREFIX(_dispatch_stub_748):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5984(%rax), %r11
@@ -28312,12 +28347,13 @@
 	movq	5984(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(DepthBoundsEXT), .-GL_PREFIX(DepthBoundsEXT)
+	.size	GL_PREFIX(_dispatch_stub_748), .-GL_PREFIX(_dispatch_stub_748)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(BlendEquationSeparateEXT)
-	.type	GL_PREFIX(BlendEquationSeparateEXT), @function
-GL_PREFIX(BlendEquationSeparateEXT):
+	.globl	GL_PREFIX(_dispatch_stub_749)
+	.type	GL_PREFIX(_dispatch_stub_749), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_749))
+GL_PREFIX(_dispatch_stub_749):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	5992(%rax), %r11
@@ -28349,7 +28385,7 @@
 	movq	5992(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(BlendEquationSeparateEXT), .-GL_PREFIX(BlendEquationSeparateEXT)
+	.size	GL_PREFIX(_dispatch_stub_749), .-GL_PREFIX(_dispatch_stub_749)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(BindFramebufferEXT)
@@ -28865,9 +28901,10 @@
 	.size	GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetQueryObjecti64vEXT)
-	.type	GL_PREFIX(GetQueryObjecti64vEXT), @function
-GL_PREFIX(GetQueryObjecti64vEXT):
+	.globl	GL_PREFIX(_dispatch_stub_763)
+	.type	GL_PREFIX(_dispatch_stub_763), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_763))
+GL_PREFIX(_dispatch_stub_763):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	6104(%rax), %r11
@@ -28899,12 +28936,13 @@
 	movq	6104(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetQueryObjecti64vEXT), .-GL_PREFIX(GetQueryObjecti64vEXT)
+	.size	GL_PREFIX(_dispatch_stub_763), .-GL_PREFIX(_dispatch_stub_763)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(GetQueryObjectui64vEXT)
-	.type	GL_PREFIX(GetQueryObjectui64vEXT), @function
-GL_PREFIX(GetQueryObjectui64vEXT):
+	.globl	GL_PREFIX(_dispatch_stub_764)
+	.type	GL_PREFIX(_dispatch_stub_764), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_764))
+GL_PREFIX(_dispatch_stub_764):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	6112(%rax), %r11
@@ -28936,7 +28974,7 @@
 	movq	6112(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(GetQueryObjectui64vEXT), .-GL_PREFIX(GetQueryObjectui64vEXT)
+	.size	GL_PREFIX(_dispatch_stub_764), .-GL_PREFIX(_dispatch_stub_764)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(GetRenderbufferParameterivEXT)
@@ -29079,9 +29117,10 @@
 	.size	GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT)
 
 	.p2align	4,,15
-	.globl	GL_PREFIX(BlitFramebufferEXT)
-	.type	GL_PREFIX(BlitFramebufferEXT), @function
-GL_PREFIX(BlitFramebufferEXT):
+	.globl	GL_PREFIX(_dispatch_stub_769)
+	.type	GL_PREFIX(_dispatch_stub_769), @function
+	HIDDEN(GL_PREFIX(_dispatch_stub_769))
+GL_PREFIX(_dispatch_stub_769):
 #if defined(GLX_USE_TLS)
 	call	_x86_64_get_dispatch@PLT
 	movq	6152(%rax), %r11
@@ -29129,7 +29168,7 @@
 	movq	6152(%rax), %r11
 	jmp	*%r11
 #endif /* defined(GLX_USE_TLS) */
-	.size	GL_PREFIX(BlitFramebufferEXT), .-GL_PREFIX(BlitFramebufferEXT)
+	.size	GL_PREFIX(_dispatch_stub_769), .-GL_PREFIX(_dispatch_stub_769)
 
 	.p2align	4,,15
 	.globl	GL_PREFIX(_dispatch_stub_770)
@@ -29238,26 +29277,7 @@
 	.globl GL_PREFIX(BlendColorEXT) ; .set GL_PREFIX(BlendColorEXT), GL_PREFIX(BlendColor)
 	.globl GL_PREFIX(BlendEquationEXT) ; .set GL_PREFIX(BlendEquationEXT), GL_PREFIX(BlendEquation)
 	.globl GL_PREFIX(DrawRangeElementsEXT) ; .set GL_PREFIX(DrawRangeElementsEXT), GL_PREFIX(DrawRangeElements)
-	.globl GL_PREFIX(ColorTableSGI) ; .set GL_PREFIX(ColorTableSGI), GL_PREFIX(ColorTable)
 	.globl GL_PREFIX(ColorTableEXT) ; .set GL_PREFIX(ColorTableEXT), GL_PREFIX(ColorTable)
-	.globl GL_PREFIX(ColorTableParameterfvSGI) ; .set GL_PREFIX(ColorTableParameterfvSGI), GL_PREFIX(ColorTableParameterfv)
-	.globl GL_PREFIX(ColorTableParameterivSGI) ; .set GL_PREFIX(ColorTableParameterivSGI), GL_PREFIX(ColorTableParameteriv)
-	.globl GL_PREFIX(CopyColorTableSGI) ; .set GL_PREFIX(CopyColorTableSGI), GL_PREFIX(CopyColorTable)
-	.globl GL_PREFIX(ColorSubTableEXT) ; .set GL_PREFIX(ColorSubTableEXT), GL_PREFIX(ColorSubTable)
-	.globl GL_PREFIX(CopyColorSubTableEXT) ; .set GL_PREFIX(CopyColorSubTableEXT), GL_PREFIX(CopyColorSubTable)
-	.globl GL_PREFIX(ConvolutionFilter1DEXT) ; .set GL_PREFIX(ConvolutionFilter1DEXT), GL_PREFIX(ConvolutionFilter1D)
-	.globl GL_PREFIX(ConvolutionFilter2DEXT) ; .set GL_PREFIX(ConvolutionFilter2DEXT), GL_PREFIX(ConvolutionFilter2D)
-	.globl GL_PREFIX(ConvolutionParameterfEXT) ; .set GL_PREFIX(ConvolutionParameterfEXT), GL_PREFIX(ConvolutionParameterf)
-	.globl GL_PREFIX(ConvolutionParameterfvEXT) ; .set GL_PREFIX(ConvolutionParameterfvEXT), GL_PREFIX(ConvolutionParameterfv)
-	.globl GL_PREFIX(ConvolutionParameteriEXT) ; .set GL_PREFIX(ConvolutionParameteriEXT), GL_PREFIX(ConvolutionParameteri)
-	.globl GL_PREFIX(ConvolutionParameterivEXT) ; .set GL_PREFIX(ConvolutionParameterivEXT), GL_PREFIX(ConvolutionParameteriv)
-	.globl GL_PREFIX(CopyConvolutionFilter1DEXT) ; .set GL_PREFIX(CopyConvolutionFilter1DEXT), GL_PREFIX(CopyConvolutionFilter1D)
-	.globl GL_PREFIX(CopyConvolutionFilter2DEXT) ; .set GL_PREFIX(CopyConvolutionFilter2DEXT), GL_PREFIX(CopyConvolutionFilter2D)
-	.globl GL_PREFIX(SeparableFilter2DEXT) ; .set GL_PREFIX(SeparableFilter2DEXT), GL_PREFIX(SeparableFilter2D)
-	.globl GL_PREFIX(HistogramEXT) ; .set GL_PREFIX(HistogramEXT), GL_PREFIX(Histogram)
-	.globl GL_PREFIX(MinmaxEXT) ; .set GL_PREFIX(MinmaxEXT), GL_PREFIX(Minmax)
-	.globl GL_PREFIX(ResetHistogramEXT) ; .set GL_PREFIX(ResetHistogramEXT), GL_PREFIX(ResetHistogram)
-	.globl GL_PREFIX(ResetMinmaxEXT) ; .set GL_PREFIX(ResetMinmaxEXT), GL_PREFIX(ResetMinmax)
 	.globl GL_PREFIX(TexImage3DEXT) ; .set GL_PREFIX(TexImage3DEXT), GL_PREFIX(TexImage3D)
 	.globl GL_PREFIX(TexSubImage3DEXT) ; .set GL_PREFIX(TexSubImage3DEXT), GL_PREFIX(TexSubImage3D)
 	.globl GL_PREFIX(CopyTexSubImage3DEXT) ; .set GL_PREFIX(CopyTexSubImage3DEXT), GL_PREFIX(CopyTexSubImage3D)
@@ -29328,17 +29348,13 @@
 	.globl GL_PREFIX(IsQuery) ; .set GL_PREFIX(IsQuery), GL_PREFIX(IsQueryARB)
 	.globl GL_PREFIX(DrawBuffers) ; .set GL_PREFIX(DrawBuffers), GL_PREFIX(DrawBuffersARB)
 	.globl GL_PREFIX(DrawBuffersATI) ; .set GL_PREFIX(DrawBuffersATI), GL_PREFIX(DrawBuffersARB)
-	.globl GL_PREFIX(GetColorTableParameterfvEXT) ; .set GL_PREFIX(GetColorTableParameterfvEXT), GL_PREFIX(GetColorTableParameterfvSGI)
-	.globl GL_PREFIX(GetColorTableParameterivEXT) ; .set GL_PREFIX(GetColorTableParameterivEXT), GL_PREFIX(GetColorTableParameterivSGI)
-	.globl GL_PREFIX(GetColorTableEXT) ; .set GL_PREFIX(GetColorTableEXT), GL_PREFIX(GetColorTableSGI)
-	.globl GL_PREFIX(SampleMaskEXT) ; .set GL_PREFIX(SampleMaskEXT), GL_PREFIX(SampleMaskSGIS)
-	.globl GL_PREFIX(SamplePatternEXT) ; .set GL_PREFIX(SamplePatternEXT), GL_PREFIX(SamplePatternSGIS)
+	.globl GL_PREFIX(GetColorTableParameterfvEXT) ; .set GL_PREFIX(GetColorTableParameterfvEXT), GL_PREFIX(_dispatch_stub_553)
+	.globl GL_PREFIX(GetColorTableParameterivEXT) ; .set GL_PREFIX(GetColorTableParameterivEXT), GL_PREFIX(_dispatch_stub_554)
+	.globl GL_PREFIX(GetColorTableEXT) ; .set GL_PREFIX(GetColorTableEXT), GL_PREFIX(_dispatch_stub_555)
 	.globl GL_PREFIX(PointParameterf) ; .set GL_PREFIX(PointParameterf), GL_PREFIX(PointParameterfEXT)
 	.globl GL_PREFIX(PointParameterfARB) ; .set GL_PREFIX(PointParameterfARB), GL_PREFIX(PointParameterfEXT)
-	.globl GL_PREFIX(PointParameterfSGIS) ; .set GL_PREFIX(PointParameterfSGIS), GL_PREFIX(PointParameterfEXT)
 	.globl GL_PREFIX(PointParameterfv) ; .set GL_PREFIX(PointParameterfv), GL_PREFIX(PointParameterfvEXT)
 	.globl GL_PREFIX(PointParameterfvARB) ; .set GL_PREFIX(PointParameterfvARB), GL_PREFIX(PointParameterfvEXT)
-	.globl GL_PREFIX(PointParameterfvSGIS) ; .set GL_PREFIX(PointParameterfvSGIS), GL_PREFIX(PointParameterfvEXT)
 	.globl GL_PREFIX(SecondaryColor3b) ; .set GL_PREFIX(SecondaryColor3b), GL_PREFIX(SecondaryColor3bEXT)
 	.globl GL_PREFIX(SecondaryColor3bv) ; .set GL_PREFIX(SecondaryColor3bv), GL_PREFIX(SecondaryColor3bvEXT)
 	.globl GL_PREFIX(SecondaryColor3d) ; .set GL_PREFIX(SecondaryColor3d), GL_PREFIX(SecondaryColor3dEXT)
@@ -29364,7 +29380,6 @@
 	.globl GL_PREFIX(FogCoordf) ; .set GL_PREFIX(FogCoordf), GL_PREFIX(FogCoordfEXT)
 	.globl GL_PREFIX(FogCoordfv) ; .set GL_PREFIX(FogCoordfv), GL_PREFIX(FogCoordfvEXT)
 	.globl GL_PREFIX(BlendFuncSeparate) ; .set GL_PREFIX(BlendFuncSeparate), GL_PREFIX(BlendFuncSeparateEXT)
-	.globl GL_PREFIX(BlendFuncSeparateINGR) ; .set GL_PREFIX(BlendFuncSeparateINGR), GL_PREFIX(BlendFuncSeparateEXT)
 	.globl GL_PREFIX(WindowPos2d) ; .set GL_PREFIX(WindowPos2d), GL_PREFIX(WindowPos2dMESA)
 	.globl GL_PREFIX(WindowPos2dARB) ; .set GL_PREFIX(WindowPos2dARB), GL_PREFIX(WindowPos2dMESA)
 	.globl GL_PREFIX(WindowPos2dv) ; .set GL_PREFIX(WindowPos2dv), GL_PREFIX(WindowPos2dvMESA)
@@ -29404,8 +29419,7 @@
 	.globl GL_PREFIX(IsProgramARB) ; .set GL_PREFIX(IsProgramARB), GL_PREFIX(IsProgramNV)
 	.globl GL_PREFIX(PointParameteri) ; .set GL_PREFIX(PointParameteri), GL_PREFIX(PointParameteriNV)
 	.globl GL_PREFIX(PointParameteriv) ; .set GL_PREFIX(PointParameteriv), GL_PREFIX(PointParameterivNV)
-	.globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(BlendEquationSeparateEXT)
-	.globl GL_PREFIX(BlendEquationSeparateATI) ; .set GL_PREFIX(BlendEquationSeparateATI), GL_PREFIX(BlendEquationSeparateEXT)
+	.globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_749)
 
 #if defined(GLX_USE_TLS) && defined(__linux__)
 	.section ".note.ABI-tag", "a"
diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S
index 936d07b..7ed1b66 100644
--- a/src/mesa/x86/glapi_x86.S
+++ b/src/mesa/x86/glapi_x86.S
@@ -684,30 +684,51 @@
 	GL_STUB(GetAttribLocationARB, _gloffset_GetAttribLocationARB, GetAttribLocationARB@8)
 	GL_STUB(DrawBuffersARB, _gloffset_DrawBuffersARB, DrawBuffersARB@8)
 	GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8)
-	GL_STUB(GetHistogramEXT, _gloffset_GetHistogramEXT, GetHistogramEXT@20)
-	GL_STUB(GetHistogramParameterfvEXT, _gloffset_GetHistogramParameterfvEXT, GetHistogramParameterfvEXT@12)
-	GL_STUB(GetHistogramParameterivEXT, _gloffset_GetHistogramParameterivEXT, GetHistogramParameterivEXT@12)
-	GL_STUB(GetMinmaxEXT, _gloffset_GetMinmaxEXT, GetMinmaxEXT@20)
-	GL_STUB(GetMinmaxParameterfvEXT, _gloffset_GetMinmaxParameterfvEXT, GetMinmaxParameterfvEXT@12)
-	GL_STUB(GetMinmaxParameterivEXT, _gloffset_GetMinmaxParameterivEXT, GetMinmaxParameterivEXT@12)
-	GL_STUB(GetConvolutionFilterEXT, _gloffset_GetConvolutionFilterEXT, GetConvolutionFilterEXT@16)
-	GL_STUB(GetConvolutionParameterfvEXT, _gloffset_GetConvolutionParameterfvEXT, GetConvolutionParameterfvEXT@12)
-	GL_STUB(GetConvolutionParameterivEXT, _gloffset_GetConvolutionParameterivEXT, GetConvolutionParameterivEXT@12)
-	GL_STUB(GetSeparableFilterEXT, _gloffset_GetSeparableFilterEXT, GetSeparableFilterEXT@24)
-	GL_STUB(GetColorTableParameterfvSGI, _gloffset_GetColorTableParameterfvSGI, GetColorTableParameterfvSGI@12)
-	GL_STUB(GetColorTableParameterivSGI, _gloffset_GetColorTableParameterivSGI, GetColorTableParameterivSGI@12)
-	GL_STUB(GetColorTableSGI, _gloffset_GetColorTableSGI, GetColorTableSGI@16)
-	GL_STUB(GetPixelTexGenParameterfvSGIS, _gloffset_GetPixelTexGenParameterfvSGIS, GetPixelTexGenParameterfvSGIS@8)
-	GL_STUB(GetPixelTexGenParameterivSGIS, _gloffset_GetPixelTexGenParameterivSGIS, GetPixelTexGenParameterivSGIS@8)
-	GL_STUB(PixelTexGenParameterfSGIS, _gloffset_PixelTexGenParameterfSGIS, PixelTexGenParameterfSGIS@8)
-	GL_STUB(PixelTexGenParameterfvSGIS, _gloffset_PixelTexGenParameterfvSGIS, PixelTexGenParameterfvSGIS@8)
-	GL_STUB(PixelTexGenParameteriSGIS, _gloffset_PixelTexGenParameteriSGIS, PixelTexGenParameteriSGIS@8)
-	GL_STUB(PixelTexGenParameterivSGIS, _gloffset_PixelTexGenParameterivSGIS, PixelTexGenParameterivSGIS@8)
+	GL_STUB(_dispatch_stub_543, _gloffset_GetHistogramEXT, _dispatch_stub_543@20)
+	HIDDEN(GL_PREFIX(_dispatch_stub_543, _dispatch_stub_543@20))
+	GL_STUB(_dispatch_stub_544, _gloffset_GetHistogramParameterfvEXT, _dispatch_stub_544@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_544, _dispatch_stub_544@12))
+	GL_STUB(_dispatch_stub_545, _gloffset_GetHistogramParameterivEXT, _dispatch_stub_545@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_545, _dispatch_stub_545@12))
+	GL_STUB(_dispatch_stub_546, _gloffset_GetMinmaxEXT, _dispatch_stub_546@20)
+	HIDDEN(GL_PREFIX(_dispatch_stub_546, _dispatch_stub_546@20))
+	GL_STUB(_dispatch_stub_547, _gloffset_GetMinmaxParameterfvEXT, _dispatch_stub_547@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_547, _dispatch_stub_547@12))
+	GL_STUB(_dispatch_stub_548, _gloffset_GetMinmaxParameterivEXT, _dispatch_stub_548@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_548, _dispatch_stub_548@12))
+	GL_STUB(_dispatch_stub_549, _gloffset_GetConvolutionFilterEXT, _dispatch_stub_549@16)
+	HIDDEN(GL_PREFIX(_dispatch_stub_549, _dispatch_stub_549@16))
+	GL_STUB(_dispatch_stub_550, _gloffset_GetConvolutionParameterfvEXT, _dispatch_stub_550@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_550, _dispatch_stub_550@12))
+	GL_STUB(_dispatch_stub_551, _gloffset_GetConvolutionParameterivEXT, _dispatch_stub_551@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_551, _dispatch_stub_551@12))
+	GL_STUB(_dispatch_stub_552, _gloffset_GetSeparableFilterEXT, _dispatch_stub_552@24)
+	HIDDEN(GL_PREFIX(_dispatch_stub_552, _dispatch_stub_552@24))
+	GL_STUB(_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI, _dispatch_stub_553@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_553, _dispatch_stub_553@12))
+	GL_STUB(_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI, _dispatch_stub_554@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_554, _dispatch_stub_554@12))
+	GL_STUB(_dispatch_stub_555, _gloffset_GetColorTableSGI, _dispatch_stub_555@16)
+	HIDDEN(GL_PREFIX(_dispatch_stub_555, _dispatch_stub_555@16))
+	GL_STUB(_dispatch_stub_556, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_556@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_556, _dispatch_stub_556@8))
+	GL_STUB(_dispatch_stub_557, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_557@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_557, _dispatch_stub_557@8))
+	GL_STUB(_dispatch_stub_558, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_558@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_558, _dispatch_stub_558@8))
+	GL_STUB(_dispatch_stub_559, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_559@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_559, _dispatch_stub_559@8))
+	GL_STUB(_dispatch_stub_560, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_560@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_560, _dispatch_stub_560@8))
+	GL_STUB(_dispatch_stub_561, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_561@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_561, _dispatch_stub_561@8))
 	GL_STUB(AreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT, AreTexturesResidentEXT@12)
 	GL_STUB(GenTexturesEXT, _gloffset_GenTexturesEXT, GenTexturesEXT@8)
 	GL_STUB(IsTextureEXT, _gloffset_IsTextureEXT, IsTextureEXT@4)
-	GL_STUB(SampleMaskSGIS, _gloffset_SampleMaskSGIS, SampleMaskSGIS@8)
-	GL_STUB(SamplePatternSGIS, _gloffset_SamplePatternSGIS, SamplePatternSGIS@4)
+	GL_STUB(_dispatch_stub_565, _gloffset_SampleMaskSGIS, _dispatch_stub_565@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_565, _dispatch_stub_565@8))
+	GL_STUB(_dispatch_stub_566, _gloffset_SamplePatternSGIS, _dispatch_stub_566@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_566, _dispatch_stub_566@4))
 	GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20)
 	GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12)
 	GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16)
@@ -718,8 +739,10 @@
 	GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8)
 	GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8)
 	GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0)
-	GL_STUB(CullParameterdvEXT, _gloffset_CullParameterdvEXT, CullParameterdvEXT@8)
-	GL_STUB(CullParameterfvEXT, _gloffset_CullParameterfvEXT, CullParameterfvEXT@8)
+	GL_STUB(_dispatch_stub_577, _gloffset_CullParameterdvEXT, _dispatch_stub_577@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_577, _dispatch_stub_577@8))
+	GL_STUB(_dispatch_stub_578, _gloffset_CullParameterfvEXT, _dispatch_stub_578@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_578, _dispatch_stub_578@8))
 	GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12)
 	GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4)
 	GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24)
@@ -744,7 +767,8 @@
 	GL_STUB(FogCoorddvEXT, _gloffset_FogCoorddvEXT, FogCoorddvEXT@4)
 	GL_STUB(FogCoordfEXT, _gloffset_FogCoordfEXT, FogCoordfEXT@4)
 	GL_STUB(FogCoordfvEXT, _gloffset_FogCoordfvEXT, FogCoordfvEXT@4)
-	GL_STUB(PixelTexGenSGIX, _gloffset_PixelTexGenSGIX, PixelTexGenSGIX@4)
+	GL_STUB(_dispatch_stub_603, _gloffset_PixelTexGenSGIX, _dispatch_stub_603@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_603, _dispatch_stub_603@4))
 	GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16)
 	GL_STUB(VertexWeightPointerEXT, _gloffset_VertexWeightPointerEXT, VertexWeightPointerEXT@16)
 	GL_STUB(VertexWeightfEXT, _gloffset_VertexWeightfEXT, VertexWeightfEXT@4)
@@ -789,15 +813,24 @@
 	GL_STUB(WindowPos4ivMESA, _gloffset_WindowPos4ivMESA, WindowPos4ivMESA@4)
 	GL_STUB(WindowPos4sMESA, _gloffset_WindowPos4sMESA, WindowPos4sMESA@16)
 	GL_STUB(WindowPos4svMESA, _gloffset_WindowPos4svMESA, WindowPos4svMESA@4)
-	GL_STUB(MultiModeDrawArraysIBM, _gloffset_MultiModeDrawArraysIBM, MultiModeDrawArraysIBM@20)
-	GL_STUB(MultiModeDrawElementsIBM, _gloffset_MultiModeDrawElementsIBM, MultiModeDrawElementsIBM@24)
-	GL_STUB(DeleteFencesNV, _gloffset_DeleteFencesNV, DeleteFencesNV@8)
-	GL_STUB(FinishFenceNV, _gloffset_FinishFenceNV, FinishFenceNV@4)
-	GL_STUB(GenFencesNV, _gloffset_GenFencesNV, GenFencesNV@8)
-	GL_STUB(GetFenceivNV, _gloffset_GetFenceivNV, GetFenceivNV@12)
-	GL_STUB(IsFenceNV, _gloffset_IsFenceNV, IsFenceNV@4)
-	GL_STUB(SetFenceNV, _gloffset_SetFenceNV, SetFenceNV@8)
-	GL_STUB(TestFenceNV, _gloffset_TestFenceNV, TestFenceNV@4)
+	GL_STUB(_dispatch_stub_648, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_648@20)
+	HIDDEN(GL_PREFIX(_dispatch_stub_648, _dispatch_stub_648@20))
+	GL_STUB(_dispatch_stub_649, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_649@24)
+	HIDDEN(GL_PREFIX(_dispatch_stub_649, _dispatch_stub_649@24))
+	GL_STUB(_dispatch_stub_650, _gloffset_DeleteFencesNV, _dispatch_stub_650@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_650, _dispatch_stub_650@8))
+	GL_STUB(_dispatch_stub_651, _gloffset_FinishFenceNV, _dispatch_stub_651@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_651, _dispatch_stub_651@4))
+	GL_STUB(_dispatch_stub_652, _gloffset_GenFencesNV, _dispatch_stub_652@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_652, _dispatch_stub_652@8))
+	GL_STUB(_dispatch_stub_653, _gloffset_GetFenceivNV, _dispatch_stub_653@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_653, _dispatch_stub_653@12))
+	GL_STUB(_dispatch_stub_654, _gloffset_IsFenceNV, _dispatch_stub_654@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_654, _dispatch_stub_654@4))
+	GL_STUB(_dispatch_stub_655, _gloffset_SetFenceNV, _dispatch_stub_655@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_655, _dispatch_stub_655@8))
+	GL_STUB(_dispatch_stub_656, _gloffset_TestFenceNV, _dispatch_stub_656@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_656, _dispatch_stub_656@4))
 	GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12)
 	GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8)
 	GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8)
@@ -878,7 +911,8 @@
 	GL_STUB(SetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI, SetFragmentShaderConstantATI@8)
 	GL_STUB(PointParameteriNV, _gloffset_PointParameteriNV, PointParameteriNV@8)
 	GL_STUB(PointParameterivNV, _gloffset_PointParameterivNV, PointParameterivNV@8)
-	GL_STUB(ActiveStencilFaceEXT, _gloffset_ActiveStencilFaceEXT, ActiveStencilFaceEXT@4)
+	GL_STUB(_dispatch_stub_737, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_737@4)
+	HIDDEN(GL_PREFIX(_dispatch_stub_737, _dispatch_stub_737@4))
 	GL_STUB(_dispatch_stub_738, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_738@4)
 	HIDDEN(GL_PREFIX(_dispatch_stub_738, _dispatch_stub_738@4))
 	GL_STUB(_dispatch_stub_739, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_739@8)
@@ -893,8 +927,10 @@
 	GL_STUB(ProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV, ProgramNamedParameter4dvNV@16)
 	GL_STUB(ProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV, ProgramNamedParameter4fNV@28)
 	GL_STUB(ProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV, ProgramNamedParameter4fvNV@16)
-	GL_STUB(DepthBoundsEXT, _gloffset_DepthBoundsEXT, DepthBoundsEXT@16)
-	GL_STUB(BlendEquationSeparateEXT, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparateEXT@8)
+	GL_STUB(_dispatch_stub_748, _gloffset_DepthBoundsEXT, _dispatch_stub_748@16)
+	HIDDEN(GL_PREFIX(_dispatch_stub_748, _dispatch_stub_748@16))
+	GL_STUB(_dispatch_stub_749, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_749@8)
+	HIDDEN(GL_PREFIX(_dispatch_stub_749, _dispatch_stub_749@8))
 	GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8)
 	GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8)
 	GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4)
@@ -908,13 +944,16 @@
 	GL_STUB(GenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT, GenRenderbuffersEXT@8)
 	GL_STUB(GenerateMipmapEXT, _gloffset_GenerateMipmapEXT, GenerateMipmapEXT@4)
 	GL_STUB(GetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16)
-	GL_STUB(GetQueryObjecti64vEXT, _gloffset_GetQueryObjecti64vEXT, GetQueryObjecti64vEXT@12)
-	GL_STUB(GetQueryObjectui64vEXT, _gloffset_GetQueryObjectui64vEXT, GetQueryObjectui64vEXT@12)
+	GL_STUB(_dispatch_stub_763, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_763@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_763, _dispatch_stub_763@12))
+	GL_STUB(_dispatch_stub_764, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_764@12)
+	HIDDEN(GL_PREFIX(_dispatch_stub_764, _dispatch_stub_764@12))
 	GL_STUB(GetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12)
 	GL_STUB(IsFramebufferEXT, _gloffset_IsFramebufferEXT, IsFramebufferEXT@4)
 	GL_STUB(IsRenderbufferEXT, _gloffset_IsRenderbufferEXT, IsRenderbufferEXT@4)
 	GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16)
-	GL_STUB(BlitFramebufferEXT, _gloffset_BlitFramebufferEXT, BlitFramebufferEXT@40)
+	GL_STUB(_dispatch_stub_769, _gloffset_BlitFramebufferEXT, _dispatch_stub_769@40)
+	HIDDEN(GL_PREFIX(_dispatch_stub_769, _dispatch_stub_769@40))
 	GL_STUB(_dispatch_stub_770, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_770@16)
 	HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@16))
 	GL_STUB(_dispatch_stub_771, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_771@16)
@@ -1024,11 +1063,6 @@
 	GL_STUB_ALIAS(IsQuery, _gloffset_IsQueryARB, IsQuery@4, IsQueryARB, IsQueryARB@4)
 	GL_STUB_ALIAS(DrawBuffers, _gloffset_DrawBuffersARB, DrawBuffers@8, DrawBuffersARB, DrawBuffersARB@8)
 	GL_STUB_ALIAS(DrawBuffersATI, _gloffset_DrawBuffersARB, DrawBuffersATI@8, DrawBuffersARB, DrawBuffersARB@8)
-	GL_STUB_ALIAS(GetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfvSGI, GetColorTableParameterfvEXT@12, GetColorTableParameterfvSGI, GetColorTableParameterfvSGI@12)
-	GL_STUB_ALIAS(GetColorTableParameterivEXT, _gloffset_GetColorTableParameterivSGI, GetColorTableParameterivEXT@12, GetColorTableParameterivSGI, GetColorTableParameterivSGI@12)
-	GL_STUB_ALIAS(GetColorTableEXT, _gloffset_GetColorTableSGI, GetColorTableEXT@16, GetColorTableSGI, GetColorTableSGI@16)
-	GL_STUB_ALIAS(SampleMaskEXT, _gloffset_SampleMaskSGIS, SampleMaskEXT@8, SampleMaskSGIS, SampleMaskSGIS@8)
-	GL_STUB_ALIAS(SamplePatternEXT, _gloffset_SamplePatternSGIS, SamplePatternEXT@4, SamplePatternSGIS, SamplePatternSGIS@4)
 	GL_STUB_ALIAS(PointParameterf, _gloffset_PointParameterfEXT, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8)
 	GL_STUB_ALIAS(PointParameterfARB, _gloffset_PointParameterfEXT, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8)
 	GL_STUB_ALIAS(PointParameterfSGIS, _gloffset_PointParameterfEXT, PointParameterfSGIS@8, PointParameterfEXT, PointParameterfEXT@8)
@@ -1100,8 +1134,6 @@
 	GL_STUB_ALIAS(IsProgramARB, _gloffset_IsProgramNV, IsProgramARB@4, IsProgramNV, IsProgramNV@4)
 	GL_STUB_ALIAS(PointParameteri, _gloffset_PointParameteriNV, PointParameteri@8, PointParameteriNV, PointParameteriNV@8)
 	GL_STUB_ALIAS(PointParameteriv, _gloffset_PointParameterivNV, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8)
-	GL_STUB_ALIAS(BlendEquationSeparate, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparate@8, BlendEquationSeparateEXT, BlendEquationSeparateEXT@8)
-	GL_STUB_ALIAS(BlendEquationSeparateATI, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparateATI@8, BlendEquationSeparateEXT, BlendEquationSeparateEXT@8)
 
 		GLOBL	GLNAME(gl_dispatch_functions_end)
 		HIDDEN(GLNAME(gl_dispatch_functions_end))
