Initial implementation of MESA_texture_array
authorIan Romanick <idr@us.ibm.com>
Wed, 16 May 2007 22:34:22 +0000 (15:34 -0700)
committerIan Romanick <idr@us.ibm.com>
Wed, 16 May 2007 22:34:22 +0000 (15:34 -0700)
Shadow sampling from texture arrays is still not implemented.  Everything
else should be there, though.

30 files changed:
src/mesa/drivers/dri/common/extension_helper.h
src/mesa/glapi/EXT_framebuffer_object.xml
src/mesa/glapi/dispatch.h
src/mesa/glapi/glapioffsets.h
src/mesa/glapi/glapitable.h
src/mesa/glapi/glapitemp.h
src/mesa/glapi/glprocs.h
src/mesa/main/attrib.c
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/enable.c
src/mesa/main/enums.c
src/mesa/main/extensions.c
src/mesa/main/fbobject.c
src/mesa/main/fbobject.h
src/mesa/main/get_gen.py
src/mesa/main/mipmap.c
src/mesa/main/mtypes.h
src/mesa/main/state.c
src/mesa/main/teximage.c
src/mesa/main/texobj.c
src/mesa/main/texrender.c
src/mesa/main/texstate.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/arbprogram.syn
src/mesa/shader/arbprogram_syn.h
src/mesa/sparc/glapi_sparc.S
src/mesa/swrast/s_texfilter.c
src/mesa/x86-64/glapi_x86-64.S
src/mesa/x86/glapi_x86.S

index c79849642551b89bcf36f3344217518502024c92..10f75edaaa407186033aeff2959ed2f7cca6e2ea 100644 (file)
@@ -440,6 +440,13 @@ static const char Color4ubVertex3fvSUN_names[] =
     "";
 #endif
 
+#if defined(need_GL_EXT_texture_array)
+static const char FramebufferTextureLayerEXT_names[] = 
+    "iiiii\0" /* Parameter signature */
+    "glFramebufferTextureLayerEXT\0"
+    "";
+#endif
+
 #if defined(need_GL_SGIX_list_priority)
 static const char GetListParameterivSGIX_names[] = 
     "iip\0" /* Parameter signature */
@@ -5479,6 +5486,13 @@ static const struct dri_extension_function GL_EXT_texture3D_functions[] = {
 };
 #endif
 
+#if defined(need_GL_EXT_texture_array)
+static const struct dri_extension_function GL_EXT_texture_array_functions[] = {
+    { FramebufferTextureLayerEXT_names, FramebufferTextureLayerEXT_remap_index, -1 },
+    { NULL, 0, 0 }
+};
+#endif
+
 #if defined(need_GL_EXT_texture_object)
 static const struct dri_extension_function GL_EXT_texture_object_functions[] = {
     { PrioritizeTextures_names, -1, 331 },
index d2a18b64240bd2a49efe0ab4dc0ff09abf3eff9e..66f250c003f935b1f37f817df52e5b063ee5a04a 100644 (file)
        <glx rop="4324"/>
     </function>
 
-    <function name="GetFramebufferAttachmentParameterivEXT"
-offset="assign">
+    <function name="GetFramebufferAttachmentParameterivEXT" offset="assign">
         <param name="target" type="GLenum"/>
         <param name="attachment" type="GLenum"/>
         <param name="pname" type="GLenum"/>
@@ -186,4 +185,43 @@ offset="assign">
        <glx rop="4325"/>
     </function>
 </category>
+
+
+
+<category name="GL_EXT_texture_array" number="329">
+    <enum name="TEXTURE_1D_ARRAY_EXT"                      value="0x8C18"/>
+    <enum name="PROXY_TEXTURE_1D_ARRAY_EXT"                value="0x8C19"/>
+    <enum name="TEXTURE_2D_ARRAY_EXT"                      value="0x8C1A"/>
+    <enum name="PROXY_TEXTURE_2D_ARRAY_EXT"                value="0x8C1B"/>
+
+    <enum name="TEXTURE_BINDING_1D_ARRAY_EXT"   count="1"  value="0x8C1C">
+        <size name="Get" mode="get"/>
+    </enum>
+
+    <enum name="TEXTURE_BINDING_2D_ARRAY_EXT"   count="1"  value="0x8C1D">
+        <size name="Get" mode="get"/>
+    </enum>
+
+    <enum name="MAX_ARRAY_TEXTURE_LAYERS_EXT"   count="1"  value="0x88FF">
+        <size name="Get" mode="get"/>
+    </enum>
+
+    <enum name="COMPARE_REF_DEPTH_TO_TEXTURE_EXT" count="1" value="0x884E">
+        <size name="Get" mode="get"/>
+    </enum>
+
+    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"   count="1" value="0x8CD4">
+        <size name="GetFramebufferAttachmentParameterivEXT" mode="get"/>
+    </enum>
+
+    <function name="FramebufferTextureLayerEXT" offset="assign">
+        <param name="target" type="GLenum"/>
+        <param name="attachment" type="GLenum"/>
+        <param name="texture" type="GLuint"/>
+        <param name="level" type="GLint"/>
+        <param name="layer" type="GLint"/>
+    </function>
+</category>
+
+
 </OpenGLAPI>
index a128164323a834937a71ca4379d7c0d208b1fc2f..0ce59f7b99cd72a6f8fc55b013ea72b50faf036c 100644 (file)
 #define CALL_BlitFramebufferEXT(disp, parameters) (*((disp)->BlitFramebufferEXT)) parameters
 #define GET_BlitFramebufferEXT(disp) ((disp)->BlitFramebufferEXT)
 #define SET_BlitFramebufferEXT(disp, fn) ((disp)->BlitFramebufferEXT = fn)
+#define CALL_FramebufferTextureLayerEXT(disp, parameters) (*((disp)->FramebufferTextureLayerEXT)) parameters
+#define GET_FramebufferTextureLayerEXT(disp) ((disp)->FramebufferTextureLayerEXT)
+#define SET_FramebufferTextureLayerEXT(disp, fn) ((disp)->FramebufferTextureLayerEXT = fn)
 #define CALL_ProgramEnvParameters4fvEXT(disp, parameters) (*((disp)->ProgramEnvParameters4fvEXT)) parameters
 #define GET_ProgramEnvParameters4fvEXT(disp) ((disp)->ProgramEnvParameters4fvEXT)
 #define SET_ProgramEnvParameters4fvEXT(disp, fn) ((disp)->ProgramEnvParameters4fvEXT = fn)
 
 #else
 
-#define driDispatchRemapTable_size 364
+#define driDispatchRemapTable_size 365
 extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 
 #define AttachShader_remap_index 0
@@ -2740,10 +2743,11 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define IsRenderbufferEXT_remap_index 357
 #define RenderbufferStorageEXT_remap_index 358
 #define BlitFramebufferEXT_remap_index 359
-#define ProgramEnvParameters4fvEXT_remap_index 360
-#define ProgramLocalParameters4fvEXT_remap_index 361
-#define GetQueryObjecti64vEXT_remap_index 362
-#define GetQueryObjectui64vEXT_remap_index 363
+#define FramebufferTextureLayerEXT_remap_index 360
+#define ProgramEnvParameters4fvEXT_remap_index 361
+#define ProgramLocalParameters4fvEXT_remap_index 362
+#define GetQueryObjecti64vEXT_remap_index 363
+#define GetQueryObjectui64vEXT_remap_index 364
 
 #define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters)
 #define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index])
@@ -3825,6 +3829,9 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define CALL_BlitFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)), driDispatchRemapTable[BlitFramebufferEXT_remap_index], parameters)
 #define GET_BlitFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index])
 #define SET_BlitFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index], fn)
+#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], parameters)
+#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index])
+#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], fn)
 #define CALL_ProgramEnvParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], parameters)
 #define GET_ProgramEnvParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index])
 #define SET_ProgramEnvParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], fn)
index cb0d21083ef38335baa40937027ca5b4fb7758cc..c207a06ac4652b5cdcf131275208f92632282f8f 100644 (file)
 #define _gloffset_IsRenderbufferEXT 765
 #define _gloffset_RenderbufferStorageEXT 766
 #define _gloffset_BlitFramebufferEXT 767
-#define _gloffset_ProgramEnvParameters4fvEXT 768
-#define _gloffset_ProgramLocalParameters4fvEXT 769
-#define _gloffset_GetQueryObjecti64vEXT 770
-#define _gloffset_GetQueryObjectui64vEXT 771
-#define _gloffset_FIRST_DYNAMIC 772
+#define _gloffset_FramebufferTextureLayerEXT 768
+#define _gloffset_ProgramEnvParameters4fvEXT 769
+#define _gloffset_ProgramLocalParameters4fvEXT 770
+#define _gloffset_GetQueryObjecti64vEXT 771
+#define _gloffset_GetQueryObjectui64vEXT 772
+#define _gloffset_FIRST_DYNAMIC 773
 
 #else
 
 #define _gloffset_IsRenderbufferEXT driDispatchRemapTable[IsRenderbufferEXT_remap_index]
 #define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index]
 #define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index]
+#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
 #define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index]
 #define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index]
 #define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]
index 4af0c2d43b8829dff16ff70130ae56ea7b5cfe01..1e4c2949e46b58aab8c2c9ce46e39c621d9915c8 100644 (file)
@@ -809,10 +809,11 @@ struct _glapi_table
    GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 765 */
    void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 766 */
    void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 767 */
-   void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 768 */
-   void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 769 */
-   void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 770 */
-   void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 771 */
+   void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 768 */
+   void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 769 */
+   void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 770 */
+   void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 771 */
+   void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 772 */
 };
 
 #endif /* !defined( _GLAPI_TABLE_H_ ) */
index 62407968cccd26d7c777cecc0c5eb3e28a31529c..2a2fe2a35df63eb4558875b4b1c5537fed791f01 100644 (file)
@@ -5416,30 +5416,35 @@ KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLint srcX0, GLint srcY0, GL
    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));
 }
 
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
+KEYWORD1 void KEYWORD2 NAME(FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
 {
-   DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
+   DISPATCH(FramebufferTextureLayerEXT, (target, attachment, texture, level, layer), (F, "glFramebufferTextureLayerEXT(0x%x, 0x%x, %d, %d, %d);\n", target, attachment, texture, level, layer));
 }
 
 KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
 
 KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
+{
+   DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
+}
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
 {
    DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
 }
 
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLuint id, GLenum pname, GLint64EXT * params);
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params);
 
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLuint id, GLenum pname, GLint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params)
 {
    DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
 }
 
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLuint64EXT * params);
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params);
 
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLuint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params)
 {
    DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
 }
@@ -6226,10 +6231,11 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = {
    TABLE_ENTRY(IsRenderbufferEXT),
    TABLE_ENTRY(RenderbufferStorageEXT),
    TABLE_ENTRY(_dispatch_stub_767),
-   TABLE_ENTRY(_dispatch_stub_768),
+   TABLE_ENTRY(FramebufferTextureLayerEXT),
    TABLE_ENTRY(_dispatch_stub_769),
    TABLE_ENTRY(_dispatch_stub_770),
    TABLE_ENTRY(_dispatch_stub_771),
+   TABLE_ENTRY(_dispatch_stub_772),
    /* A whole bunch of no-op functions.  These might be called
     * when someone tries to call a dynamically-registered
     * extension function without a current rendering context.
index 190d9ed149bd1111bef039350cc4f3789f3e19ae..b6651a6bf4bc87185d0b5c1fd212562d06f85be4 100644 (file)
@@ -820,6 +820,7 @@ static const char gl_string_table[] =
     "glIsRenderbufferEXT\0"
     "glRenderbufferStorageEXT\0"
     "glBlitFramebufferEXT\0"
+    "glFramebufferTextureLayerEXT\0"
     "glProgramEnvParameters4fvEXT\0"
     "glProgramLocalParameters4fvEXT\0"
     "glGetQueryObjecti64vEXT\0"
@@ -1138,10 +1139,10 @@ static const char gl_string_table[] =
 #define gl_dispatch_stub_748 mgl_dispatch_stub_748
 #define gl_dispatch_stub_749 mgl_dispatch_stub_749
 #define gl_dispatch_stub_767 mgl_dispatch_stub_767
-#define gl_dispatch_stub_768 mgl_dispatch_stub_768
 #define gl_dispatch_stub_769 mgl_dispatch_stub_769
 #define gl_dispatch_stub_770 mgl_dispatch_stub_770
 #define gl_dispatch_stub_771 mgl_dispatch_stub_771
+#define gl_dispatch_stub_772 mgl_dispatch_stub_772
 #endif /* USE_MGL_NAMESPACE */
 
 
@@ -1188,10 +1189,10 @@ 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_767(void);
-extern void gl_dispatch_stub_768(void);
 extern void gl_dispatch_stub_769(void);
 extern void gl_dispatch_stub_770(void);
 extern void gl_dispatch_stub_771(void);
+extern void gl_dispatch_stub_772(void);
 #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */
 
 static const glprocs_table_t static_functions[] = {
@@ -1963,279 +1964,280 @@ static const glprocs_table_t static_functions[] = {
     NAME_FUNC_OFFSET(13404, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT),
     NAME_FUNC_OFFSET(13424, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT),
     NAME_FUNC_OFFSET(13449, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlitFramebufferEXT),
-    NAME_FUNC_OFFSET(13470, gl_dispatch_stub_768, gl_dispatch_stub_768, NULL, _gloffset_ProgramEnvParameters4fvEXT),
-    NAME_FUNC_OFFSET(13499, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_ProgramLocalParameters4fvEXT),
-    NAME_FUNC_OFFSET(13530, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, _gloffset_GetQueryObjecti64vEXT),
-    NAME_FUNC_OFFSET(13554, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_GetQueryObjectui64vEXT),
-    NAME_FUNC_OFFSET(13579, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
-    NAME_FUNC_OFFSET(13597, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
-    NAME_FUNC_OFFSET(13614, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
-    NAME_FUNC_OFFSET(13630, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
-    NAME_FUNC_OFFSET(13655, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
-    NAME_FUNC_OFFSET(13675, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
-    NAME_FUNC_OFFSET(13695, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
-    NAME_FUNC_OFFSET(13718, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
-    NAME_FUNC_OFFSET(13741, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
-    NAME_FUNC_OFFSET(13761, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
-    NAME_FUNC_OFFSET(13778, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
-    NAME_FUNC_OFFSET(13795, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
-    NAME_FUNC_OFFSET(13810, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
-    NAME_FUNC_OFFSET(13834, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
-    NAME_FUNC_OFFSET(13853, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
-    NAME_FUNC_OFFSET(13872, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
-    NAME_FUNC_OFFSET(13888, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
-    NAME_FUNC_OFFSET(13907, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
-    NAME_FUNC_OFFSET(13930, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
-    NAME_FUNC_OFFSET(13946, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
-    NAME_FUNC_OFFSET(13962, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
-    NAME_FUNC_OFFSET(13989, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
-    NAME_FUNC_OFFSET(14016, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
-    NAME_FUNC_OFFSET(14036, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
-    NAME_FUNC_OFFSET(14055, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
-    NAME_FUNC_OFFSET(14074, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
-    NAME_FUNC_OFFSET(14104, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
-    NAME_FUNC_OFFSET(14134, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
-    NAME_FUNC_OFFSET(14164, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
-    NAME_FUNC_OFFSET(14194, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
-    NAME_FUNC_OFFSET(14213, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
-    NAME_FUNC_OFFSET(14236, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
-    NAME_FUNC_OFFSET(14261, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
-    NAME_FUNC_OFFSET(14286, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
-    NAME_FUNC_OFFSET(14313, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
-    NAME_FUNC_OFFSET(14341, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
-    NAME_FUNC_OFFSET(14368, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
-    NAME_FUNC_OFFSET(14396, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
-    NAME_FUNC_OFFSET(14425, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
-    NAME_FUNC_OFFSET(14454, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
-    NAME_FUNC_OFFSET(14480, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
-    NAME_FUNC_OFFSET(14511, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
-    NAME_FUNC_OFFSET(14542, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
-    NAME_FUNC_OFFSET(14566, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
-    NAME_FUNC_OFFSET(14589, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
-    NAME_FUNC_OFFSET(14607, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
-    NAME_FUNC_OFFSET(14636, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
-    NAME_FUNC_OFFSET(14665, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
-    NAME_FUNC_OFFSET(14680, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
-    NAME_FUNC_OFFSET(14706, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
-    NAME_FUNC_OFFSET(14732, glHistogram, glHistogram, NULL, _gloffset_Histogram),
-    NAME_FUNC_OFFSET(14747, glMinmax, glMinmax, NULL, _gloffset_Minmax),
-    NAME_FUNC_OFFSET(14759, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
-    NAME_FUNC_OFFSET(14779, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
-    NAME_FUNC_OFFSET(14796, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
-    NAME_FUNC_OFFSET(14812, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
-    NAME_FUNC_OFFSET(14831, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
-    NAME_FUNC_OFFSET(14854, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
-    NAME_FUNC_OFFSET(14870, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
-    NAME_FUNC_OFFSET(14892, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
-    NAME_FUNC_OFFSET(14910, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
-    NAME_FUNC_OFFSET(14929, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
-    NAME_FUNC_OFFSET(14947, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
-    NAME_FUNC_OFFSET(14966, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
-    NAME_FUNC_OFFSET(14984, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
-    NAME_FUNC_OFFSET(15003, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
-    NAME_FUNC_OFFSET(15021, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
-    NAME_FUNC_OFFSET(15040, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
-    NAME_FUNC_OFFSET(15058, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
-    NAME_FUNC_OFFSET(15077, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
-    NAME_FUNC_OFFSET(15095, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
-    NAME_FUNC_OFFSET(15114, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
-    NAME_FUNC_OFFSET(15132, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
-    NAME_FUNC_OFFSET(15151, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
-    NAME_FUNC_OFFSET(15169, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
-    NAME_FUNC_OFFSET(15188, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
-    NAME_FUNC_OFFSET(15206, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
-    NAME_FUNC_OFFSET(15225, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
-    NAME_FUNC_OFFSET(15243, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
-    NAME_FUNC_OFFSET(15262, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
-    NAME_FUNC_OFFSET(15280, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
-    NAME_FUNC_OFFSET(15299, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
-    NAME_FUNC_OFFSET(15317, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
-    NAME_FUNC_OFFSET(15336, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
-    NAME_FUNC_OFFSET(15354, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
-    NAME_FUNC_OFFSET(15373, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
-    NAME_FUNC_OFFSET(15391, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
-    NAME_FUNC_OFFSET(15410, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
-    NAME_FUNC_OFFSET(15428, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
-    NAME_FUNC_OFFSET(15447, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
-    NAME_FUNC_OFFSET(15465, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
-    NAME_FUNC_OFFSET(15484, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
-    NAME_FUNC_OFFSET(15507, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
-    NAME_FUNC_OFFSET(15530, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
-    NAME_FUNC_OFFSET(15553, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
-    NAME_FUNC_OFFSET(15576, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
-    NAME_FUNC_OFFSET(15593, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
-    NAME_FUNC_OFFSET(15616, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
-    NAME_FUNC_OFFSET(15639, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
-    NAME_FUNC_OFFSET(15662, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
-    NAME_FUNC_OFFSET(15688, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
-    NAME_FUNC_OFFSET(15714, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
-    NAME_FUNC_OFFSET(15740, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
-    NAME_FUNC_OFFSET(15764, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
-    NAME_FUNC_OFFSET(15791, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
-    NAME_FUNC_OFFSET(15817, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
-    NAME_FUNC_OFFSET(15837, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
-    NAME_FUNC_OFFSET(15857, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
-    NAME_FUNC_OFFSET(15877, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
-    NAME_FUNC_OFFSET(15894, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
-    NAME_FUNC_OFFSET(15912, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
-    NAME_FUNC_OFFSET(15929, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
-    NAME_FUNC_OFFSET(15947, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
-    NAME_FUNC_OFFSET(15964, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
-    NAME_FUNC_OFFSET(15982, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
-    NAME_FUNC_OFFSET(15999, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
-    NAME_FUNC_OFFSET(16017, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
-    NAME_FUNC_OFFSET(16034, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
-    NAME_FUNC_OFFSET(16052, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
-    NAME_FUNC_OFFSET(16069, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
-    NAME_FUNC_OFFSET(16087, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
-    NAME_FUNC_OFFSET(16104, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
-    NAME_FUNC_OFFSET(16122, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
-    NAME_FUNC_OFFSET(16139, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
-    NAME_FUNC_OFFSET(16157, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
-    NAME_FUNC_OFFSET(16174, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
-    NAME_FUNC_OFFSET(16192, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
-    NAME_FUNC_OFFSET(16211, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
-    NAME_FUNC_OFFSET(16230, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
-    NAME_FUNC_OFFSET(16249, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
-    NAME_FUNC_OFFSET(16268, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
-    NAME_FUNC_OFFSET(16288, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
-    NAME_FUNC_OFFSET(16308, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
-    NAME_FUNC_OFFSET(16328, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
-    NAME_FUNC_OFFSET(16345, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
-    NAME_FUNC_OFFSET(16363, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
-    NAME_FUNC_OFFSET(16380, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
-    NAME_FUNC_OFFSET(16398, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
-    NAME_FUNC_OFFSET(16415, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
-    NAME_FUNC_OFFSET(16433, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
-    NAME_FUNC_OFFSET(16455, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
-    NAME_FUNC_OFFSET(16468, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
-    NAME_FUNC_OFFSET(16481, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
-    NAME_FUNC_OFFSET(16497, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
-    NAME_FUNC_OFFSET(16513, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
-    NAME_FUNC_OFFSET(16526, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
-    NAME_FUNC_OFFSET(16549, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
-    NAME_FUNC_OFFSET(16569, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
-    NAME_FUNC_OFFSET(16588, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
-    NAME_FUNC_OFFSET(16599, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
-    NAME_FUNC_OFFSET(16611, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
-    NAME_FUNC_OFFSET(16625, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
-    NAME_FUNC_OFFSET(16638, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
-    NAME_FUNC_OFFSET(16654, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
-    NAME_FUNC_OFFSET(16665, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
-    NAME_FUNC_OFFSET(16678, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
-    NAME_FUNC_OFFSET(16697, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
-    NAME_FUNC_OFFSET(16717, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
-    NAME_FUNC_OFFSET(16730, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
-    NAME_FUNC_OFFSET(16740, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
-    NAME_FUNC_OFFSET(16756, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
-    NAME_FUNC_OFFSET(16775, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
-    NAME_FUNC_OFFSET(16793, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
-    NAME_FUNC_OFFSET(16814, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
-    NAME_FUNC_OFFSET(16829, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
-    NAME_FUNC_OFFSET(16844, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
-    NAME_FUNC_OFFSET(16858, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
-    NAME_FUNC_OFFSET(16873, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
-    NAME_FUNC_OFFSET(16885, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
-    NAME_FUNC_OFFSET(16898, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
-    NAME_FUNC_OFFSET(16910, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
-    NAME_FUNC_OFFSET(16923, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
-    NAME_FUNC_OFFSET(16935, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
-    NAME_FUNC_OFFSET(16948, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
-    NAME_FUNC_OFFSET(16960, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
-    NAME_FUNC_OFFSET(16973, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
-    NAME_FUNC_OFFSET(16985, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
-    NAME_FUNC_OFFSET(16998, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
-    NAME_FUNC_OFFSET(17010, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
-    NAME_FUNC_OFFSET(17023, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
-    NAME_FUNC_OFFSET(17035, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
-    NAME_FUNC_OFFSET(17048, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
-    NAME_FUNC_OFFSET(17060, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
-    NAME_FUNC_OFFSET(17073, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
-    NAME_FUNC_OFFSET(17092, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
-    NAME_FUNC_OFFSET(17111, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
-    NAME_FUNC_OFFSET(17130, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
-    NAME_FUNC_OFFSET(17143, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
-    NAME_FUNC_OFFSET(17161, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
-    NAME_FUNC_OFFSET(17182, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
-    NAME_FUNC_OFFSET(17200, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
-    NAME_FUNC_OFFSET(17220, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
-    NAME_FUNC_OFFSET(17234, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
-    NAME_FUNC_OFFSET(17251, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
-    NAME_FUNC_OFFSET(17267, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
-    NAME_FUNC_OFFSET(17286, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
-    NAME_FUNC_OFFSET(17304, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
-    NAME_FUNC_OFFSET(17325, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
-    NAME_FUNC_OFFSET(17347, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
-    NAME_FUNC_OFFSET(17366, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
-    NAME_FUNC_OFFSET(17388, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
-    NAME_FUNC_OFFSET(17411, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
-    NAME_FUNC_OFFSET(17430, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
-    NAME_FUNC_OFFSET(17450, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
-    NAME_FUNC_OFFSET(17469, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
-    NAME_FUNC_OFFSET(17489, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
-    NAME_FUNC_OFFSET(17508, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
-    NAME_FUNC_OFFSET(17528, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
-    NAME_FUNC_OFFSET(17547, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
-    NAME_FUNC_OFFSET(17567, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
-    NAME_FUNC_OFFSET(17586, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
-    NAME_FUNC_OFFSET(17606, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
-    NAME_FUNC_OFFSET(17626, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
-    NAME_FUNC_OFFSET(17647, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
-    NAME_FUNC_OFFSET(17667, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
-    NAME_FUNC_OFFSET(17688, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
-    NAME_FUNC_OFFSET(17708, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
-    NAME_FUNC_OFFSET(17729, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
-    NAME_FUNC_OFFSET(17753, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
-    NAME_FUNC_OFFSET(17771, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
-    NAME_FUNC_OFFSET(17791, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
-    NAME_FUNC_OFFSET(17809, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
-    NAME_FUNC_OFFSET(17821, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
-    NAME_FUNC_OFFSET(17834, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
-    NAME_FUNC_OFFSET(17846, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
-    NAME_FUNC_OFFSET(17859, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
-    NAME_FUNC_OFFSET(17879, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
-    NAME_FUNC_OFFSET(17903, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
-    NAME_FUNC_OFFSET(17917, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
-    NAME_FUNC_OFFSET(17934, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
-    NAME_FUNC_OFFSET(17949, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
-    NAME_FUNC_OFFSET(17967, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
-    NAME_FUNC_OFFSET(17981, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
-    NAME_FUNC_OFFSET(17998, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
-    NAME_FUNC_OFFSET(18013, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
-    NAME_FUNC_OFFSET(18031, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
-    NAME_FUNC_OFFSET(18045, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
-    NAME_FUNC_OFFSET(18062, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
-    NAME_FUNC_OFFSET(18077, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
-    NAME_FUNC_OFFSET(18095, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
-    NAME_FUNC_OFFSET(18109, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
-    NAME_FUNC_OFFSET(18126, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
-    NAME_FUNC_OFFSET(18141, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
-    NAME_FUNC_OFFSET(18159, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
-    NAME_FUNC_OFFSET(18173, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
-    NAME_FUNC_OFFSET(18190, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
-    NAME_FUNC_OFFSET(18205, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
-    NAME_FUNC_OFFSET(18223, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
-    NAME_FUNC_OFFSET(18237, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
-    NAME_FUNC_OFFSET(18254, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
-    NAME_FUNC_OFFSET(18269, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
-    NAME_FUNC_OFFSET(18287, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
-    NAME_FUNC_OFFSET(18301, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
-    NAME_FUNC_OFFSET(18318, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
-    NAME_FUNC_OFFSET(18333, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
-    NAME_FUNC_OFFSET(18351, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
-    NAME_FUNC_OFFSET(18365, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
-    NAME_FUNC_OFFSET(18382, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
-    NAME_FUNC_OFFSET(18397, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
-    NAME_FUNC_OFFSET(18415, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
-    NAME_FUNC_OFFSET(18432, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
-    NAME_FUNC_OFFSET(18452, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
-    NAME_FUNC_OFFSET(18469, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
-    NAME_FUNC_OFFSET(18495, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
-    NAME_FUNC_OFFSET(18524, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
-    NAME_FUNC_OFFSET(18539, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
-    NAME_FUNC_OFFSET(18557, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
-    NAME_FUNC_OFFSET(18576, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
-    NAME_FUNC_OFFSET(18600, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
+    NAME_FUNC_OFFSET(13470, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT),
+    NAME_FUNC_OFFSET(13499, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_ProgramEnvParameters4fvEXT),
+    NAME_FUNC_OFFSET(13528, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, _gloffset_ProgramLocalParameters4fvEXT),
+    NAME_FUNC_OFFSET(13559, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_GetQueryObjecti64vEXT),
+    NAME_FUNC_OFFSET(13583, gl_dispatch_stub_772, gl_dispatch_stub_772, NULL, _gloffset_GetQueryObjectui64vEXT),
+    NAME_FUNC_OFFSET(13608, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
+    NAME_FUNC_OFFSET(13626, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
+    NAME_FUNC_OFFSET(13643, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
+    NAME_FUNC_OFFSET(13659, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
+    NAME_FUNC_OFFSET(13684, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
+    NAME_FUNC_OFFSET(13704, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
+    NAME_FUNC_OFFSET(13724, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
+    NAME_FUNC_OFFSET(13747, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
+    NAME_FUNC_OFFSET(13770, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
+    NAME_FUNC_OFFSET(13790, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
+    NAME_FUNC_OFFSET(13807, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
+    NAME_FUNC_OFFSET(13824, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
+    NAME_FUNC_OFFSET(13839, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
+    NAME_FUNC_OFFSET(13863, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
+    NAME_FUNC_OFFSET(13882, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
+    NAME_FUNC_OFFSET(13901, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
+    NAME_FUNC_OFFSET(13917, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
+    NAME_FUNC_OFFSET(13936, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
+    NAME_FUNC_OFFSET(13959, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
+    NAME_FUNC_OFFSET(13975, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
+    NAME_FUNC_OFFSET(13991, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
+    NAME_FUNC_OFFSET(14018, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
+    NAME_FUNC_OFFSET(14045, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
+    NAME_FUNC_OFFSET(14065, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
+    NAME_FUNC_OFFSET(14084, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
+    NAME_FUNC_OFFSET(14103, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
+    NAME_FUNC_OFFSET(14133, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
+    NAME_FUNC_OFFSET(14163, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
+    NAME_FUNC_OFFSET(14193, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
+    NAME_FUNC_OFFSET(14223, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
+    NAME_FUNC_OFFSET(14242, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
+    NAME_FUNC_OFFSET(14265, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
+    NAME_FUNC_OFFSET(14290, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
+    NAME_FUNC_OFFSET(14315, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
+    NAME_FUNC_OFFSET(14342, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
+    NAME_FUNC_OFFSET(14370, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
+    NAME_FUNC_OFFSET(14397, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
+    NAME_FUNC_OFFSET(14425, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
+    NAME_FUNC_OFFSET(14454, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
+    NAME_FUNC_OFFSET(14483, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
+    NAME_FUNC_OFFSET(14509, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
+    NAME_FUNC_OFFSET(14540, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
+    NAME_FUNC_OFFSET(14571, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
+    NAME_FUNC_OFFSET(14595, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
+    NAME_FUNC_OFFSET(14618, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
+    NAME_FUNC_OFFSET(14636, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
+    NAME_FUNC_OFFSET(14665, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
+    NAME_FUNC_OFFSET(14694, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
+    NAME_FUNC_OFFSET(14709, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
+    NAME_FUNC_OFFSET(14735, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
+    NAME_FUNC_OFFSET(14761, glHistogram, glHistogram, NULL, _gloffset_Histogram),
+    NAME_FUNC_OFFSET(14776, glMinmax, glMinmax, NULL, _gloffset_Minmax),
+    NAME_FUNC_OFFSET(14788, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
+    NAME_FUNC_OFFSET(14808, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
+    NAME_FUNC_OFFSET(14825, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
+    NAME_FUNC_OFFSET(14841, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
+    NAME_FUNC_OFFSET(14860, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
+    NAME_FUNC_OFFSET(14883, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
+    NAME_FUNC_OFFSET(14899, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
+    NAME_FUNC_OFFSET(14921, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
+    NAME_FUNC_OFFSET(14939, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
+    NAME_FUNC_OFFSET(14958, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
+    NAME_FUNC_OFFSET(14976, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
+    NAME_FUNC_OFFSET(14995, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
+    NAME_FUNC_OFFSET(15013, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
+    NAME_FUNC_OFFSET(15032, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
+    NAME_FUNC_OFFSET(15050, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
+    NAME_FUNC_OFFSET(15069, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
+    NAME_FUNC_OFFSET(15087, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
+    NAME_FUNC_OFFSET(15106, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
+    NAME_FUNC_OFFSET(15124, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
+    NAME_FUNC_OFFSET(15143, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
+    NAME_FUNC_OFFSET(15161, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
+    NAME_FUNC_OFFSET(15180, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
+    NAME_FUNC_OFFSET(15198, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
+    NAME_FUNC_OFFSET(15217, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
+    NAME_FUNC_OFFSET(15235, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
+    NAME_FUNC_OFFSET(15254, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
+    NAME_FUNC_OFFSET(15272, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
+    NAME_FUNC_OFFSET(15291, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
+    NAME_FUNC_OFFSET(15309, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
+    NAME_FUNC_OFFSET(15328, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
+    NAME_FUNC_OFFSET(15346, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
+    NAME_FUNC_OFFSET(15365, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
+    NAME_FUNC_OFFSET(15383, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
+    NAME_FUNC_OFFSET(15402, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
+    NAME_FUNC_OFFSET(15420, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
+    NAME_FUNC_OFFSET(15439, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
+    NAME_FUNC_OFFSET(15457, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
+    NAME_FUNC_OFFSET(15476, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
+    NAME_FUNC_OFFSET(15494, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
+    NAME_FUNC_OFFSET(15513, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
+    NAME_FUNC_OFFSET(15536, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
+    NAME_FUNC_OFFSET(15559, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
+    NAME_FUNC_OFFSET(15582, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
+    NAME_FUNC_OFFSET(15605, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
+    NAME_FUNC_OFFSET(15622, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
+    NAME_FUNC_OFFSET(15645, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
+    NAME_FUNC_OFFSET(15668, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
+    NAME_FUNC_OFFSET(15691, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
+    NAME_FUNC_OFFSET(15717, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
+    NAME_FUNC_OFFSET(15743, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
+    NAME_FUNC_OFFSET(15769, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
+    NAME_FUNC_OFFSET(15793, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
+    NAME_FUNC_OFFSET(15820, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
+    NAME_FUNC_OFFSET(15846, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
+    NAME_FUNC_OFFSET(15866, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
+    NAME_FUNC_OFFSET(15886, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
+    NAME_FUNC_OFFSET(15906, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
+    NAME_FUNC_OFFSET(15923, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
+    NAME_FUNC_OFFSET(15941, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
+    NAME_FUNC_OFFSET(15958, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
+    NAME_FUNC_OFFSET(15976, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
+    NAME_FUNC_OFFSET(15993, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
+    NAME_FUNC_OFFSET(16011, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
+    NAME_FUNC_OFFSET(16028, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
+    NAME_FUNC_OFFSET(16046, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
+    NAME_FUNC_OFFSET(16063, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
+    NAME_FUNC_OFFSET(16081, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
+    NAME_FUNC_OFFSET(16098, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
+    NAME_FUNC_OFFSET(16116, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
+    NAME_FUNC_OFFSET(16133, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
+    NAME_FUNC_OFFSET(16151, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
+    NAME_FUNC_OFFSET(16168, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
+    NAME_FUNC_OFFSET(16186, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
+    NAME_FUNC_OFFSET(16203, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
+    NAME_FUNC_OFFSET(16221, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
+    NAME_FUNC_OFFSET(16240, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
+    NAME_FUNC_OFFSET(16259, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
+    NAME_FUNC_OFFSET(16278, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
+    NAME_FUNC_OFFSET(16297, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
+    NAME_FUNC_OFFSET(16317, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
+    NAME_FUNC_OFFSET(16337, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
+    NAME_FUNC_OFFSET(16357, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
+    NAME_FUNC_OFFSET(16374, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
+    NAME_FUNC_OFFSET(16392, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
+    NAME_FUNC_OFFSET(16409, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
+    NAME_FUNC_OFFSET(16427, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
+    NAME_FUNC_OFFSET(16444, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
+    NAME_FUNC_OFFSET(16462, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
+    NAME_FUNC_OFFSET(16484, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
+    NAME_FUNC_OFFSET(16497, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
+    NAME_FUNC_OFFSET(16510, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
+    NAME_FUNC_OFFSET(16526, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
+    NAME_FUNC_OFFSET(16542, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
+    NAME_FUNC_OFFSET(16555, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
+    NAME_FUNC_OFFSET(16578, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
+    NAME_FUNC_OFFSET(16598, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
+    NAME_FUNC_OFFSET(16617, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
+    NAME_FUNC_OFFSET(16628, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
+    NAME_FUNC_OFFSET(16640, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
+    NAME_FUNC_OFFSET(16654, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
+    NAME_FUNC_OFFSET(16667, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
+    NAME_FUNC_OFFSET(16683, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
+    NAME_FUNC_OFFSET(16694, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
+    NAME_FUNC_OFFSET(16707, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
+    NAME_FUNC_OFFSET(16726, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
+    NAME_FUNC_OFFSET(16746, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
+    NAME_FUNC_OFFSET(16759, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
+    NAME_FUNC_OFFSET(16769, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
+    NAME_FUNC_OFFSET(16785, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
+    NAME_FUNC_OFFSET(16804, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
+    NAME_FUNC_OFFSET(16822, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
+    NAME_FUNC_OFFSET(16843, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
+    NAME_FUNC_OFFSET(16858, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
+    NAME_FUNC_OFFSET(16873, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
+    NAME_FUNC_OFFSET(16887, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
+    NAME_FUNC_OFFSET(16902, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
+    NAME_FUNC_OFFSET(16914, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
+    NAME_FUNC_OFFSET(16927, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
+    NAME_FUNC_OFFSET(16939, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
+    NAME_FUNC_OFFSET(16952, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
+    NAME_FUNC_OFFSET(16964, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
+    NAME_FUNC_OFFSET(16977, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
+    NAME_FUNC_OFFSET(16989, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
+    NAME_FUNC_OFFSET(17002, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
+    NAME_FUNC_OFFSET(17014, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
+    NAME_FUNC_OFFSET(17027, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
+    NAME_FUNC_OFFSET(17039, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
+    NAME_FUNC_OFFSET(17052, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
+    NAME_FUNC_OFFSET(17064, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
+    NAME_FUNC_OFFSET(17077, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
+    NAME_FUNC_OFFSET(17089, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
+    NAME_FUNC_OFFSET(17102, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
+    NAME_FUNC_OFFSET(17121, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
+    NAME_FUNC_OFFSET(17140, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
+    NAME_FUNC_OFFSET(17159, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
+    NAME_FUNC_OFFSET(17172, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
+    NAME_FUNC_OFFSET(17190, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
+    NAME_FUNC_OFFSET(17211, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
+    NAME_FUNC_OFFSET(17229, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
+    NAME_FUNC_OFFSET(17249, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
+    NAME_FUNC_OFFSET(17263, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
+    NAME_FUNC_OFFSET(17280, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
+    NAME_FUNC_OFFSET(17296, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
+    NAME_FUNC_OFFSET(17315, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+    NAME_FUNC_OFFSET(17333, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+    NAME_FUNC_OFFSET(17354, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+    NAME_FUNC_OFFSET(17376, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+    NAME_FUNC_OFFSET(17395, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+    NAME_FUNC_OFFSET(17417, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+    NAME_FUNC_OFFSET(17440, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
+    NAME_FUNC_OFFSET(17459, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
+    NAME_FUNC_OFFSET(17479, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
+    NAME_FUNC_OFFSET(17498, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
+    NAME_FUNC_OFFSET(17518, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
+    NAME_FUNC_OFFSET(17537, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
+    NAME_FUNC_OFFSET(17557, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
+    NAME_FUNC_OFFSET(17576, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
+    NAME_FUNC_OFFSET(17596, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
+    NAME_FUNC_OFFSET(17615, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
+    NAME_FUNC_OFFSET(17635, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
+    NAME_FUNC_OFFSET(17655, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
+    NAME_FUNC_OFFSET(17676, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
+    NAME_FUNC_OFFSET(17696, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
+    NAME_FUNC_OFFSET(17717, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
+    NAME_FUNC_OFFSET(17737, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
+    NAME_FUNC_OFFSET(17758, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
+    NAME_FUNC_OFFSET(17782, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
+    NAME_FUNC_OFFSET(17800, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
+    NAME_FUNC_OFFSET(17820, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
+    NAME_FUNC_OFFSET(17838, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
+    NAME_FUNC_OFFSET(17850, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
+    NAME_FUNC_OFFSET(17863, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
+    NAME_FUNC_OFFSET(17875, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
+    NAME_FUNC_OFFSET(17888, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
+    NAME_FUNC_OFFSET(17908, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
+    NAME_FUNC_OFFSET(17932, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
+    NAME_FUNC_OFFSET(17946, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
+    NAME_FUNC_OFFSET(17963, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
+    NAME_FUNC_OFFSET(17978, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
+    NAME_FUNC_OFFSET(17996, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
+    NAME_FUNC_OFFSET(18010, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
+    NAME_FUNC_OFFSET(18027, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
+    NAME_FUNC_OFFSET(18042, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
+    NAME_FUNC_OFFSET(18060, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
+    NAME_FUNC_OFFSET(18074, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
+    NAME_FUNC_OFFSET(18091, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
+    NAME_FUNC_OFFSET(18106, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
+    NAME_FUNC_OFFSET(18124, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
+    NAME_FUNC_OFFSET(18138, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
+    NAME_FUNC_OFFSET(18155, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
+    NAME_FUNC_OFFSET(18170, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
+    NAME_FUNC_OFFSET(18188, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
+    NAME_FUNC_OFFSET(18202, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
+    NAME_FUNC_OFFSET(18219, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
+    NAME_FUNC_OFFSET(18234, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
+    NAME_FUNC_OFFSET(18252, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
+    NAME_FUNC_OFFSET(18266, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
+    NAME_FUNC_OFFSET(18283, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
+    NAME_FUNC_OFFSET(18298, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
+    NAME_FUNC_OFFSET(18316, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
+    NAME_FUNC_OFFSET(18330, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
+    NAME_FUNC_OFFSET(18347, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
+    NAME_FUNC_OFFSET(18362, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
+    NAME_FUNC_OFFSET(18380, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
+    NAME_FUNC_OFFSET(18394, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
+    NAME_FUNC_OFFSET(18411, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
+    NAME_FUNC_OFFSET(18426, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
+    NAME_FUNC_OFFSET(18444, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
+    NAME_FUNC_OFFSET(18461, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
+    NAME_FUNC_OFFSET(18481, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
+    NAME_FUNC_OFFSET(18498, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
+    NAME_FUNC_OFFSET(18524, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
+    NAME_FUNC_OFFSET(18553, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
+    NAME_FUNC_OFFSET(18568, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
+    NAME_FUNC_OFFSET(18586, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
+    NAME_FUNC_OFFSET(18605, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
+    NAME_FUNC_OFFSET(18629, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
     NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
 };
 
index e2cfb8a1f6699c6e6d78d828bf7e855615854feb..4654704afd1fdf0048628cd4e7000b180d91b147 100644 (file)
@@ -744,6 +744,18 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib)
             target = GL_TEXTURE_RECTANGLE_NV;
             obj = &unit->SavedRect;
             break;
+         case 5:
+            if (!ctx->Extensions.MESA_texture_array)
+               continue;
+            target = GL_TEXTURE_1D_ARRAY_EXT;
+            obj = &unit->Saved1DArray;
+            break;
+         case 6:
+            if (!ctx->Extensions.MESA_texture_array)
+               continue;
+            target = GL_TEXTURE_2D_ARRAY_EXT;
+            obj = &unit->Saved2DArray;
+            break;
          default:
             ; /* silence warnings */
          }
index a4de3bd1fae26443555cb108828e7a749f5db71d..9e4d1838adefbf40e945af25832632499e3fe626 100644 (file)
 /** Maximum rectangular texture size - GL_NV_texture_rectangle */
 #define MAX_TEXTURE_RECT_SIZE 2048
 
+/** Maximum number of layers in a 1D or 2D array texture - GL_MESA_texture_array */
+#define MAX_ARRAY_TEXTURE_LAYERS 64
+
 /** Number of texture units - GL_ARB_multitexture
  * This needs to be the larger of MAX_TEXTURE_COORD_UNITS and
  * MAX_TEXTURE_IMAGE_UNITS seen below, since MAX_TEXTURE_UNITS is used
index ace68499d79888b9c58747c75b2009e6644ee884..ccaf6f642808754103c879cf9a7b1d072327c252 100644 (file)
@@ -467,12 +467,22 @@ alloc_shared_state( GLcontext *ctx )
    if (!ss->DefaultRect)
       goto cleanup;
 
+   ss->Default1DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_1D_ARRAY_EXT);
+   if (!ss->Default1DArray)
+      goto cleanup;
+
+   ss->Default2DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_2D_ARRAY_EXT);
+   if (!ss->Default2DArray)
+      goto cleanup;
+
    /* Effectively bind the default textures to all texture units */
    ss->Default1D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
    ss->Default2D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
    ss->Default3D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
    ss->DefaultCubeMap->RefCount += MAX_TEXTURE_IMAGE_UNITS;
    ss->DefaultRect->RefCount += MAX_TEXTURE_IMAGE_UNITS;
+   ss->Default1DArray->RefCount += MAX_TEXTURE_IMAGE_UNITS;
+   ss->Default2DArray->RefCount += MAX_TEXTURE_IMAGE_UNITS;
 
    _glthread_INIT_MUTEX(ss->TexMutex);
    ss->TextureStateStamp = 0;
@@ -772,6 +782,7 @@ _mesa_init_constants(GLcontext *ctx)
    ctx->Const.Max3DTextureLevels = MAX_3D_TEXTURE_LEVELS;
    ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS;
    ctx->Const.MaxTextureRectSize = MAX_TEXTURE_RECT_SIZE;
+   ctx->Const.MaxArrayTextureLayers = MAX_ARRAY_TEXTURE_LAYERS;
    ctx->Const.MaxTextureCoordUnits = MAX_TEXTURE_COORD_UNITS;
    ctx->Const.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS;
    ctx->Const.MaxTextureUnits = MIN2(ctx->Const.MaxTextureCoordUnits,
index 0e14345e730acc4c5186ae34e261b7e221872b34..52dd63f2cefb1f7767b9268ef7ff85a7eb4d2e8f 100644 (file)
@@ -922,6 +922,22 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state)
        ctx->ATIFragmentShader.Enabled = state;
         break;
 #endif
+
+      /* GL_MESA_texture_array */
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         CHECK_EXTENSION(MESA_texture_array, cap);
+         if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
+            return;
+         }
+         break;
+
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         CHECK_EXTENSION(MESA_texture_array, cap);
+         if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
+            return;
+         }
+         break;
+
       default:
          _mesa_error(ctx, GL_INVALID_ENUM,
                      "%s(0x%x)", state ? "glEnable" : "glDisable", cap);
index bad33f7f642a7efee410a2cb6cd2314f9b4019c4..d5019ae045a82647dd87dc7a739b41e4579b1002 100644 (file)
@@ -251,6 +251,7 @@ LONGSTRING static const char enum_string_table[] =
    "GL_COMBINE_RGB\0"
    "GL_COMBINE_RGB_ARB\0"
    "GL_COMBINE_RGB_EXT\0"
+   "GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT\0"
    "GL_COMPARE_R_TO_TEXTURE\0"
    "GL_COMPARE_R_TO_TEXTURE_ARB\0"
    "GL_COMPILE\0"
@@ -527,6 +528,7 @@ LONGSTRING static const char enum_string_table[] =
    "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0"
    "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0"
    "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT\0"
+   "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT\0"
    "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT\0"
    "GL_FRAMEBUFFER_BINDING_EXT\0"
    "GL_FRAMEBUFFER_COMPLETE_EXT\0"
@@ -828,6 +830,7 @@ LONGSTRING static const char enum_string_table[] =
    "GL_MATRIX_PALETTE_ARB\0"
    "GL_MAX\0"
    "GL_MAX_3D_TEXTURE_SIZE\0"
+   "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT\0"
    "GL_MAX_ATTRIB_STACK_DEPTH\0"
    "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\0"
    "GL_MAX_CLIPMAP_DEPTH_SGIX\0"
@@ -1230,8 +1233,10 @@ LONGSTRING static const char enum_string_table[] =
    "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\0"
    "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\0"
    "GL_PROXY_TEXTURE_1D\0"
+   "GL_PROXY_TEXTURE_1D_ARRAY_EXT\0"
    "GL_PROXY_TEXTURE_1D_EXT\0"
    "GL_PROXY_TEXTURE_2D\0"
+   "GL_PROXY_TEXTURE_2D_ARRAY_EXT\0"
    "GL_PROXY_TEXTURE_2D_EXT\0"
    "GL_PROXY_TEXTURE_3D\0"
    "GL_PROXY_TEXTURE_COLOR_TABLE_SGI\0"
@@ -1537,13 +1542,17 @@ LONGSTRING static const char enum_string_table[] =
    "GL_TEXTURE9\0"
    "GL_TEXTURE9_ARB\0"
    "GL_TEXTURE_1D\0"
+   "GL_TEXTURE_1D_ARRAY_EXT\0"
    "GL_TEXTURE_2D\0"
+   "GL_TEXTURE_2D_ARRAY_EXT\0"
    "GL_TEXTURE_3D\0"
    "GL_TEXTURE_ALPHA_SIZE\0"
    "GL_TEXTURE_ALPHA_SIZE_EXT\0"
    "GL_TEXTURE_BASE_LEVEL\0"
    "GL_TEXTURE_BINDING_1D\0"
+   "GL_TEXTURE_BINDING_1D_ARRAY_EXT\0"
    "GL_TEXTURE_BINDING_2D\0"
+   "GL_TEXTURE_BINDING_2D_ARRAY_EXT\0"
    "GL_TEXTURE_BINDING_3D\0"
    "GL_TEXTURE_BINDING_CUBE_MAP\0"
    "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0"
@@ -1774,7 +1783,7 @@ LONGSTRING static const char enum_string_table[] =
    "GL_ZOOM_Y\0"
    ;
 
-static const enum_elt all_enums[1737] =
+static const enum_elt all_enums[1746] =
 {
    {     0, 0x00000600 }, /* GL_2D */
    {     6, 0x00001407 }, /* GL_2_BYTES */
@@ -1992,2130 +2001,2139 @@ static const enum_elt all_enums[1737] =
    {  4100, 0x00008571 }, /* GL_COMBINE_RGB */
    {  4115, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
    {  4134, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
-   {  4153, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
-   {  4177, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
-   {  4205, 0x00001300 }, /* GL_COMPILE */
-   {  4216, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
-   {  4239, 0x00008B81 }, /* GL_COMPILE_STATUS */
-   {  4257, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
-   {  4277, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
-   {  4301, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
-   {  4325, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
-   {  4353, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
-   {  4377, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
-   {  4407, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
-   {  4441, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
-   {  4469, 0x000084ED }, /* GL_COMPRESSED_RGB */
-   {  4487, 0x000084EE }, /* GL_COMPRESSED_RGBA */
-   {  4506, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
-   {  4529, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
-   {  4558, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
-   {  4591, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
-   {  4624, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
-   {  4657, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
-   {  4679, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
-   {  4707, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
-   {  4739, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
-   {  4769, 0x00008576 }, /* GL_CONSTANT */
-   {  4781, 0x00008003 }, /* GL_CONSTANT_ALPHA */
-   {  4799, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
-   {  4821, 0x00008576 }, /* GL_CONSTANT_ARB */
-   {  4837, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
-   {  4861, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
-   {  4883, 0x00008001 }, /* GL_CONSTANT_COLOR */
-   {  4901, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
-   {  4923, 0x00008576 }, /* GL_CONSTANT_EXT */
-   {  4939, 0x00008010 }, /* GL_CONVOLUTION_1D */
-   {  4957, 0x00008011 }, /* GL_CONVOLUTION_2D */
-   {  4975, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
-   {  5003, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
-   {  5034, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
-   {  5061, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
-   {  5092, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
-   {  5119, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
-   {  5150, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
-   {  5178, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
-   {  5210, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
-   {  5232, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
-   {  5258, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
-   {  5280, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
-   {  5306, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
-   {  5327, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
-   {  5352, 0x00008862 }, /* GL_COORD_REPLACE */
-   {  5369, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
-   {  5390, 0x00008862 }, /* GL_COORD_REPLACE_NV */
-   {  5410, 0x00001503 }, /* GL_COPY */
-   {  5418, 0x0000150C }, /* GL_COPY_INVERTED */
-   {  5435, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
-   {  5455, 0x00000B44 }, /* GL_CULL_FACE */
-   {  5468, 0x00000B45 }, /* GL_CULL_FACE_MODE */
-   {  5486, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
-   {  5505, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
-   {  5537, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
-   {  5572, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
-   {  5593, 0x00000001 }, /* GL_CURRENT_BIT */
-   {  5608, 0x00000B00 }, /* GL_CURRENT_COLOR */
-   {  5625, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
-   {  5646, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
-   {  5672, 0x00000B01 }, /* GL_CURRENT_INDEX */
-   {  5689, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
-   {  5711, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
-   {  5739, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
-   {  5760, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
-   {  5794, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
-   {  5827, 0x00000B02 }, /* GL_CURRENT_NORMAL */
-   {  5845, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
-   {  5875, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
-   {  5894, 0x00008865 }, /* GL_CURRENT_QUERY */
-   {  5911, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
-   {  5932, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
-   {  5956, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
-   {  5983, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
-   {  6007, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
-   {  6034, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
-   {  6067, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
-   {  6100, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
-   {  6127, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
-   {  6153, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
-   {  6178, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
-   {  6207, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
-   {  6229, 0x00000900 }, /* GL_CW */
-   {  6235, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
-   {  6256, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
-   {  6277, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
-   {  6297, 0x00002101 }, /* GL_DECAL */
-   {  6306, 0x00001E03 }, /* GL_DECR */
-   {  6314, 0x00008508 }, /* GL_DECR_WRAP */
-   {  6327, 0x00008508 }, /* GL_DECR_WRAP_EXT */
-   {  6344, 0x00008B80 }, /* GL_DELETE_STATUS */
-   {  6361, 0x00001801 }, /* GL_DEPTH */
-   {  6370, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
-   {  6394, 0x00000D1F }, /* GL_DEPTH_BIAS */
-   {  6408, 0x00000D56 }, /* GL_DEPTH_BITS */
-   {  6422, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
-   {  6442, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
-   {  6467, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
-   {  6487, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
-   {  6505, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
-   {  6526, 0x00001902 }, /* GL_DEPTH_COMPONENT */
-   {  6545, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
-   {  6566, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
-   {  6591, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
-   {  6617, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
-   {  6638, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
-   {  6663, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
-   {  6689, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
-   {  6710, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
-   {  6735, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
-   {  6761, 0x00000B74 }, /* GL_DEPTH_FUNC */
-   {  6775, 0x00000B70 }, /* GL_DEPTH_RANGE */
-   {  6790, 0x00000D1E }, /* GL_DEPTH_SCALE */
-   {  6805, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
-   {  6825, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
-   {  6853, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
-   {  6881, 0x00000B71 }, /* GL_DEPTH_TEST */
-   {  6895, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
-   {  6917, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
-   {  6943, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
-   {  6962, 0x00001201 }, /* GL_DIFFUSE */
-   {  6973, 0x00000BD0 }, /* GL_DITHER */
-   {  6983, 0x00000A02 }, /* GL_DOMAIN */
-   {  6993, 0x00001100 }, /* GL_DONT_CARE */
-   {  7006, 0x000086AE }, /* GL_DOT3_RGB */
-   {  7018, 0x000086AF }, /* GL_DOT3_RGBA */
-   {  7031, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
-   {  7048, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
-   {  7065, 0x000086AE }, /* GL_DOT3_RGB_ARB */
-   {  7081, 0x00008740 }, /* GL_DOT3_RGB_EXT */
-   {  7097, 0x0000140A }, /* GL_DOUBLE */
-   {  7107, 0x00000C32 }, /* GL_DOUBLEBUFFER */
-   {  7123, 0x00000C01 }, /* GL_DRAW_BUFFER */
-   {  7138, 0x00008825 }, /* GL_DRAW_BUFFER0 */
-   {  7154, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
-   {  7174, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
-   {  7194, 0x00008826 }, /* GL_DRAW_BUFFER1 */
-   {  7210, 0x0000882F }, /* GL_DRAW_BUFFER10 */
-   {  7227, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
-   {  7248, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
-   {  7269, 0x00008830 }, /* GL_DRAW_BUFFER11 */
-   {  7286, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
-   {  7307, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
-   {  7328, 0x00008831 }, /* GL_DRAW_BUFFER12 */
-   {  7345, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
-   {  7366, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
-   {  7387, 0x00008832 }, /* GL_DRAW_BUFFER13 */
-   {  7404, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
-   {  7425, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
-   {  7446, 0x00008833 }, /* GL_DRAW_BUFFER14 */
-   {  7463, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
-   {  7484, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
-   {  7505, 0x00008834 }, /* GL_DRAW_BUFFER15 */
-   {  7522, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
-   {  7543, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
-   {  7564, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
-   {  7584, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
-   {  7604, 0x00008827 }, /* GL_DRAW_BUFFER2 */
-   {  7620, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
-   {  7640, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
-   {  7660, 0x00008828 }, /* GL_DRAW_BUFFER3 */
-   {  7676, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
-   {  7696, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
-   {  7716, 0x00008829 }, /* GL_DRAW_BUFFER4 */
-   {  7732, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
-   {  7752, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
-   {  7772, 0x0000882A }, /* GL_DRAW_BUFFER5 */
-   {  7788, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
-   {  7808, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
-   {  7828, 0x0000882B }, /* GL_DRAW_BUFFER6 */
-   {  7844, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
-   {  7864, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
-   {  7884, 0x0000882C }, /* GL_DRAW_BUFFER7 */
-   {  7900, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
-   {  7920, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
-   {  7940, 0x0000882D }, /* GL_DRAW_BUFFER8 */
-   {  7956, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
-   {  7976, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
-   {  7996, 0x0000882E }, /* GL_DRAW_BUFFER9 */
-   {  8012, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
-   {  8032, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
-   {  8052, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
-   {  8084, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
-   {  8108, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
-   {  8128, 0x00000304 }, /* GL_DST_ALPHA */
-   {  8141, 0x00000306 }, /* GL_DST_COLOR */
-   {  8154, 0x000088EA }, /* GL_DYNAMIC_COPY */
-   {  8170, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
-   {  8190, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
-   {  8206, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
-   {  8226, 0x000088E9 }, /* GL_DYNAMIC_READ */
-   {  8242, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
-   {  8262, 0x00000B43 }, /* GL_EDGE_FLAG */
-   {  8275, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
-   {  8294, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
-   {  8328, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
-   {  8366, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
-   {  8393, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
-   {  8419, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
-   {  8443, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */
-   {  8471, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
-   {  8503, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
-   {  8539, 0x00001600 }, /* GL_EMISSION */
-   {  8551, 0x00002000 }, /* GL_ENABLE_BIT */
-   {  8565, 0x00000202 }, /* GL_EQUAL */
-   {  8574, 0x00001509 }, /* GL_EQUIV */
-   {  8583, 0x00010000 }, /* GL_EVAL_BIT */
-   {  8595, 0x00000800 }, /* GL_EXP */
-   {  8602, 0x00000801 }, /* GL_EXP2 */
-   {  8610, 0x00001F03 }, /* GL_EXTENSIONS */
-   {  8624, 0x00002400 }, /* GL_EYE_LINEAR */
-   {  8638, 0x00002502 }, /* GL_EYE_PLANE */
-   {  8651, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
-   {  8676, 0x0000855B }, /* GL_EYE_RADIAL_NV */
-   {  8693, 0x00000000 }, /* GL_FALSE */
-   {  8702, 0x00001101 }, /* GL_FASTEST */
-   {  8713, 0x00001C01 }, /* GL_FEEDBACK */
-   {  8725, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
-   {  8752, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
-   {  8776, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
-   {  8800, 0x00001B02 }, /* GL_FILL */
-   {  8808, 0x00001D00 }, /* GL_FLAT */
-   {  8816, 0x00001406 }, /* GL_FLOAT */
-   {  8825, 0x00008B5A }, /* GL_FLOAT_MAT2 */
-   {  8839, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
-   {  8857, 0x00008B5B }, /* GL_FLOAT_MAT3 */
-   {  8871, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
-   {  8889, 0x00008B5C }, /* GL_FLOAT_MAT4 */
-   {  8903, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
-   {  8921, 0x00008B50 }, /* GL_FLOAT_VEC2 */
-   {  8935, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
-   {  8953, 0x00008B51 }, /* GL_FLOAT_VEC3 */
-   {  8967, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
-   {  8985, 0x00008B52 }, /* GL_FLOAT_VEC4 */
-   {  8999, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
-   {  9017, 0x00000B60 }, /* GL_FOG */
-   {  9024, 0x00000080 }, /* GL_FOG_BIT */
-   {  9035, 0x00000B66 }, /* GL_FOG_COLOR */
-   {  9048, 0x00008451 }, /* GL_FOG_COORD */
-   {  9061, 0x00008451 }, /* GL_FOG_COORDINATE */
-   {  9079, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
-   {  9103, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
-   {  9142, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
-   {  9185, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
-   {  9217, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
-   {  9248, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
-   {  9277, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
-   {  9302, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
-   {  9321, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
-   {  9355, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
-   {  9382, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
-   {  9408, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
-   {  9432, 0x00008450 }, /* GL_FOG_COORD_SRC */
-   {  9449, 0x00000B62 }, /* GL_FOG_DENSITY */
-   {  9464, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
-   {  9488, 0x00000B64 }, /* GL_FOG_END */
-   {  9499, 0x00000C54 }, /* GL_FOG_HINT */
-   {  9511, 0x00000B61 }, /* GL_FOG_INDEX */
-   {  9524, 0x00000B65 }, /* GL_FOG_MODE */
-   {  9536, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
-   {  9555, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
-   {  9580, 0x00000B63 }, /* GL_FOG_START */
-   {  9593, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
-   {  9611, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
-   {  9635, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
-   {  9654, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
-   {  9677, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
-   {  9712, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
-   {  9754, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
-   {  9796, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
-   {  9845, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
-   {  9897, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
-   {  9941, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
-   {  9968, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
-   {  9996, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
-   { 10015, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
-   { 10056, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
-   { 10097, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
-   { 10139, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
-   { 10190, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
-   { 10228, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
-   { 10277, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
-   { 10319, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
-   { 10351, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
-   { 10382, 0x00000404 }, /* GL_FRONT */
-   { 10391, 0x00000408 }, /* GL_FRONT_AND_BACK */
-   { 10409, 0x00000B46 }, /* GL_FRONT_FACE */
-   { 10423, 0x00000400 }, /* GL_FRONT_LEFT */
-   { 10437, 0x00000401 }, /* GL_FRONT_RIGHT */
-   { 10452, 0x00008006 }, /* GL_FUNC_ADD */
-   { 10464, 0x00008006 }, /* GL_FUNC_ADD_EXT */
-   { 10480, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
-   { 10505, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
-   { 10534, 0x0000800A }, /* GL_FUNC_SUBTRACT */
-   { 10551, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
-   { 10572, 0x00008191 }, /* GL_GENERATE_MIPMAP */
-   { 10591, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
-   { 10615, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
-   { 10644, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
-   { 10668, 0x00000206 }, /* GL_GEQUAL */
-   { 10678, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */
-   { 10703, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */
-   { 10731, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
-   { 10765, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */
-   { 10787, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */
-   { 10815, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
-   { 10852, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */
-   { 10871, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */
-   { 10890, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */
-   { 10909, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */
-   { 10928, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */
-   { 10947, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */
-   { 10966, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */
-   { 10990, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
-   { 11022, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */
-   { 11048, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
-   { 11082, 0x00008C46 }, /* GL_GL_SLUMINANCE */
-   { 11099, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */
-   { 11117, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */
-   { 11142, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */
-   { 11165, 0x00008C40 }, /* GL_GL_SRGB */
-   { 11176, 0x00008C41 }, /* GL_GL_SRGB8 */
-   { 11188, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */
-   { 11207, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */
-   { 11224, 0x00000204 }, /* GL_GREATER */
-   { 11235, 0x00001904 }, /* GL_GREEN */
-   { 11244, 0x00000D19 }, /* GL_GREEN_BIAS */
-   { 11258, 0x00000D53 }, /* GL_GREEN_BITS */
-   { 11272, 0x00000D18 }, /* GL_GREEN_SCALE */
-   { 11287, 0x00008000 }, /* GL_HINT_BIT */
-   { 11299, 0x00008024 }, /* GL_HISTOGRAM */
-   { 11312, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
-   { 11336, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
-   { 11364, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
-   { 11387, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
-   { 11414, 0x00008024 }, /* GL_HISTOGRAM_EXT */
-   { 11431, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
-   { 11451, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
-   { 11475, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
-   { 11499, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
-   { 11527, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
-   { 11555, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
-   { 11587, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
-   { 11609, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
-   { 11635, 0x0000802D }, /* GL_HISTOGRAM_SINK */
-   { 11653, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
-   { 11675, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
-   { 11694, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
-   { 11717, 0x0000862A }, /* GL_IDENTITY_NV */
-   { 11732, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
-   { 11752, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
-   { 11792, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
-   { 11830, 0x00001E02 }, /* GL_INCR */
-   { 11838, 0x00008507 }, /* GL_INCR_WRAP */
-   { 11851, 0x00008507 }, /* GL_INCR_WRAP_EXT */
-   { 11868, 0x00008077 }, /* GL_INDEX_ARRAY */
-   { 11883, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
-   { 11913, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
-   { 11947, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
-   { 11970, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
-   { 11992, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
-   { 12012, 0x00000D51 }, /* GL_INDEX_BITS */
-   { 12026, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
-   { 12047, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
-   { 12065, 0x00000C30 }, /* GL_INDEX_MODE */
-   { 12079, 0x00000D13 }, /* GL_INDEX_OFFSET */
-   { 12095, 0x00000D12 }, /* GL_INDEX_SHIFT */
-   { 12110, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
-   { 12129, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
-   { 12148, 0x00001404 }, /* GL_INT */
-   { 12155, 0x00008049 }, /* GL_INTENSITY */
-   { 12168, 0x0000804C }, /* GL_INTENSITY12 */
-   { 12183, 0x0000804C }, /* GL_INTENSITY12_EXT */
-   { 12202, 0x0000804D }, /* GL_INTENSITY16 */
-   { 12217, 0x0000804D }, /* GL_INTENSITY16_EXT */
-   { 12236, 0x0000804A }, /* GL_INTENSITY4 */
-   { 12250, 0x0000804A }, /* GL_INTENSITY4_EXT */
-   { 12268, 0x0000804B }, /* GL_INTENSITY8 */
-   { 12282, 0x0000804B }, /* GL_INTENSITY8_EXT */
-   { 12300, 0x00008049 }, /* GL_INTENSITY_EXT */
-   { 12317, 0x00008575 }, /* GL_INTERPOLATE */
-   { 12332, 0x00008575 }, /* GL_INTERPOLATE_ARB */
-   { 12351, 0x00008575 }, /* GL_INTERPOLATE_EXT */
-   { 12370, 0x00008B53 }, /* GL_INT_VEC2 */
-   { 12382, 0x00008B53 }, /* GL_INT_VEC2_ARB */
-   { 12398, 0x00008B54 }, /* GL_INT_VEC3 */
-   { 12410, 0x00008B54 }, /* GL_INT_VEC3_ARB */
-   { 12426, 0x00008B55 }, /* GL_INT_VEC4 */
-   { 12438, 0x00008B55 }, /* GL_INT_VEC4_ARB */
-   { 12454, 0x00000500 }, /* GL_INVALID_ENUM */
-   { 12470, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
-   { 12507, 0x00000502 }, /* GL_INVALID_OPERATION */
-   { 12528, 0x00000501 }, /* GL_INVALID_VALUE */
-   { 12545, 0x0000862B }, /* GL_INVERSE_NV */
-   { 12559, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
-   { 12583, 0x0000150A }, /* GL_INVERT */
-   { 12593, 0x00001E00 }, /* GL_KEEP */
-   { 12601, 0x00000406 }, /* GL_LEFT */
-   { 12609, 0x00000203 }, /* GL_LEQUAL */
-   { 12619, 0x00000201 }, /* GL_LESS */
-   { 12627, 0x00004000 }, /* GL_LIGHT0 */
-   { 12637, 0x00004001 }, /* GL_LIGHT1 */
-   { 12647, 0x00004002 }, /* GL_LIGHT2 */
-   { 12657, 0x00004003 }, /* GL_LIGHT3 */
-   { 12667, 0x00004004 }, /* GL_LIGHT4 */
-   { 12677, 0x00004005 }, /* GL_LIGHT5 */
-   { 12687, 0x00004006 }, /* GL_LIGHT6 */
-   { 12697, 0x00004007 }, /* GL_LIGHT7 */
-   { 12707, 0x00000B50 }, /* GL_LIGHTING */
-   { 12719, 0x00000040 }, /* GL_LIGHTING_BIT */
-   { 12735, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
-   { 12758, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
-   { 12787, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
-   { 12820, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
-   { 12848, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
-   { 12872, 0x00001B01 }, /* GL_LINE */
-   { 12880, 0x00002601 }, /* GL_LINEAR */
-   { 12890, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
-   { 12912, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
-   { 12942, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
-   { 12973, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
-   { 12997, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
-   { 13022, 0x00000001 }, /* GL_LINES */
-   { 13031, 0x00000004 }, /* GL_LINE_BIT */
-   { 13043, 0x00000002 }, /* GL_LINE_LOOP */
-   { 13056, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
-   { 13076, 0x00000B20 }, /* GL_LINE_SMOOTH */
-   { 13091, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
-   { 13111, 0x00000B24 }, /* GL_LINE_STIPPLE */
-   { 13127, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
-   { 13151, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
-   { 13174, 0x00000003 }, /* GL_LINE_STRIP */
-   { 13188, 0x00000702 }, /* GL_LINE_TOKEN */
-   { 13202, 0x00000B21 }, /* GL_LINE_WIDTH */
-   { 13216, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
-   { 13242, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
-   { 13262, 0x00008B82 }, /* GL_LINK_STATUS */
-   { 13277, 0x00000B32 }, /* GL_LIST_BASE */
-   { 13290, 0x00020000 }, /* GL_LIST_BIT */
-   { 13302, 0x00000B33 }, /* GL_LIST_INDEX */
-   { 13316, 0x00000B30 }, /* GL_LIST_MODE */
-   { 13329, 0x00000101 }, /* GL_LOAD */
-   { 13337, 0x00000BF1 }, /* GL_LOGIC_OP */
-   { 13349, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
-   { 13366, 0x00008CA1 }, /* GL_LOWER_LEFT */
-   { 13380, 0x00001909 }, /* GL_LUMINANCE */
-   { 13393, 0x00008041 }, /* GL_LUMINANCE12 */
-   { 13408, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
-   { 13431, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
-   { 13458, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
-   { 13480, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
-   { 13506, 0x00008041 }, /* GL_LUMINANCE12_EXT */
-   { 13525, 0x00008042 }, /* GL_LUMINANCE16 */
-   { 13540, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
-   { 13563, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
-   { 13590, 0x00008042 }, /* GL_LUMINANCE16_EXT */
-   { 13609, 0x0000803F }, /* GL_LUMINANCE4 */
-   { 13623, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
-   { 13644, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
-   { 13669, 0x0000803F }, /* GL_LUMINANCE4_EXT */
-   { 13687, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
-   { 13708, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
-   { 13733, 0x00008040 }, /* GL_LUMINANCE8 */
-   { 13747, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
-   { 13768, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
-   { 13793, 0x00008040 }, /* GL_LUMINANCE8_EXT */
-   { 13811, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
-   { 13830, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
-   { 13846, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
-   { 13866, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
-   { 13888, 0x00000D91 }, /* GL_MAP1_INDEX */
-   { 13902, 0x00000D92 }, /* GL_MAP1_NORMAL */
-   { 13917, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
-   { 13941, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
-   { 13965, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
-   { 13989, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
-   { 14013, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
-   { 14030, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
-   { 14047, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
-   { 14075, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
-   { 14104, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
-   { 14133, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
-   { 14162, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
-   { 14191, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
-   { 14220, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
-   { 14249, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
-   { 14277, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
-   { 14305, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
-   { 14333, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
-   { 14361, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
-   { 14389, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
-   { 14417, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
-   { 14445, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
-   { 14473, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
-   { 14501, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
-   { 14517, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
-   { 14537, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
-   { 14559, 0x00000DB1 }, /* GL_MAP2_INDEX */
-   { 14573, 0x00000DB2 }, /* GL_MAP2_NORMAL */
-   { 14588, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
-   { 14612, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
-   { 14636, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
-   { 14660, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
-   { 14684, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
-   { 14701, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
-   { 14718, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
-   { 14746, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
-   { 14775, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
-   { 14804, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
-   { 14833, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
-   { 14862, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
-   { 14891, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
-   { 14920, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
-   { 14948, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
-   { 14976, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
-   { 15004, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
-   { 15032, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
-   { 15060, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
-   { 15088, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
-   { 15116, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
-   { 15144, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
-   { 15172, 0x00000D10 }, /* GL_MAP_COLOR */
-   { 15185, 0x00000D11 }, /* GL_MAP_STENCIL */
-   { 15200, 0x000088C0 }, /* GL_MATRIX0_ARB */
-   { 15215, 0x00008630 }, /* GL_MATRIX0_NV */
-   { 15229, 0x000088CA }, /* GL_MATRIX10_ARB */
-   { 15245, 0x000088CB }, /* GL_MATRIX11_ARB */
-   { 15261, 0x000088CC }, /* GL_MATRIX12_ARB */
-   { 15277, 0x000088CD }, /* GL_MATRIX13_ARB */
-   { 15293, 0x000088CE }, /* GL_MATRIX14_ARB */
-   { 15309, 0x000088CF }, /* GL_MATRIX15_ARB */
-   { 15325, 0x000088D0 }, /* GL_MATRIX16_ARB */
-   { 15341, 0x000088D1 }, /* GL_MATRIX17_ARB */
-   { 15357, 0x000088D2 }, /* GL_MATRIX18_ARB */
-   { 15373, 0x000088D3 }, /* GL_MATRIX19_ARB */
-   { 15389, 0x000088C1 }, /* GL_MATRIX1_ARB */
-   { 15404, 0x00008631 }, /* GL_MATRIX1_NV */
-   { 15418, 0x000088D4 }, /* GL_MATRIX20_ARB */
-   { 15434, 0x000088D5 }, /* GL_MATRIX21_ARB */
-   { 15450, 0x000088D6 }, /* GL_MATRIX22_ARB */
-   { 15466, 0x000088D7 }, /* GL_MATRIX23_ARB */
-   { 15482, 0x000088D8 }, /* GL_MATRIX24_ARB */
-   { 15498, 0x000088D9 }, /* GL_MATRIX25_ARB */
-   { 15514, 0x000088DA }, /* GL_MATRIX26_ARB */
-   { 15530, 0x000088DB }, /* GL_MATRIX27_ARB */
-   { 15546, 0x000088DC }, /* GL_MATRIX28_ARB */
-   { 15562, 0x000088DD }, /* GL_MATRIX29_ARB */
-   { 15578, 0x000088C2 }, /* GL_MATRIX2_ARB */
-   { 15593, 0x00008632 }, /* GL_MATRIX2_NV */
-   { 15607, 0x000088DE }, /* GL_MATRIX30_ARB */
-   { 15623, 0x000088DF }, /* GL_MATRIX31_ARB */
-   { 15639, 0x000088C3 }, /* GL_MATRIX3_ARB */
-   { 15654, 0x00008633 }, /* GL_MATRIX3_NV */
-   { 15668, 0x000088C4 }, /* GL_MATRIX4_ARB */
-   { 15683, 0x00008634 }, /* GL_MATRIX4_NV */
-   { 15697, 0x000088C5 }, /* GL_MATRIX5_ARB */
-   { 15712, 0x00008635 }, /* GL_MATRIX5_NV */
-   { 15726, 0x000088C6 }, /* GL_MATRIX6_ARB */
-   { 15741, 0x00008636 }, /* GL_MATRIX6_NV */
-   { 15755, 0x000088C7 }, /* GL_MATRIX7_ARB */
-   { 15770, 0x00008637 }, /* GL_MATRIX7_NV */
-   { 15784, 0x000088C8 }, /* GL_MATRIX8_ARB */
-   { 15799, 0x000088C9 }, /* GL_MATRIX9_ARB */
-   { 15814, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
-   { 15840, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
-   { 15874, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
-   { 15905, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
-   { 15938, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
-   { 15969, 0x00000BA0 }, /* GL_MATRIX_MODE */
-   { 15984, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
-   { 16006, 0x00008008 }, /* GL_MAX */
-   { 16013, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
-   { 16036, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
-   { 16062, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
-   { 16095, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
-   { 16121, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
-   { 16155, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
-   { 16174, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
-   { 16203, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
-   { 16235, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
-   { 16271, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
-   { 16307, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
-   { 16347, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
-   { 16373, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
-   { 16403, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
-   { 16428, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
-   { 16457, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
-   { 16486, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
-   { 16519, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
-   { 16539, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
-   { 16563, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
-   { 16587, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
-   { 16611, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
-   { 16636, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
-   { 16654, 0x00008008 }, /* GL_MAX_EXT */
-   { 16665, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
-   { 16700, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
-   { 16739, 0x00000D31 }, /* GL_MAX_LIGHTS */
-   { 16753, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
-   { 16773, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
-   { 16811, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
-   { 16840, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
-   { 16864, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
-   { 16892, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
-   { 16915, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
-   { 16952, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
-   { 16988, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
-   { 17015, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
-   { 17044, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
-   { 17078, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
-   { 17114, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
-   { 17141, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
-   { 17173, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
-   { 17209, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
-   { 17238, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
-   { 17267, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
-   { 17295, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
-   { 17333, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
-   { 17377, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
-   { 17420, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
-   { 17454, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
-   { 17493, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
-   { 17530, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
-   { 17568, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
-   { 17611, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
-   { 17654, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
-   { 17684, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
-   { 17715, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
-   { 17751, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
-   { 17787, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
-   { 17817, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
-   { 17851, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
-   { 17884, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
-   { 17913, 0x00008504 }, /* GL_MAX_SHININESS_NV */
-   { 17933, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
-   { 17957, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
-   { 17979, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
-   { 18005, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
-   { 18032, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
-   { 18063, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
-   { 18087, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
-   { 18121, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
-   { 18141, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
-   { 18168, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
-   { 18189, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
-   { 18214, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
-   { 18239, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
-   { 18274, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
-   { 18296, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
-   { 18322, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
-   { 18344, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
-   { 18370, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
-   { 18404, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
-   { 18442, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
-   { 18475, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
-   { 18512, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
-   { 18536, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
-   { 18557, 0x00008007 }, /* GL_MIN */
-   { 18564, 0x0000802E }, /* GL_MINMAX */
-   { 18574, 0x0000802E }, /* GL_MINMAX_EXT */
-   { 18588, 0x0000802F }, /* GL_MINMAX_FORMAT */
-   { 18605, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
-   { 18626, 0x00008030 }, /* GL_MINMAX_SINK */
-   { 18641, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
-   { 18660, 0x00008007 }, /* GL_MIN_EXT */
-   { 18671, 0x00008370 }, /* GL_MIRRORED_REPEAT */
-   { 18690, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
-   { 18713, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
-   { 18736, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
-   { 18756, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
-   { 18776, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
-   { 18806, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
-   { 18834, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
-   { 18862, 0x00001700 }, /* GL_MODELVIEW */
-   { 18875, 0x00001700 }, /* GL_MODELVIEW0_ARB */
-   { 18893, 0x0000872A }, /* GL_MODELVIEW10_ARB */
-   { 18912, 0x0000872B }, /* GL_MODELVIEW11_ARB */
-   { 18931, 0x0000872C }, /* GL_MODELVIEW12_ARB */
-   { 18950, 0x0000872D }, /* GL_MODELVIEW13_ARB */
-   { 18969, 0x0000872E }, /* GL_MODELVIEW14_ARB */
-   { 18988, 0x0000872F }, /* GL_MODELVIEW15_ARB */
-   { 19007, 0x00008730 }, /* GL_MODELVIEW16_ARB */
-   { 19026, 0x00008731 }, /* GL_MODELVIEW17_ARB */
-   { 19045, 0x00008732 }, /* GL_MODELVIEW18_ARB */
-   { 19064, 0x00008733 }, /* GL_MODELVIEW19_ARB */
-   { 19083, 0x0000850A }, /* GL_MODELVIEW1_ARB */
-   { 19101, 0x00008734 }, /* GL_MODELVIEW20_ARB */
-   { 19120, 0x00008735 }, /* GL_MODELVIEW21_ARB */
-   { 19139, 0x00008736 }, /* GL_MODELVIEW22_ARB */
-   { 19158, 0x00008737 }, /* GL_MODELVIEW23_ARB */
-   { 19177, 0x00008738 }, /* GL_MODELVIEW24_ARB */
-   { 19196, 0x00008739 }, /* GL_MODELVIEW25_ARB */
-   { 19215, 0x0000873A }, /* GL_MODELVIEW26_ARB */
-   { 19234, 0x0000873B }, /* GL_MODELVIEW27_ARB */
-   { 19253, 0x0000873C }, /* GL_MODELVIEW28_ARB */
-   { 19272, 0x0000873D }, /* GL_MODELVIEW29_ARB */
-   { 19291, 0x00008722 }, /* GL_MODELVIEW2_ARB */
-   { 19309, 0x0000873E }, /* GL_MODELVIEW30_ARB */
-   { 19328, 0x0000873F }, /* GL_MODELVIEW31_ARB */
-   { 19347, 0x00008723 }, /* GL_MODELVIEW3_ARB */
-   { 19365, 0x00008724 }, /* GL_MODELVIEW4_ARB */
-   { 19383, 0x00008725 }, /* GL_MODELVIEW5_ARB */
-   { 19401, 0x00008726 }, /* GL_MODELVIEW6_ARB */
-   { 19419, 0x00008727 }, /* GL_MODELVIEW7_ARB */
-   { 19437, 0x00008728 }, /* GL_MODELVIEW8_ARB */
-   { 19455, 0x00008729 }, /* GL_MODELVIEW9_ARB */
-   { 19473, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
-   { 19493, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
-   { 19520, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
-   { 19545, 0x00002100 }, /* GL_MODULATE */
-   { 19557, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
-   { 19577, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
-   { 19604, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
-   { 19629, 0x00000103 }, /* GL_MULT */
-   { 19637, 0x0000809D }, /* GL_MULTISAMPLE */
-   { 19652, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
-   { 19672, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
-   { 19691, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
-   { 19710, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
-   { 19734, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
-   { 19757, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
-   { 19787, 0x00002A25 }, /* GL_N3F_V3F */
-   { 19798, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
-   { 19818, 0x0000150E }, /* GL_NAND */
-   { 19826, 0x00002600 }, /* GL_NEAREST */
-   { 19837, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
-   { 19868, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
-   { 19900, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
-   { 19925, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
-   { 19951, 0x00000200 }, /* GL_NEVER */
-   { 19960, 0x00001102 }, /* GL_NICEST */
-   { 19970, 0x00000000 }, /* GL_NONE */
-   { 19978, 0x00001505 }, /* GL_NOOP */
-   { 19986, 0x00001508 }, /* GL_NOR */
-   { 19993, 0x00000BA1 }, /* GL_NORMALIZE */
-   { 20006, 0x00008075 }, /* GL_NORMAL_ARRAY */
-   { 20022, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
-   { 20053, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
-   { 20088, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
-   { 20112, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
-   { 20135, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
-   { 20156, 0x00008511 }, /* GL_NORMAL_MAP */
-   { 20170, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
-   { 20188, 0x00008511 }, /* GL_NORMAL_MAP_NV */
-   { 20205, 0x00000205 }, /* GL_NOTEQUAL */
-   { 20217, 0x00000000 }, /* GL_NO_ERROR */
-   { 20229, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
-   { 20263, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
-   { 20301, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
-   { 20333, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
-   { 20375, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
-   { 20405, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
-   { 20445, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
-   { 20476, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
-   { 20505, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
-   { 20533, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
-   { 20563, 0x00002401 }, /* GL_OBJECT_LINEAR */
-   { 20580, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
-   { 20606, 0x00002501 }, /* GL_OBJECT_PLANE */
-   { 20622, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
-   { 20657, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
-   { 20679, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
-   { 20698, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
-   { 20728, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
-   { 20749, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
-   { 20777, 0x00000001 }, /* GL_ONE */
-   { 20784, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
-   { 20812, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
-   { 20844, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
-   { 20872, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
-   { 20904, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
-   { 20927, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
-   { 20950, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
-   { 20973, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
-   { 20996, 0x00008598 }, /* GL_OPERAND0_ALPHA */
-   { 21014, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
-   { 21036, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
-   { 21058, 0x00008590 }, /* GL_OPERAND0_RGB */
-   { 21074, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
-   { 21094, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
-   { 21114, 0x00008599 }, /* GL_OPERAND1_ALPHA */
-   { 21132, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
-   { 21154, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
-   { 21176, 0x00008591 }, /* GL_OPERAND1_RGB */
-   { 21192, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
-   { 21212, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
-   { 21232, 0x0000859A }, /* GL_OPERAND2_ALPHA */
-   { 21250, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
-   { 21272, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
-   { 21294, 0x00008592 }, /* GL_OPERAND2_RGB */
-   { 21310, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
-   { 21330, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
-   { 21350, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
-   { 21371, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
-   { 21390, 0x00001507 }, /* GL_OR */
-   { 21396, 0x00000A01 }, /* GL_ORDER */
-   { 21405, 0x0000150D }, /* GL_OR_INVERTED */
-   { 21420, 0x0000150B }, /* GL_OR_REVERSE */
-   { 21434, 0x00000505 }, /* GL_OUT_OF_MEMORY */
-   { 21451, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
-   { 21469, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
-   { 21490, 0x00008758 }, /* GL_PACK_INVERT_MESA */
-   { 21510, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
-   { 21528, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
-   { 21547, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
-   { 21567, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
-   { 21587, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
-   { 21605, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
-   { 21624, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
-   { 21649, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
-   { 21673, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
-   { 21694, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
-   { 21716, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
-   { 21738, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
-   { 21763, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
-   { 21787, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
-   { 21808, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
-   { 21830, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
-   { 21852, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
-   { 21874, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
-   { 21905, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
-   { 21925, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
-   { 21950, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
-   { 21970, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
-   { 21995, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
-   { 22015, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
-   { 22040, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
-   { 22060, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
-   { 22085, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
-   { 22105, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
-   { 22130, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
-   { 22150, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
-   { 22175, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
-   { 22195, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
-   { 22220, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
-   { 22240, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
-   { 22265, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
-   { 22285, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
-   { 22310, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
-   { 22330, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
-   { 22355, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
-   { 22373, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
-   { 22406, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
-   { 22431, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
-   { 22466, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
-   { 22493, 0x00001B00 }, /* GL_POINT */
-   { 22502, 0x00000000 }, /* GL_POINTS */
-   { 22512, 0x00000002 }, /* GL_POINT_BIT */
-   { 22525, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
-   { 22555, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
-   { 22589, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
-   { 22623, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
-   { 22658, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
-   { 22687, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
-   { 22720, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
-   { 22753, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
-   { 22787, 0x00000B11 }, /* GL_POINT_SIZE */
-   { 22801, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
-   { 22827, 0x00008127 }, /* GL_POINT_SIZE_MAX */
-   { 22845, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
-   { 22867, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
-   { 22889, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
-   { 22912, 0x00008126 }, /* GL_POINT_SIZE_MIN */
-   { 22930, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
-   { 22952, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
-   { 22974, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
-   { 22997, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
-   { 23017, 0x00000B10 }, /* GL_POINT_SMOOTH */
-   { 23033, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
-   { 23054, 0x00008861 }, /* GL_POINT_SPRITE */
-   { 23070, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
-   { 23090, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
-   { 23119, 0x00008861 }, /* GL_POINT_SPRITE_NV */
-   { 23138, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
-   { 23164, 0x00000701 }, /* GL_POINT_TOKEN */
-   { 23179, 0x00000009 }, /* GL_POLYGON */
-   { 23190, 0x00000008 }, /* GL_POLYGON_BIT */
-   { 23205, 0x00000B40 }, /* GL_POLYGON_MODE */
-   { 23221, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
-   { 23244, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
-   { 23269, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
-   { 23292, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
-   { 23315, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
-   { 23339, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
-   { 23363, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
-   { 23381, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
-   { 23404, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
-   { 23423, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
-   { 23446, 0x00000703 }, /* GL_POLYGON_TOKEN */
-   { 23463, 0x00001203 }, /* GL_POSITION */
-   { 23475, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
-   { 23507, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
-   { 23543, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
-   { 23576, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
-   { 23613, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
-   { 23644, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
-   { 23679, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
-   { 23711, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
-   { 23747, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
-   { 23780, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
-   { 23812, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
-   { 23848, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
-   { 23881, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
-   { 23918, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
-   { 23948, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
-   { 23982, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
-   { 24013, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
-   { 24048, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
-   { 24079, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
-   { 24114, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
-   { 24146, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
-   { 24182, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
-   { 24212, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
-   { 24246, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
-   { 24277, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
-   { 24312, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
-   { 24344, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
-   { 24375, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
-   { 24410, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
-   { 24442, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
-   { 24478, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
-   { 24507, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
-   { 24540, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
-   { 24570, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
-   { 24604, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
-   { 24643, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
-   { 24676, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
-   { 24716, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
-   { 24750, 0x00008578 }, /* GL_PREVIOUS */
-   { 24762, 0x00008578 }, /* GL_PREVIOUS_ARB */
-   { 24778, 0x00008578 }, /* GL_PREVIOUS_EXT */
-   { 24794, 0x00008577 }, /* GL_PRIMARY_COLOR */
-   { 24811, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
-   { 24832, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
-   { 24853, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
-   { 24886, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
-   { 24918, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
-   { 24941, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
-   { 24964, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
-   { 24994, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
-   { 25023, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
-   { 25051, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
-   { 25073, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
-   { 25101, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
-   { 25129, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
-   { 25151, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
-   { 25172, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
-   { 25212, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
-   { 25251, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
-   { 25281, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
-   { 25316, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
-   { 25349, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
-   { 25383, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
-   { 25422, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
-   { 25461, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
-   { 25483, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
-   { 25509, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
-   { 25533, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
-   { 25556, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
-   { 25578, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
-   { 25599, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
-   { 25620, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
-   { 25647, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
-   { 25679, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
-   { 25711, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
-   { 25746, 0x00001701 }, /* GL_PROJECTION */
-   { 25760, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
-   { 25781, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
-   { 25807, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
-   { 25828, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
-   { 25847, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
-   { 25870, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
-   { 25909, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
-   { 25947, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
-   { 25967, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
-   { 25991, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
-   { 26011, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
-   { 26035, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
-   { 26055, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
-   { 26088, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
-   { 26114, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
-   { 26144, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
-   { 26175, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
-   { 26205, 0x00002003 }, /* GL_Q */
-   { 26210, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
-   { 26235, 0x00000007 }, /* GL_QUADS */
-   { 26244, 0x00008614 }, /* GL_QUAD_MESH_SUN */
-   { 26261, 0x00000008 }, /* GL_QUAD_STRIP */
-   { 26275, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
-   { 26297, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
-   { 26323, 0x00008866 }, /* GL_QUERY_RESULT */
-   { 26339, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
-   { 26359, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
-   { 26385, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
-   { 26415, 0x00002002 }, /* GL_R */
-   { 26420, 0x00002A10 }, /* GL_R3_G3_B2 */
-   { 26432, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
-   { 26465, 0x00000C02 }, /* GL_READ_BUFFER */
-   { 26480, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
-   { 26512, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
-   { 26536, 0x000088B8 }, /* GL_READ_ONLY */
-   { 26549, 0x000088B8 }, /* GL_READ_ONLY_ARB */
-   { 26566, 0x000088BA }, /* GL_READ_WRITE */
-   { 26580, 0x000088BA }, /* GL_READ_WRITE_ARB */
-   { 26598, 0x00001903 }, /* GL_RED */
-   { 26605, 0x00008016 }, /* GL_REDUCE */
-   { 26615, 0x00008016 }, /* GL_REDUCE_EXT */
-   { 26629, 0x00000D15 }, /* GL_RED_BIAS */
-   { 26641, 0x00000D52 }, /* GL_RED_BITS */
-   { 26653, 0x00000D14 }, /* GL_RED_SCALE */
-   { 26666, 0x00008512 }, /* GL_REFLECTION_MAP */
-   { 26684, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
-   { 26706, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
-   { 26727, 0x00001C00 }, /* GL_RENDER */
-   { 26737, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
-   { 26765, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
-   { 26785, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
-   { 26812, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
-   { 26848, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
-   { 26874, 0x00001F01 }, /* GL_RENDERER */
-   { 26886, 0x00000C40 }, /* GL_RENDER_MODE */
-   { 26901, 0x00002901 }, /* GL_REPEAT */
-   { 26911, 0x00001E01 }, /* GL_REPLACE */
-   { 26922, 0x00008062 }, /* GL_REPLACE_EXT */
-   { 26937, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
-   { 26960, 0x0000803A }, /* GL_RESCALE_NORMAL */
-   { 26978, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
-   { 27000, 0x00000102 }, /* GL_RETURN */
-   { 27010, 0x00001907 }, /* GL_RGB */
-   { 27017, 0x00008052 }, /* GL_RGB10 */
-   { 27026, 0x00008059 }, /* GL_RGB10_A2 */
-   { 27038, 0x00008059 }, /* GL_RGB10_A2_EXT */
-   { 27054, 0x00008052 }, /* GL_RGB10_EXT */
-   { 27067, 0x00008053 }, /* GL_RGB12 */
-   { 27076, 0x00008053 }, /* GL_RGB12_EXT */
-   { 27089, 0x00008054 }, /* GL_RGB16 */
-   { 27098, 0x00008054 }, /* GL_RGB16_EXT */
-   { 27111, 0x0000804E }, /* GL_RGB2_EXT */
-   { 27123, 0x0000804F }, /* GL_RGB4 */
-   { 27131, 0x0000804F }, /* GL_RGB4_EXT */
-   { 27143, 0x000083A1 }, /* GL_RGB4_S3TC */
-   { 27156, 0x00008050 }, /* GL_RGB5 */
-   { 27164, 0x00008057 }, /* GL_RGB5_A1 */
-   { 27175, 0x00008057 }, /* GL_RGB5_A1_EXT */
-   { 27190, 0x00008050 }, /* GL_RGB5_EXT */
-   { 27202, 0x00008051 }, /* GL_RGB8 */
-   { 27210, 0x00008051 }, /* GL_RGB8_EXT */
-   { 27222, 0x00001908 }, /* GL_RGBA */
-   { 27230, 0x0000805A }, /* GL_RGBA12 */
-   { 27240, 0x0000805A }, /* GL_RGBA12_EXT */
-   { 27254, 0x0000805B }, /* GL_RGBA16 */
-   { 27264, 0x0000805B }, /* GL_RGBA16_EXT */
-   { 27278, 0x00008055 }, /* GL_RGBA2 */
-   { 27287, 0x00008055 }, /* GL_RGBA2_EXT */
-   { 27300, 0x00008056 }, /* GL_RGBA4 */
-   { 27309, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
-   { 27328, 0x00008056 }, /* GL_RGBA4_EXT */
-   { 27341, 0x000083A3 }, /* GL_RGBA4_S3TC */
-   { 27355, 0x00008058 }, /* GL_RGBA8 */
-   { 27364, 0x00008058 }, /* GL_RGBA8_EXT */
-   { 27377, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
-   { 27395, 0x00000C31 }, /* GL_RGBA_MODE */
-   { 27408, 0x000083A2 }, /* GL_RGBA_S3TC */
-   { 27421, 0x000083A0 }, /* GL_RGB_S3TC */
-   { 27433, 0x00008573 }, /* GL_RGB_SCALE */
-   { 27446, 0x00008573 }, /* GL_RGB_SCALE_ARB */
-   { 27463, 0x00008573 }, /* GL_RGB_SCALE_EXT */
-   { 27480, 0x00000407 }, /* GL_RIGHT */
-   { 27489, 0x00002000 }, /* GL_S */
-   { 27494, 0x00008B5D }, /* GL_SAMPLER_1D */
-   { 27508, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
-   { 27529, 0x00008B5E }, /* GL_SAMPLER_2D */
-   { 27543, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
-   { 27564, 0x00008B5F }, /* GL_SAMPLER_3D */
-   { 27578, 0x00008B60 }, /* GL_SAMPLER_CUBE */
-   { 27594, 0x000080A9 }, /* GL_SAMPLES */
-   { 27605, 0x000086B4 }, /* GL_SAMPLES_3DFX */
-   { 27621, 0x000080A9 }, /* GL_SAMPLES_ARB */
-   { 27636, 0x00008914 }, /* GL_SAMPLES_PASSED */
-   { 27654, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
-   { 27676, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
-   { 27704, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
-   { 27736, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
-   { 27759, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
-   { 27786, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
-   { 27804, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
-   { 27827, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
-   { 27849, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
-   { 27868, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
-   { 27891, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
-   { 27917, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
-   { 27947, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
-   { 27972, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
-   { 28001, 0x00080000 }, /* GL_SCISSOR_BIT */
-   { 28016, 0x00000C10 }, /* GL_SCISSOR_BOX */
-   { 28031, 0x00000C11 }, /* GL_SCISSOR_TEST */
-   { 28047, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
-   { 28072, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
-   { 28112, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
-   { 28156, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
-   { 28189, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
-   { 28219, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
-   { 28251, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
-   { 28281, 0x00001C02 }, /* GL_SELECT */
-   { 28291, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
-   { 28319, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
-   { 28344, 0x00008012 }, /* GL_SEPARABLE_2D */
-   { 28360, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
-   { 28387, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
-   { 28418, 0x0000150F }, /* GL_SET */
-   { 28425, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
-   { 28446, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
-   { 28470, 0x00008B4F }, /* GL_SHADER_TYPE */
-   { 28485, 0x00000B54 }, /* GL_SHADE_MODEL */
-   { 28500, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
-   { 28528, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
-   { 28551, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
-   { 28581, 0x00001601 }, /* GL_SHININESS */
-   { 28594, 0x00001402 }, /* GL_SHORT */
-   { 28603, 0x000081F9 }, /* GL_SINGLE_COLOR */
-   { 28619, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
-   { 28639, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
-   { 28658, 0x00001D01 }, /* GL_SMOOTH */
-   { 28668, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
-   { 28701, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
-   { 28728, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
-   { 28761, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
-   { 28788, 0x00008588 }, /* GL_SOURCE0_ALPHA */
-   { 28805, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
-   { 28826, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
-   { 28847, 0x00008580 }, /* GL_SOURCE0_RGB */
-   { 28862, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
-   { 28881, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
-   { 28900, 0x00008589 }, /* GL_SOURCE1_ALPHA */
-   { 28917, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
-   { 28938, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
-   { 28959, 0x00008581 }, /* GL_SOURCE1_RGB */
-   { 28974, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
-   { 28993, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
-   { 29012, 0x0000858A }, /* GL_SOURCE2_ALPHA */
-   { 29029, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
-   { 29050, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
-   { 29071, 0x00008582 }, /* GL_SOURCE2_RGB */
-   { 29086, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
-   { 29105, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
-   { 29124, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
-   { 29144, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
-   { 29162, 0x00001202 }, /* GL_SPECULAR */
-   { 29174, 0x00002402 }, /* GL_SPHERE_MAP */
-   { 29188, 0x00001206 }, /* GL_SPOT_CUTOFF */
-   { 29203, 0x00001204 }, /* GL_SPOT_DIRECTION */
-   { 29221, 0x00001205 }, /* GL_SPOT_EXPONENT */
-   { 29238, 0x00008588 }, /* GL_SRC0_ALPHA */
-   { 29252, 0x00008580 }, /* GL_SRC0_RGB */
-   { 29264, 0x00008589 }, /* GL_SRC1_ALPHA */
-   { 29278, 0x00008581 }, /* GL_SRC1_RGB */
-   { 29290, 0x0000858A }, /* GL_SRC2_ALPHA */
-   { 29304, 0x00008582 }, /* GL_SRC2_RGB */
-   { 29316, 0x00000302 }, /* GL_SRC_ALPHA */
-   { 29329, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
-   { 29351, 0x00000300 }, /* GL_SRC_COLOR */
-   { 29364, 0x00000503 }, /* GL_STACK_OVERFLOW */
-   { 29382, 0x00000504 }, /* GL_STACK_UNDERFLOW */
-   { 29401, 0x000088E6 }, /* GL_STATIC_COPY */
-   { 29416, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
-   { 29435, 0x000088E4 }, /* GL_STATIC_DRAW */
-   { 29450, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
-   { 29469, 0x000088E5 }, /* GL_STATIC_READ */
-   { 29484, 0x000088E5 }, /* GL_STATIC_READ_ARB */
-   { 29503, 0x00001802 }, /* GL_STENCIL */
-   { 29514, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
-   { 29540, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
-   { 29561, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
-   { 29582, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
-   { 29614, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
-   { 29646, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
-   { 29666, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
-   { 29693, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
-   { 29719, 0x00000D57 }, /* GL_STENCIL_BITS */
-   { 29735, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
-   { 29757, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
-   { 29780, 0x00000B94 }, /* GL_STENCIL_FAIL */
-   { 29796, 0x00000B92 }, /* GL_STENCIL_FUNC */
-   { 29812, 0x00001901 }, /* GL_STENCIL_INDEX */
-   { 29829, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
-   { 29852, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
-   { 29874, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
-   { 29896, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
-   { 29918, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
-   { 29939, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
-   { 29966, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
-   { 29993, 0x00000B97 }, /* GL_STENCIL_REF */
-   { 30008, 0x00000B90 }, /* GL_STENCIL_TEST */
-   { 30024, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
-   { 30053, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
-   { 30075, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
-   { 30096, 0x00000C33 }, /* GL_STEREO */
-   { 30106, 0x000088E2 }, /* GL_STREAM_COPY */
-   { 30121, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
-   { 30140, 0x000088E0 }, /* GL_STREAM_DRAW */
-   { 30155, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
-   { 30174, 0x000088E1 }, /* GL_STREAM_READ */
-   { 30189, 0x000088E1 }, /* GL_STREAM_READ_ARB */
-   { 30208, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
-   { 30225, 0x000084E7 }, /* GL_SUBTRACT */
-   { 30237, 0x000084E7 }, /* GL_SUBTRACT_ARB */
-   { 30253, 0x00002001 }, /* GL_T */
-   { 30258, 0x00002A2A }, /* GL_T2F_C3F_V3F */
-   { 30273, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
-   { 30292, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
-   { 30308, 0x00002A2B }, /* GL_T2F_N3F_V3F */
-   { 30323, 0x00002A27 }, /* GL_T2F_V3F */
-   { 30334, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
-   { 30353, 0x00002A28 }, /* GL_T4F_V4F */
-   { 30364, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
-   { 30387, 0x00001702 }, /* GL_TEXTURE */
-   { 30398, 0x000084C0 }, /* GL_TEXTURE0 */
-   { 30410, 0x000084C0 }, /* GL_TEXTURE0_ARB */
-   { 30426, 0x000084C1 }, /* GL_TEXTURE1 */
-   { 30438, 0x000084CA }, /* GL_TEXTURE10 */
-   { 30451, 0x000084CA }, /* GL_TEXTURE10_ARB */
-   { 30468, 0x000084CB }, /* GL_TEXTURE11 */
-   { 30481, 0x000084CB }, /* GL_TEXTURE11_ARB */
-   { 30498, 0x000084CC }, /* GL_TEXTURE12 */
-   { 30511, 0x000084CC }, /* GL_TEXTURE12_ARB */
-   { 30528, 0x000084CD }, /* GL_TEXTURE13 */
-   { 30541, 0x000084CD }, /* GL_TEXTURE13_ARB */
-   { 30558, 0x000084CE }, /* GL_TEXTURE14 */
-   { 30571, 0x000084CE }, /* GL_TEXTURE14_ARB */
-   { 30588, 0x000084CF }, /* GL_TEXTURE15 */
-   { 30601, 0x000084CF }, /* GL_TEXTURE15_ARB */
-   { 30618, 0x000084D0 }, /* GL_TEXTURE16 */
-   { 30631, 0x000084D0 }, /* GL_TEXTURE16_ARB */
-   { 30648, 0x000084D1 }, /* GL_TEXTURE17 */
-   { 30661, 0x000084D1 }, /* GL_TEXTURE17_ARB */
-   { 30678, 0x000084D2 }, /* GL_TEXTURE18 */
-   { 30691, 0x000084D2 }, /* GL_TEXTURE18_ARB */
-   { 30708, 0x000084D3 }, /* GL_TEXTURE19 */
-   { 30721, 0x000084D3 }, /* GL_TEXTURE19_ARB */
-   { 30738, 0x000084C1 }, /* GL_TEXTURE1_ARB */
-   { 30754, 0x000084C2 }, /* GL_TEXTURE2 */
-   { 30766, 0x000084D4 }, /* GL_TEXTURE20 */
-   { 30779, 0x000084D4 }, /* GL_TEXTURE20_ARB */
-   { 30796, 0x000084D5 }, /* GL_TEXTURE21 */
-   { 30809, 0x000084D5 }, /* GL_TEXTURE21_ARB */
-   { 30826, 0x000084D6 }, /* GL_TEXTURE22 */
-   { 30839, 0x000084D6 }, /* GL_TEXTURE22_ARB */
-   { 30856, 0x000084D7 }, /* GL_TEXTURE23 */
-   { 30869, 0x000084D7 }, /* GL_TEXTURE23_ARB */
-   { 30886, 0x000084D8 }, /* GL_TEXTURE24 */
-   { 30899, 0x000084D8 }, /* GL_TEXTURE24_ARB */
-   { 30916, 0x000084D9 }, /* GL_TEXTURE25 */
-   { 30929, 0x000084D9 }, /* GL_TEXTURE25_ARB */
-   { 30946, 0x000084DA }, /* GL_TEXTURE26 */
-   { 30959, 0x000084DA }, /* GL_TEXTURE26_ARB */
-   { 30976, 0x000084DB }, /* GL_TEXTURE27 */
-   { 30989, 0x000084DB }, /* GL_TEXTURE27_ARB */
-   { 31006, 0x000084DC }, /* GL_TEXTURE28 */
-   { 31019, 0x000084DC }, /* GL_TEXTURE28_ARB */
-   { 31036, 0x000084DD }, /* GL_TEXTURE29 */
-   { 31049, 0x000084DD }, /* GL_TEXTURE29_ARB */
-   { 31066, 0x000084C2 }, /* GL_TEXTURE2_ARB */
-   { 31082, 0x000084C3 }, /* GL_TEXTURE3 */
-   { 31094, 0x000084DE }, /* GL_TEXTURE30 */
-   { 31107, 0x000084DE }, /* GL_TEXTURE30_ARB */
-   { 31124, 0x000084DF }, /* GL_TEXTURE31 */
-   { 31137, 0x000084DF }, /* GL_TEXTURE31_ARB */
-   { 31154, 0x000084C3 }, /* GL_TEXTURE3_ARB */
-   { 31170, 0x000084C4 }, /* GL_TEXTURE4 */
-   { 31182, 0x000084C4 }, /* GL_TEXTURE4_ARB */
-   { 31198, 0x000084C5 }, /* GL_TEXTURE5 */
-   { 31210, 0x000084C5 }, /* GL_TEXTURE5_ARB */
-   { 31226, 0x000084C6 }, /* GL_TEXTURE6 */
-   { 31238, 0x000084C6 }, /* GL_TEXTURE6_ARB */
-   { 31254, 0x000084C7 }, /* GL_TEXTURE7 */
-   { 31266, 0x000084C7 }, /* GL_TEXTURE7_ARB */
-   { 31282, 0x000084C8 }, /* GL_TEXTURE8 */
-   { 31294, 0x000084C8 }, /* GL_TEXTURE8_ARB */
-   { 31310, 0x000084C9 }, /* GL_TEXTURE9 */
-   { 31322, 0x000084C9 }, /* GL_TEXTURE9_ARB */
-   { 31338, 0x00000DE0 }, /* GL_TEXTURE_1D */
-   { 31352, 0x00000DE1 }, /* GL_TEXTURE_2D */
-   { 31366, 0x0000806F }, /* GL_TEXTURE_3D */
-   { 31380, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
-   { 31402, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
-   { 31428, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
-   { 31450, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
-   { 31472, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
-   { 31494, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
-   { 31516, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
-   { 31544, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
-   { 31576, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
-   { 31609, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
-   { 31641, 0x00040000 }, /* GL_TEXTURE_BIT */
-   { 31656, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
-   { 31677, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
-   { 31702, 0x00001005 }, /* GL_TEXTURE_BORDER */
-   { 31720, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
-   { 31744, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
-   { 31775, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
-   { 31805, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
-   { 31835, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
-   { 31870, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
-   { 31901, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
-   { 31939, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
-   { 31966, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
-   { 31998, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
-   { 32032, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
-   { 32056, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
-   { 32084, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
-   { 32108, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
-   { 32136, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
-   { 32169, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
-   { 32193, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
-   { 32215, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
-   { 32237, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
-   { 32263, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
-   { 32297, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
-   { 32330, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
-   { 32367, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
-   { 32395, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
-   { 32427, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
-   { 32450, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
-   { 32488, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
-   { 32530, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
-   { 32561, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
-   { 32589, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
-   { 32619, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
-   { 32647, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
-   { 32667, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
-   { 32691, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
-   { 32722, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
-   { 32757, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
-   { 32788, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
-   { 32823, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
-   { 32854, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
-   { 32889, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
-   { 32920, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
-   { 32955, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
-   { 32986, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
-   { 33021, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
-   { 33052, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
-   { 33087, 0x00008071 }, /* GL_TEXTURE_DEPTH */
-   { 33104, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
-   { 33126, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
-   { 33152, 0x00002300 }, /* GL_TEXTURE_ENV */
-   { 33167, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
-   { 33188, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
-   { 33208, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
-   { 33234, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
-   { 33254, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
-   { 33271, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
-   { 33288, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
-   { 33305, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
-   { 33322, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
-   { 33347, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
-   { 33369, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
-   { 33395, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
-   { 33413, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
-   { 33439, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
-   { 33465, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
-   { 33495, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
-   { 33522, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
-   { 33547, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
-   { 33567, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
-   { 33591, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
-   { 33618, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
-   { 33645, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
-   { 33672, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
-   { 33698, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
-   { 33728, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
-   { 33750, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
-   { 33768, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
-   { 33798, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
-   { 33826, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
-   { 33854, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
-   { 33882, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
-   { 33903, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
-   { 33922, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
-   { 33944, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
-   { 33963, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
-   { 33983, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
-   { 34008, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
-   { 34032, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
-   { 34052, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
-   { 34076, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
-   { 34096, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
-   { 34119, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
-   { 34144, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
-   { 34178, 0x00001000 }, /* GL_TEXTURE_WIDTH */
-   { 34195, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
-   { 34213, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
-   { 34231, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
-   { 34249, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
-   { 34269, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
-   { 34288, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
-   { 34317, 0x00001000 }, /* GL_TRANSFORM_BIT */
-   { 34334, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
-   { 34360, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
-   { 34390, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
-   { 34422, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
-   { 34452, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
-   { 34486, 0x0000862C }, /* GL_TRANSPOSE_NV */
-   { 34502, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
-   { 34533, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
-   { 34568, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
-   { 34596, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
-   { 34628, 0x00000004 }, /* GL_TRIANGLES */
-   { 34641, 0x00000006 }, /* GL_TRIANGLE_FAN */
-   { 34657, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
-   { 34678, 0x00000005 }, /* GL_TRIANGLE_STRIP */
-   { 34696, 0x00000001 }, /* GL_TRUE */
-   { 34704, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
-   { 34724, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
-   { 34747, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
-   { 34767, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
-   { 34788, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
-   { 34810, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
-   { 34832, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
-   { 34852, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
-   { 34873, 0x00001401 }, /* GL_UNSIGNED_BYTE */
-   { 34890, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
-   { 34917, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
-   { 34940, 0x00001405 }, /* GL_UNSIGNED_INT */
-   { 34956, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
-   { 34983, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
-   { 35007, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
-   { 35038, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
-   { 35062, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
-   { 35090, 0x00001403 }, /* GL_UNSIGNED_SHORT */
-   { 35108, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
-   { 35138, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
-   { 35164, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
-   { 35194, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
-   { 35220, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
-   { 35244, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
-   { 35272, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
-   { 35300, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
-   { 35327, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
-   { 35359, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
-   { 35390, 0x00008CA2 }, /* GL_UPPER_LEFT */
-   { 35404, 0x00002A20 }, /* GL_V2F */
-   { 35411, 0x00002A21 }, /* GL_V3F */
-   { 35418, 0x00008B83 }, /* GL_VALIDATE_STATUS */
-   { 35437, 0x00001F00 }, /* GL_VENDOR */
-   { 35447, 0x00001F02 }, /* GL_VERSION */
-   { 35458, 0x00008074 }, /* GL_VERTEX_ARRAY */
-   { 35474, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
-   { 35504, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
-   { 35535, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
-   { 35570, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
-   { 35594, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
-   { 35615, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
-   { 35638, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
-   { 35659, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
-   { 35686, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
-   { 35714, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
-   { 35742, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
-   { 35770, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
-   { 35798, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
-   { 35826, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
-   { 35854, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
-   { 35881, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
-   { 35908, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
-   { 35935, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
-   { 35962, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
-   { 35989, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
-   { 36016, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
-   { 36043, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
-   { 36070, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
-   { 36097, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
-   { 36135, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
-   { 36177, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
-   { 36208, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
-   { 36243, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
-   { 36277, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
-   { 36315, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
-   { 36346, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
-   { 36381, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
-   { 36409, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
-   { 36441, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
-   { 36471, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
-   { 36505, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
-   { 36533, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
-   { 36565, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
-   { 36585, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
-   { 36607, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
-   { 36636, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
-   { 36657, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
-   { 36686, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
-   { 36719, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
-   { 36751, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
-   { 36778, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
-   { 36809, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
-   { 36839, 0x00008B31 }, /* GL_VERTEX_SHADER */
-   { 36856, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
-   { 36877, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
-   { 36904, 0x00000BA2 }, /* GL_VIEWPORT */
-   { 36916, 0x00000800 }, /* GL_VIEWPORT_BIT */
-   { 36932, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
-   { 36952, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
-   { 36983, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
-   { 37018, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
-   { 37046, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
-   { 37071, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
-   { 37098, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
-   { 37123, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
-   { 37147, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
-   { 37166, 0x000088B9 }, /* GL_WRITE_ONLY */
-   { 37180, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
-   { 37198, 0x00001506 }, /* GL_XOR */
-   { 37205, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
-   { 37224, 0x00008757 }, /* GL_YCBCR_MESA */
-   { 37238, 0x00000000 }, /* GL_ZERO */
-   { 37246, 0x00000D16 }, /* GL_ZOOM_X */
-   { 37256, 0x00000D17 }, /* GL_ZOOM_Y */
+   {  4153, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
+   {  4189, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
+   {  4213, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
+   {  4241, 0x00001300 }, /* GL_COMPILE */
+   {  4252, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
+   {  4275, 0x00008B81 }, /* GL_COMPILE_STATUS */
+   {  4293, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
+   {  4313, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
+   {  4337, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
+   {  4361, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
+   {  4389, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
+   {  4413, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+   {  4443, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
+   {  4477, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
+   {  4505, 0x000084ED }, /* GL_COMPRESSED_RGB */
+   {  4523, 0x000084EE }, /* GL_COMPRESSED_RGBA */
+   {  4542, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
+   {  4565, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+   {  4594, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+   {  4627, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+   {  4660, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+   {  4693, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
+   {  4715, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+   {  4743, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+   {  4775, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
+   {  4805, 0x00008576 }, /* GL_CONSTANT */
+   {  4817, 0x00008003 }, /* GL_CONSTANT_ALPHA */
+   {  4835, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
+   {  4857, 0x00008576 }, /* GL_CONSTANT_ARB */
+   {  4873, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
+   {  4897, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
+   {  4919, 0x00008001 }, /* GL_CONSTANT_COLOR */
+   {  4937, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
+   {  4959, 0x00008576 }, /* GL_CONSTANT_EXT */
+   {  4975, 0x00008010 }, /* GL_CONVOLUTION_1D */
+   {  4993, 0x00008011 }, /* GL_CONVOLUTION_2D */
+   {  5011, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
+   {  5039, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
+   {  5070, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
+   {  5097, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
+   {  5128, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
+   {  5155, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
+   {  5186, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
+   {  5214, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
+   {  5246, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
+   {  5268, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
+   {  5294, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
+   {  5316, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
+   {  5342, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
+   {  5363, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
+   {  5388, 0x00008862 }, /* GL_COORD_REPLACE */
+   {  5405, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
+   {  5426, 0x00008862 }, /* GL_COORD_REPLACE_NV */
+   {  5446, 0x00001503 }, /* GL_COPY */
+   {  5454, 0x0000150C }, /* GL_COPY_INVERTED */
+   {  5471, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
+   {  5491, 0x00000B44 }, /* GL_CULL_FACE */
+   {  5504, 0x00000B45 }, /* GL_CULL_FACE_MODE */
+   {  5522, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
+   {  5541, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+   {  5573, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+   {  5608, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
+   {  5629, 0x00000001 }, /* GL_CURRENT_BIT */
+   {  5644, 0x00000B00 }, /* GL_CURRENT_COLOR */
+   {  5661, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
+   {  5682, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
+   {  5708, 0x00000B01 }, /* GL_CURRENT_INDEX */
+   {  5725, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
+   {  5747, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
+   {  5775, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
+   {  5796, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+   {  5830, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
+   {  5863, 0x00000B02 }, /* GL_CURRENT_NORMAL */
+   {  5881, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+   {  5911, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
+   {  5930, 0x00008865 }, /* GL_CURRENT_QUERY */
+   {  5947, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
+   {  5968, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
+   {  5992, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
+   {  6019, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
+   {  6043, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
+   {  6070, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
+   {  6103, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+   {  6136, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
+   {  6163, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
+   {  6189, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
+   {  6214, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
+   {  6243, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
+   {  6265, 0x00000900 }, /* GL_CW */
+   {  6271, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
+   {  6292, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
+   {  6313, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
+   {  6333, 0x00002101 }, /* GL_DECAL */
+   {  6342, 0x00001E03 }, /* GL_DECR */
+   {  6350, 0x00008508 }, /* GL_DECR_WRAP */
+   {  6363, 0x00008508 }, /* GL_DECR_WRAP_EXT */
+   {  6380, 0x00008B80 }, /* GL_DELETE_STATUS */
+   {  6397, 0x00001801 }, /* GL_DEPTH */
+   {  6406, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
+   {  6430, 0x00000D1F }, /* GL_DEPTH_BIAS */
+   {  6444, 0x00000D56 }, /* GL_DEPTH_BITS */
+   {  6458, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
+   {  6478, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
+   {  6503, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
+   {  6523, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
+   {  6541, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
+   {  6562, 0x00001902 }, /* GL_DEPTH_COMPONENT */
+   {  6581, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
+   {  6602, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
+   {  6627, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
+   {  6653, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
+   {  6674, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
+   {  6699, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
+   {  6725, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
+   {  6746, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
+   {  6771, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
+   {  6797, 0x00000B74 }, /* GL_DEPTH_FUNC */
+   {  6811, 0x00000B70 }, /* GL_DEPTH_RANGE */
+   {  6826, 0x00000D1E }, /* GL_DEPTH_SCALE */
+   {  6841, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
+   {  6861, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+   {  6889, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+   {  6917, 0x00000B71 }, /* GL_DEPTH_TEST */
+   {  6931, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
+   {  6953, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
+   {  6979, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
+   {  6998, 0x00001201 }, /* GL_DIFFUSE */
+   {  7009, 0x00000BD0 }, /* GL_DITHER */
+   {  7019, 0x00000A02 }, /* GL_DOMAIN */
+   {  7029, 0x00001100 }, /* GL_DONT_CARE */
+   {  7042, 0x000086AE }, /* GL_DOT3_RGB */
+   {  7054, 0x000086AF }, /* GL_DOT3_RGBA */
+   {  7067, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
+   {  7084, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
+   {  7101, 0x000086AE }, /* GL_DOT3_RGB_ARB */
+   {  7117, 0x00008740 }, /* GL_DOT3_RGB_EXT */
+   {  7133, 0x0000140A }, /* GL_DOUBLE */
+   {  7143, 0x00000C32 }, /* GL_DOUBLEBUFFER */
+   {  7159, 0x00000C01 }, /* GL_DRAW_BUFFER */
+   {  7174, 0x00008825 }, /* GL_DRAW_BUFFER0 */
+   {  7190, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
+   {  7210, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
+   {  7230, 0x00008826 }, /* GL_DRAW_BUFFER1 */
+   {  7246, 0x0000882F }, /* GL_DRAW_BUFFER10 */
+   {  7263, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
+   {  7284, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
+   {  7305, 0x00008830 }, /* GL_DRAW_BUFFER11 */
+   {  7322, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
+   {  7343, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
+   {  7364, 0x00008831 }, /* GL_DRAW_BUFFER12 */
+   {  7381, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
+   {  7402, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
+   {  7423, 0x00008832 }, /* GL_DRAW_BUFFER13 */
+   {  7440, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
+   {  7461, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
+   {  7482, 0x00008833 }, /* GL_DRAW_BUFFER14 */
+   {  7499, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
+   {  7520, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
+   {  7541, 0x00008834 }, /* GL_DRAW_BUFFER15 */
+   {  7558, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
+   {  7579, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
+   {  7600, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
+   {  7620, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
+   {  7640, 0x00008827 }, /* GL_DRAW_BUFFER2 */
+   {  7656, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
+   {  7676, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
+   {  7696, 0x00008828 }, /* GL_DRAW_BUFFER3 */
+   {  7712, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
+   {  7732, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
+   {  7752, 0x00008829 }, /* GL_DRAW_BUFFER4 */
+   {  7768, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
+   {  7788, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
+   {  7808, 0x0000882A }, /* GL_DRAW_BUFFER5 */
+   {  7824, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
+   {  7844, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
+   {  7864, 0x0000882B }, /* GL_DRAW_BUFFER6 */
+   {  7880, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
+   {  7900, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
+   {  7920, 0x0000882C }, /* GL_DRAW_BUFFER7 */
+   {  7936, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
+   {  7956, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
+   {  7976, 0x0000882D }, /* GL_DRAW_BUFFER8 */
+   {  7992, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
+   {  8012, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
+   {  8032, 0x0000882E }, /* GL_DRAW_BUFFER9 */
+   {  8048, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
+   {  8068, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
+   {  8088, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+   {  8120, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
+   {  8144, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
+   {  8164, 0x00000304 }, /* GL_DST_ALPHA */
+   {  8177, 0x00000306 }, /* GL_DST_COLOR */
+   {  8190, 0x000088EA }, /* GL_DYNAMIC_COPY */
+   {  8206, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
+   {  8226, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
+   {  8242, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
+   {  8262, 0x000088E9 }, /* GL_DYNAMIC_READ */
+   {  8278, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
+   {  8298, 0x00000B43 }, /* GL_EDGE_FLAG */
+   {  8311, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
+   {  8330, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+   {  8364, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
+   {  8402, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
+   {  8429, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+   {  8455, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
+   {  8479, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */
+   {  8507, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+   {  8539, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
+   {  8575, 0x00001600 }, /* GL_EMISSION */
+   {  8587, 0x00002000 }, /* GL_ENABLE_BIT */
+   {  8601, 0x00000202 }, /* GL_EQUAL */
+   {  8610, 0x00001509 }, /* GL_EQUIV */
+   {  8619, 0x00010000 }, /* GL_EVAL_BIT */
+   {  8631, 0x00000800 }, /* GL_EXP */
+   {  8638, 0x00000801 }, /* GL_EXP2 */
+   {  8646, 0x00001F03 }, /* GL_EXTENSIONS */
+   {  8660, 0x00002400 }, /* GL_EYE_LINEAR */
+   {  8674, 0x00002502 }, /* GL_EYE_PLANE */
+   {  8687, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
+   {  8712, 0x0000855B }, /* GL_EYE_RADIAL_NV */
+   {  8729, 0x00000000 }, /* GL_FALSE */
+   {  8738, 0x00001101 }, /* GL_FASTEST */
+   {  8749, 0x00001C01 }, /* GL_FEEDBACK */
+   {  8761, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
+   {  8788, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
+   {  8812, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
+   {  8836, 0x00001B02 }, /* GL_FILL */
+   {  8844, 0x00001D00 }, /* GL_FLAT */
+   {  8852, 0x00001406 }, /* GL_FLOAT */
+   {  8861, 0x00008B5A }, /* GL_FLOAT_MAT2 */
+   {  8875, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
+   {  8893, 0x00008B5B }, /* GL_FLOAT_MAT3 */
+   {  8907, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
+   {  8925, 0x00008B5C }, /* GL_FLOAT_MAT4 */
+   {  8939, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
+   {  8957, 0x00008B50 }, /* GL_FLOAT_VEC2 */
+   {  8971, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
+   {  8989, 0x00008B51 }, /* GL_FLOAT_VEC3 */
+   {  9003, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
+   {  9021, 0x00008B52 }, /* GL_FLOAT_VEC4 */
+   {  9035, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
+   {  9053, 0x00000B60 }, /* GL_FOG */
+   {  9060, 0x00000080 }, /* GL_FOG_BIT */
+   {  9071, 0x00000B66 }, /* GL_FOG_COLOR */
+   {  9084, 0x00008451 }, /* GL_FOG_COORD */
+   {  9097, 0x00008451 }, /* GL_FOG_COORDINATE */
+   {  9115, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
+   {  9139, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+   {  9178, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
+   {  9221, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+   {  9253, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+   {  9284, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+   {  9313, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
+   {  9338, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
+   {  9357, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
+   {  9391, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
+   {  9418, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
+   {  9444, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
+   {  9468, 0x00008450 }, /* GL_FOG_COORD_SRC */
+   {  9485, 0x00000B62 }, /* GL_FOG_DENSITY */
+   {  9500, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
+   {  9524, 0x00000B64 }, /* GL_FOG_END */
+   {  9535, 0x00000C54 }, /* GL_FOG_HINT */
+   {  9547, 0x00000B61 }, /* GL_FOG_INDEX */
+   {  9560, 0x00000B65 }, /* GL_FOG_MODE */
+   {  9572, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
+   {  9591, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
+   {  9616, 0x00000B63 }, /* GL_FOG_START */
+   {  9629, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
+   {  9647, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
+   {  9671, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
+   {  9690, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
+   {  9713, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+   {  9748, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+   {  9790, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+   {  9832, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+   {  9881, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+   {  9933, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+   {  9977, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+   { 10021, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
+   { 10048, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+   { 10076, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
+   { 10095, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+   { 10136, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+   { 10177, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+   { 10219, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+   { 10270, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+   { 10308, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+   { 10357, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+   { 10399, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+   { 10431, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+   { 10462, 0x00000404 }, /* GL_FRONT */
+   { 10471, 0x00000408 }, /* GL_FRONT_AND_BACK */
+   { 10489, 0x00000B46 }, /* GL_FRONT_FACE */
+   { 10503, 0x00000400 }, /* GL_FRONT_LEFT */
+   { 10517, 0x00000401 }, /* GL_FRONT_RIGHT */
+   { 10532, 0x00008006 }, /* GL_FUNC_ADD */
+   { 10544, 0x00008006 }, /* GL_FUNC_ADD_EXT */
+   { 10560, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
+   { 10585, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
+   { 10614, 0x0000800A }, /* GL_FUNC_SUBTRACT */
+   { 10631, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
+   { 10652, 0x00008191 }, /* GL_GENERATE_MIPMAP */
+   { 10671, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
+   { 10695, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
+   { 10724, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
+   { 10748, 0x00000206 }, /* GL_GEQUAL */
+   { 10758, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */
+   { 10783, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */
+   { 10811, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
+   { 10845, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */
+   { 10867, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */
+   { 10895, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
+   { 10932, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */
+   { 10951, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */
+   { 10970, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */
+   { 10989, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */
+   { 11008, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */
+   { 11027, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */
+   { 11046, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */
+   { 11070, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
+   { 11102, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */
+   { 11128, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
+   { 11162, 0x00008C46 }, /* GL_GL_SLUMINANCE */
+   { 11179, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */
+   { 11197, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */
+   { 11222, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */
+   { 11245, 0x00008C40 }, /* GL_GL_SRGB */
+   { 11256, 0x00008C41 }, /* GL_GL_SRGB8 */
+   { 11268, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */
+   { 11287, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */
+   { 11304, 0x00000204 }, /* GL_GREATER */
+   { 11315, 0x00001904 }, /* GL_GREEN */
+   { 11324, 0x00000D19 }, /* GL_GREEN_BIAS */
+   { 11338, 0x00000D53 }, /* GL_GREEN_BITS */
+   { 11352, 0x00000D18 }, /* GL_GREEN_SCALE */
+   { 11367, 0x00008000 }, /* GL_HINT_BIT */
+   { 11379, 0x00008024 }, /* GL_HISTOGRAM */
+   { 11392, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
+   { 11416, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
+   { 11444, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
+   { 11467, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
+   { 11494, 0x00008024 }, /* GL_HISTOGRAM_EXT */
+   { 11511, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
+   { 11531, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
+   { 11555, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
+   { 11579, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
+   { 11607, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+   { 11635, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
+   { 11667, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
+   { 11689, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
+   { 11715, 0x0000802D }, /* GL_HISTOGRAM_SINK */
+   { 11733, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
+   { 11755, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
+   { 11774, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
+   { 11797, 0x0000862A }, /* GL_IDENTITY_NV */
+   { 11812, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
+   { 11832, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+   { 11872, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+   { 11910, 0x00001E02 }, /* GL_INCR */
+   { 11918, 0x00008507 }, /* GL_INCR_WRAP */
+   { 11931, 0x00008507 }, /* GL_INCR_WRAP_EXT */
+   { 11948, 0x00008077 }, /* GL_INDEX_ARRAY */
+   { 11963, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+   { 11993, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
+   { 12027, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
+   { 12050, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
+   { 12072, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
+   { 12092, 0x00000D51 }, /* GL_INDEX_BITS */
+   { 12106, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
+   { 12127, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
+   { 12145, 0x00000C30 }, /* GL_INDEX_MODE */
+   { 12159, 0x00000D13 }, /* GL_INDEX_OFFSET */
+   { 12175, 0x00000D12 }, /* GL_INDEX_SHIFT */
+   { 12190, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
+   { 12209, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
+   { 12228, 0x00001404 }, /* GL_INT */
+   { 12235, 0x00008049 }, /* GL_INTENSITY */
+   { 12248, 0x0000804C }, /* GL_INTENSITY12 */
+   { 12263, 0x0000804C }, /* GL_INTENSITY12_EXT */
+   { 12282, 0x0000804D }, /* GL_INTENSITY16 */
+   { 12297, 0x0000804D }, /* GL_INTENSITY16_EXT */
+   { 12316, 0x0000804A }, /* GL_INTENSITY4 */
+   { 12330, 0x0000804A }, /* GL_INTENSITY4_EXT */
+   { 12348, 0x0000804B }, /* GL_INTENSITY8 */
+   { 12362, 0x0000804B }, /* GL_INTENSITY8_EXT */
+   { 12380, 0x00008049 }, /* GL_INTENSITY_EXT */
+   { 12397, 0x00008575 }, /* GL_INTERPOLATE */
+   { 12412, 0x00008575 }, /* GL_INTERPOLATE_ARB */
+   { 12431, 0x00008575 }, /* GL_INTERPOLATE_EXT */
+   { 12450, 0x00008B53 }, /* GL_INT_VEC2 */
+   { 12462, 0x00008B53 }, /* GL_INT_VEC2_ARB */
+   { 12478, 0x00008B54 }, /* GL_INT_VEC3 */
+   { 12490, 0x00008B54 }, /* GL_INT_VEC3_ARB */
+   { 12506, 0x00008B55 }, /* GL_INT_VEC4 */
+   { 12518, 0x00008B55 }, /* GL_INT_VEC4_ARB */
+   { 12534, 0x00000500 }, /* GL_INVALID_ENUM */
+   { 12550, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+   { 12587, 0x00000502 }, /* GL_INVALID_OPERATION */
+   { 12608, 0x00000501 }, /* GL_INVALID_VALUE */
+   { 12625, 0x0000862B }, /* GL_INVERSE_NV */
+   { 12639, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
+   { 12663, 0x0000150A }, /* GL_INVERT */
+   { 12673, 0x00001E00 }, /* GL_KEEP */
+   { 12681, 0x00000406 }, /* GL_LEFT */
+   { 12689, 0x00000203 }, /* GL_LEQUAL */
+   { 12699, 0x00000201 }, /* GL_LESS */
+   { 12707, 0x00004000 }, /* GL_LIGHT0 */
+   { 12717, 0x00004001 }, /* GL_LIGHT1 */
+   { 12727, 0x00004002 }, /* GL_LIGHT2 */
+   { 12737, 0x00004003 }, /* GL_LIGHT3 */
+   { 12747, 0x00004004 }, /* GL_LIGHT4 */
+   { 12757, 0x00004005 }, /* GL_LIGHT5 */
+   { 12767, 0x00004006 }, /* GL_LIGHT6 */
+   { 12777, 0x00004007 }, /* GL_LIGHT7 */
+   { 12787, 0x00000B50 }, /* GL_LIGHTING */
+   { 12799, 0x00000040 }, /* GL_LIGHTING_BIT */
+   { 12815, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
+   { 12838, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+   { 12867, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
+   { 12900, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+   { 12928, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
+   { 12952, 0x00001B01 }, /* GL_LINE */
+   { 12960, 0x00002601 }, /* GL_LINEAR */
+   { 12970, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
+   { 12992, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+   { 13022, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+   { 13053, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
+   { 13077, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
+   { 13102, 0x00000001 }, /* GL_LINES */
+   { 13111, 0x00000004 }, /* GL_LINE_BIT */
+   { 13123, 0x00000002 }, /* GL_LINE_LOOP */
+   { 13136, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
+   { 13156, 0x00000B20 }, /* GL_LINE_SMOOTH */
+   { 13171, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
+   { 13191, 0x00000B24 }, /* GL_LINE_STIPPLE */
+   { 13207, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
+   { 13231, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
+   { 13254, 0x00000003 }, /* GL_LINE_STRIP */
+   { 13268, 0x00000702 }, /* GL_LINE_TOKEN */
+   { 13282, 0x00000B21 }, /* GL_LINE_WIDTH */
+   { 13296, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
+   { 13322, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
+   { 13342, 0x00008B82 }, /* GL_LINK_STATUS */
+   { 13357, 0x00000B32 }, /* GL_LIST_BASE */
+   { 13370, 0x00020000 }, /* GL_LIST_BIT */
+   { 13382, 0x00000B33 }, /* GL_LIST_INDEX */
+   { 13396, 0x00000B30 }, /* GL_LIST_MODE */
+   { 13409, 0x00000101 }, /* GL_LOAD */
+   { 13417, 0x00000BF1 }, /* GL_LOGIC_OP */
+   { 13429, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
+   { 13446, 0x00008CA1 }, /* GL_LOWER_LEFT */
+   { 13460, 0x00001909 }, /* GL_LUMINANCE */
+   { 13473, 0x00008041 }, /* GL_LUMINANCE12 */
+   { 13488, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
+   { 13511, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
+   { 13538, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
+   { 13560, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
+   { 13586, 0x00008041 }, /* GL_LUMINANCE12_EXT */
+   { 13605, 0x00008042 }, /* GL_LUMINANCE16 */
+   { 13620, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
+   { 13643, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
+   { 13670, 0x00008042 }, /* GL_LUMINANCE16_EXT */
+   { 13689, 0x0000803F }, /* GL_LUMINANCE4 */
+   { 13703, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
+   { 13724, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
+   { 13749, 0x0000803F }, /* GL_LUMINANCE4_EXT */
+   { 13767, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
+   { 13788, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
+   { 13813, 0x00008040 }, /* GL_LUMINANCE8 */
+   { 13827, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
+   { 13848, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
+   { 13873, 0x00008040 }, /* GL_LUMINANCE8_EXT */
+   { 13891, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
+   { 13910, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
+   { 13926, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
+   { 13946, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
+   { 13968, 0x00000D91 }, /* GL_MAP1_INDEX */
+   { 13982, 0x00000D92 }, /* GL_MAP1_NORMAL */
+   { 13997, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
+   { 14021, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
+   { 14045, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
+   { 14069, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
+   { 14093, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
+   { 14110, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
+   { 14127, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+   { 14155, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+   { 14184, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+   { 14213, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+   { 14242, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+   { 14271, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+   { 14300, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+   { 14329, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+   { 14357, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+   { 14385, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+   { 14413, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+   { 14441, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+   { 14469, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+   { 14497, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+   { 14525, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+   { 14553, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+   { 14581, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
+   { 14597, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
+   { 14617, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
+   { 14639, 0x00000DB1 }, /* GL_MAP2_INDEX */
+   { 14653, 0x00000DB2 }, /* GL_MAP2_NORMAL */
+   { 14668, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
+   { 14692, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
+   { 14716, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
+   { 14740, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
+   { 14764, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
+   { 14781, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
+   { 14798, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+   { 14826, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+   { 14855, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+   { 14884, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+   { 14913, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+   { 14942, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+   { 14971, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+   { 15000, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+   { 15028, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+   { 15056, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+   { 15084, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+   { 15112, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+   { 15140, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+   { 15168, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
+   { 15196, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+   { 15224, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+   { 15252, 0x00000D10 }, /* GL_MAP_COLOR */
+   { 15265, 0x00000D11 }, /* GL_MAP_STENCIL */
+   { 15280, 0x000088C0 }, /* GL_MATRIX0_ARB */
+   { 15295, 0x00008630 }, /* GL_MATRIX0_NV */
+   { 15309, 0x000088CA }, /* GL_MATRIX10_ARB */
+   { 15325, 0x000088CB }, /* GL_MATRIX11_ARB */
+   { 15341, 0x000088CC }, /* GL_MATRIX12_ARB */
+   { 15357, 0x000088CD }, /* GL_MATRIX13_ARB */
+   { 15373, 0x000088CE }, /* GL_MATRIX14_ARB */
+   { 15389, 0x000088CF }, /* GL_MATRIX15_ARB */
+   { 15405, 0x000088D0 }, /* GL_MATRIX16_ARB */
+   { 15421, 0x000088D1 }, /* GL_MATRIX17_ARB */
+   { 15437, 0x000088D2 }, /* GL_MATRIX18_ARB */
+   { 15453, 0x000088D3 }, /* GL_MATRIX19_ARB */
+   { 15469, 0x000088C1 }, /* GL_MATRIX1_ARB */
+   { 15484, 0x00008631 }, /* GL_MATRIX1_NV */
+   { 15498, 0x000088D4 }, /* GL_MATRIX20_ARB */
+   { 15514, 0x000088D5 }, /* GL_MATRIX21_ARB */
+   { 15530, 0x000088D6 }, /* GL_MATRIX22_ARB */
+   { 15546, 0x000088D7 }, /* GL_MATRIX23_ARB */
+   { 15562, 0x000088D8 }, /* GL_MATRIX24_ARB */
+   { 15578, 0x000088D9 }, /* GL_MATRIX25_ARB */
+   { 15594, 0x000088DA }, /* GL_MATRIX26_ARB */
+   { 15610, 0x000088DB }, /* GL_MATRIX27_ARB */
+   { 15626, 0x000088DC }, /* GL_MATRIX28_ARB */
+   { 15642, 0x000088DD }, /* GL_MATRIX29_ARB */
+   { 15658, 0x000088C2 }, /* GL_MATRIX2_ARB */
+   { 15673, 0x00008632 }, /* GL_MATRIX2_NV */
+   { 15687, 0x000088DE }, /* GL_MATRIX30_ARB */
+   { 15703, 0x000088DF }, /* GL_MATRIX31_ARB */
+   { 15719, 0x000088C3 }, /* GL_MATRIX3_ARB */
+   { 15734, 0x00008633 }, /* GL_MATRIX3_NV */
+   { 15748, 0x000088C4 }, /* GL_MATRIX4_ARB */
+   { 15763, 0x00008634 }, /* GL_MATRIX4_NV */
+   { 15777, 0x000088C5 }, /* GL_MATRIX5_ARB */
+   { 15792, 0x00008635 }, /* GL_MATRIX5_NV */
+   { 15806, 0x000088C6 }, /* GL_MATRIX6_ARB */
+   { 15821, 0x00008636 }, /* GL_MATRIX6_NV */
+   { 15835, 0x000088C7 }, /* GL_MATRIX7_ARB */
+   { 15850, 0x00008637 }, /* GL_MATRIX7_NV */
+   { 15864, 0x000088C8 }, /* GL_MATRIX8_ARB */
+   { 15879, 0x000088C9 }, /* GL_MATRIX9_ARB */
+   { 15894, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
+   { 15920, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+   { 15954, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+   { 15985, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+   { 16018, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+   { 16049, 0x00000BA0 }, /* GL_MATRIX_MODE */
+   { 16064, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
+   { 16086, 0x00008008 }, /* GL_MAX */
+   { 16093, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
+   { 16116, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+   { 16148, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
+   { 16174, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+   { 16207, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+   { 16233, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+   { 16267, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
+   { 16286, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+   { 16315, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+   { 16347, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
+   { 16383, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+   { 16419, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
+   { 16459, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
+   { 16485, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
+   { 16515, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
+   { 16540, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
+   { 16569, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+   { 16598, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
+   { 16631, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
+   { 16651, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
+   { 16675, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
+   { 16699, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
+   { 16723, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
+   { 16748, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
+   { 16766, 0x00008008 }, /* GL_MAX_EXT */
+   { 16777, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+   { 16812, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
+   { 16851, 0x00000D31 }, /* GL_MAX_LIGHTS */
+   { 16865, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
+   { 16885, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+   { 16923, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+   { 16952, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
+   { 16976, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
+   { 17004, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
+   { 17027, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+   { 17064, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+   { 17100, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+   { 17127, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+   { 17156, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+   { 17190, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+   { 17226, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+   { 17253, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+   { 17285, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+   { 17321, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+   { 17350, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+   { 17379, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
+   { 17407, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+   { 17445, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+   { 17489, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+   { 17532, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+   { 17566, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+   { 17605, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+   { 17642, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+   { 17680, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+   { 17723, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+   { 17766, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+   { 17796, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+   { 17827, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+   { 17863, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+   { 17899, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
+   { 17929, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+   { 17963, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
+   { 17996, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+   { 18025, 0x00008504 }, /* GL_MAX_SHININESS_NV */
+   { 18045, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
+   { 18069, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
+   { 18091, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
+   { 18117, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+   { 18144, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
+   { 18175, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
+   { 18199, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+   { 18233, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
+   { 18253, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
+   { 18280, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
+   { 18301, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
+   { 18326, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
+   { 18351, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
+   { 18386, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
+   { 18408, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
+   { 18434, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
+   { 18456, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
+   { 18482, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+   { 18516, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+   { 18554, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+   { 18587, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
+   { 18624, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
+   { 18648, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
+   { 18669, 0x00008007 }, /* GL_MIN */
+   { 18676, 0x0000802E }, /* GL_MINMAX */
+   { 18686, 0x0000802E }, /* GL_MINMAX_EXT */
+   { 18700, 0x0000802F }, /* GL_MINMAX_FORMAT */
+   { 18717, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
+   { 18738, 0x00008030 }, /* GL_MINMAX_SINK */
+   { 18753, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
+   { 18772, 0x00008007 }, /* GL_MIN_EXT */
+   { 18783, 0x00008370 }, /* GL_MIRRORED_REPEAT */
+   { 18802, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
+   { 18825, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
+   { 18848, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
+   { 18868, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
+   { 18888, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+   { 18918, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
+   { 18946, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+   { 18974, 0x00001700 }, /* GL_MODELVIEW */
+   { 18987, 0x00001700 }, /* GL_MODELVIEW0_ARB */
+   { 19005, 0x0000872A }, /* GL_MODELVIEW10_ARB */
+   { 19024, 0x0000872B }, /* GL_MODELVIEW11_ARB */
+   { 19043, 0x0000872C }, /* GL_MODELVIEW12_ARB */
+   { 19062, 0x0000872D }, /* GL_MODELVIEW13_ARB */
+   { 19081, 0x0000872E }, /* GL_MODELVIEW14_ARB */
+   { 19100, 0x0000872F }, /* GL_MODELVIEW15_ARB */
+   { 19119, 0x00008730 }, /* GL_MODELVIEW16_ARB */
+   { 19138, 0x00008731 }, /* GL_MODELVIEW17_ARB */
+   { 19157, 0x00008732 }, /* GL_MODELVIEW18_ARB */
+   { 19176, 0x00008733 }, /* GL_MODELVIEW19_ARB */
+   { 19195, 0x0000850A }, /* GL_MODELVIEW1_ARB */
+   { 19213, 0x00008734 }, /* GL_MODELVIEW20_ARB */
+   { 19232, 0x00008735 }, /* GL_MODELVIEW21_ARB */
+   { 19251, 0x00008736 }, /* GL_MODELVIEW22_ARB */
+   { 19270, 0x00008737 }, /* GL_MODELVIEW23_ARB */
+   { 19289, 0x00008738 }, /* GL_MODELVIEW24_ARB */
+   { 19308, 0x00008739 }, /* GL_MODELVIEW25_ARB */
+   { 19327, 0x0000873A }, /* GL_MODELVIEW26_ARB */
+   { 19346, 0x0000873B }, /* GL_MODELVIEW27_ARB */
+   { 19365, 0x0000873C }, /* GL_MODELVIEW28_ARB */
+   { 19384, 0x0000873D }, /* GL_MODELVIEW29_ARB */
+   { 19403, 0x00008722 }, /* GL_MODELVIEW2_ARB */
+   { 19421, 0x0000873E }, /* GL_MODELVIEW30_ARB */
+   { 19440, 0x0000873F }, /* GL_MODELVIEW31_ARB */
+   { 19459, 0x00008723 }, /* GL_MODELVIEW3_ARB */
+   { 19477, 0x00008724 }, /* GL_MODELVIEW4_ARB */
+   { 19495, 0x00008725 }, /* GL_MODELVIEW5_ARB */
+   { 19513, 0x00008726 }, /* GL_MODELVIEW6_ARB */
+   { 19531, 0x00008727 }, /* GL_MODELVIEW7_ARB */
+   { 19549, 0x00008728 }, /* GL_MODELVIEW8_ARB */
+   { 19567, 0x00008729 }, /* GL_MODELVIEW9_ARB */
+   { 19585, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
+   { 19605, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
+   { 19632, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
+   { 19657, 0x00002100 }, /* GL_MODULATE */
+   { 19669, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
+   { 19689, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
+   { 19716, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
+   { 19741, 0x00000103 }, /* GL_MULT */
+   { 19749, 0x0000809D }, /* GL_MULTISAMPLE */
+   { 19764, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
+   { 19784, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
+   { 19803, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
+   { 19822, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
+   { 19846, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
+   { 19869, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+   { 19899, 0x00002A25 }, /* GL_N3F_V3F */
+   { 19910, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
+   { 19930, 0x0000150E }, /* GL_NAND */
+   { 19938, 0x00002600 }, /* GL_NEAREST */
+   { 19949, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+   { 19980, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+   { 20012, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
+   { 20037, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
+   { 20063, 0x00000200 }, /* GL_NEVER */
+   { 20072, 0x00001102 }, /* GL_NICEST */
+   { 20082, 0x00000000 }, /* GL_NONE */
+   { 20090, 0x00001505 }, /* GL_NOOP */
+   { 20098, 0x00001508 }, /* GL_NOR */
+   { 20105, 0x00000BA1 }, /* GL_NORMALIZE */
+   { 20118, 0x00008075 }, /* GL_NORMAL_ARRAY */
+   { 20134, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+   { 20165, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
+   { 20200, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
+   { 20224, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
+   { 20247, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
+   { 20268, 0x00008511 }, /* GL_NORMAL_MAP */
+   { 20282, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
+   { 20300, 0x00008511 }, /* GL_NORMAL_MAP_NV */
+   { 20317, 0x00000205 }, /* GL_NOTEQUAL */
+   { 20329, 0x00000000 }, /* GL_NO_ERROR */
+   { 20341, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+   { 20375, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
+   { 20413, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
+   { 20445, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
+   { 20487, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
+   { 20517, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
+   { 20557, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
+   { 20588, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
+   { 20617, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
+   { 20645, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
+   { 20675, 0x00002401 }, /* GL_OBJECT_LINEAR */
+   { 20692, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
+   { 20718, 0x00002501 }, /* GL_OBJECT_PLANE */
+   { 20734, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
+   { 20769, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
+   { 20791, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
+   { 20810, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
+   { 20840, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
+   { 20861, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
+   { 20889, 0x00000001 }, /* GL_ONE */
+   { 20896, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+   { 20924, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
+   { 20956, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
+   { 20984, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
+   { 21016, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
+   { 21039, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
+   { 21062, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
+   { 21085, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
+   { 21108, 0x00008598 }, /* GL_OPERAND0_ALPHA */
+   { 21126, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
+   { 21148, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
+   { 21170, 0x00008590 }, /* GL_OPERAND0_RGB */
+   { 21186, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
+   { 21206, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
+   { 21226, 0x00008599 }, /* GL_OPERAND1_ALPHA */
+   { 21244, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
+   { 21266, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
+   { 21288, 0x00008591 }, /* GL_OPERAND1_RGB */
+   { 21304, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
+   { 21324, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
+   { 21344, 0x0000859A }, /* GL_OPERAND2_ALPHA */
+   { 21362, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
+   { 21384, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
+   { 21406, 0x00008592 }, /* GL_OPERAND2_RGB */
+   { 21422, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
+   { 21442, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
+   { 21462, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
+   { 21483, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
+   { 21502, 0x00001507 }, /* GL_OR */
+   { 21508, 0x00000A01 }, /* GL_ORDER */
+   { 21517, 0x0000150D }, /* GL_OR_INVERTED */
+   { 21532, 0x0000150B }, /* GL_OR_REVERSE */
+   { 21546, 0x00000505 }, /* GL_OUT_OF_MEMORY */
+   { 21563, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
+   { 21581, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
+   { 21602, 0x00008758 }, /* GL_PACK_INVERT_MESA */
+   { 21622, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
+   { 21640, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
+   { 21659, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
+   { 21679, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
+   { 21699, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
+   { 21717, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
+   { 21736, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
+   { 21761, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
+   { 21785, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
+   { 21806, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
+   { 21828, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
+   { 21850, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
+   { 21875, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
+   { 21899, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
+   { 21920, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
+   { 21942, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
+   { 21964, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
+   { 21986, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
+   { 22017, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
+   { 22037, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+   { 22062, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
+   { 22082, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+   { 22107, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
+   { 22127, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+   { 22152, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
+   { 22172, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+   { 22197, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
+   { 22217, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+   { 22242, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
+   { 22262, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+   { 22287, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
+   { 22307, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+   { 22332, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
+   { 22352, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+   { 22377, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
+   { 22397, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+   { 22422, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
+   { 22442, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+   { 22467, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
+   { 22485, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
+   { 22518, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
+   { 22543, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
+   { 22578, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
+   { 22605, 0x00001B00 }, /* GL_POINT */
+   { 22614, 0x00000000 }, /* GL_POINTS */
+   { 22624, 0x00000002 }, /* GL_POINT_BIT */
+   { 22637, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
+   { 22667, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
+   { 22701, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
+   { 22735, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
+   { 22770, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
+   { 22799, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
+   { 22832, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
+   { 22865, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
+   { 22899, 0x00000B11 }, /* GL_POINT_SIZE */
+   { 22913, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
+   { 22939, 0x00008127 }, /* GL_POINT_SIZE_MAX */
+   { 22957, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
+   { 22979, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
+   { 23001, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
+   { 23024, 0x00008126 }, /* GL_POINT_SIZE_MIN */
+   { 23042, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
+   { 23064, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
+   { 23086, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
+   { 23109, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
+   { 23129, 0x00000B10 }, /* GL_POINT_SMOOTH */
+   { 23145, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
+   { 23166, 0x00008861 }, /* GL_POINT_SPRITE */
+   { 23182, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
+   { 23202, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
+   { 23231, 0x00008861 }, /* GL_POINT_SPRITE_NV */
+   { 23250, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
+   { 23276, 0x00000701 }, /* GL_POINT_TOKEN */
+   { 23291, 0x00000009 }, /* GL_POLYGON */
+   { 23302, 0x00000008 }, /* GL_POLYGON_BIT */
+   { 23317, 0x00000B40 }, /* GL_POLYGON_MODE */
+   { 23333, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
+   { 23356, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
+   { 23381, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
+   { 23404, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
+   { 23427, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
+   { 23451, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
+   { 23475, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
+   { 23493, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
+   { 23516, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
+   { 23535, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
+   { 23558, 0x00000703 }, /* GL_POLYGON_TOKEN */
+   { 23575, 0x00001203 }, /* GL_POSITION */
+   { 23587, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+   { 23619, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
+   { 23655, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+   { 23688, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
+   { 23725, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+   { 23756, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
+   { 23791, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+   { 23823, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
+   { 23859, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+   { 23892, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+   { 23924, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
+   { 23960, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+   { 23993, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
+   { 24030, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+   { 24060, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
+   { 24094, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+   { 24125, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
+   { 24160, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+   { 24191, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
+   { 24226, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+   { 24258, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
+   { 24294, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+   { 24324, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
+   { 24358, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+   { 24389, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
+   { 24424, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+   { 24456, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+   { 24487, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
+   { 24522, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+   { 24554, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
+   { 24590, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
+   { 24619, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
+   { 24652, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
+   { 24682, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
+   { 24716, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+   { 24755, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+   { 24788, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+   { 24828, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+   { 24862, 0x00008578 }, /* GL_PREVIOUS */
+   { 24874, 0x00008578 }, /* GL_PREVIOUS_ARB */
+   { 24890, 0x00008578 }, /* GL_PREVIOUS_EXT */
+   { 24906, 0x00008577 }, /* GL_PRIMARY_COLOR */
+   { 24923, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
+   { 24944, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
+   { 24965, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+   { 24998, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+   { 25030, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
+   { 25053, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
+   { 25076, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
+   { 25106, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
+   { 25135, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
+   { 25163, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
+   { 25185, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+   { 25213, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+   { 25241, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
+   { 25263, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
+   { 25284, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+   { 25324, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+   { 25363, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+   { 25393, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+   { 25428, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+   { 25461, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+   { 25495, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+   { 25534, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+   { 25573, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
+   { 25595, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
+   { 25621, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
+   { 25645, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
+   { 25668, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
+   { 25690, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
+   { 25711, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
+   { 25732, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
+   { 25759, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+   { 25791, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+   { 25823, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+   { 25858, 0x00001701 }, /* GL_PROJECTION */
+   { 25872, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
+   { 25893, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
+   { 25919, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
+   { 25940, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
+   { 25959, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
+   { 25982, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+   { 26021, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+   { 26059, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
+   { 26079, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+   { 26109, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
+   { 26133, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
+   { 26153, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+   { 26183, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
+   { 26207, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
+   { 26227, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+   { 26260, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
+   { 26286, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
+   { 26316, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+   { 26347, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
+   { 26377, 0x00002003 }, /* GL_Q */
+   { 26382, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
+   { 26407, 0x00000007 }, /* GL_QUADS */
+   { 26416, 0x00008614 }, /* GL_QUAD_MESH_SUN */
+   { 26433, 0x00000008 }, /* GL_QUAD_STRIP */
+   { 26447, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
+   { 26469, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
+   { 26495, 0x00008866 }, /* GL_QUERY_RESULT */
+   { 26511, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
+   { 26531, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
+   { 26557, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
+   { 26587, 0x00002002 }, /* GL_R */
+   { 26592, 0x00002A10 }, /* GL_R3_G3_B2 */
+   { 26604, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+   { 26637, 0x00000C02 }, /* GL_READ_BUFFER */
+   { 26652, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+   { 26684, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
+   { 26708, 0x000088B8 }, /* GL_READ_ONLY */
+   { 26721, 0x000088B8 }, /* GL_READ_ONLY_ARB */
+   { 26738, 0x000088BA }, /* GL_READ_WRITE */
+   { 26752, 0x000088BA }, /* GL_READ_WRITE_ARB */
+   { 26770, 0x00001903 }, /* GL_RED */
+   { 26777, 0x00008016 }, /* GL_REDUCE */
+   { 26787, 0x00008016 }, /* GL_REDUCE_EXT */
+   { 26801, 0x00000D15 }, /* GL_RED_BIAS */
+   { 26813, 0x00000D52 }, /* GL_RED_BITS */
+   { 26825, 0x00000D14 }, /* GL_RED_SCALE */
+   { 26838, 0x00008512 }, /* GL_REFLECTION_MAP */
+   { 26856, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
+   { 26878, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
+   { 26899, 0x00001C00 }, /* GL_RENDER */
+   { 26909, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
+   { 26937, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
+   { 26957, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
+   { 26984, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+   { 27020, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
+   { 27046, 0x00001F01 }, /* GL_RENDERER */
+   { 27058, 0x00000C40 }, /* GL_RENDER_MODE */
+   { 27073, 0x00002901 }, /* GL_REPEAT */
+   { 27083, 0x00001E01 }, /* GL_REPLACE */
+   { 27094, 0x00008062 }, /* GL_REPLACE_EXT */
+   { 27109, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
+   { 27132, 0x0000803A }, /* GL_RESCALE_NORMAL */
+   { 27150, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
+   { 27172, 0x00000102 }, /* GL_RETURN */
+   { 27182, 0x00001907 }, /* GL_RGB */
+   { 27189, 0x00008052 }, /* GL_RGB10 */
+   { 27198, 0x00008059 }, /* GL_RGB10_A2 */
+   { 27210, 0x00008059 }, /* GL_RGB10_A2_EXT */
+   { 27226, 0x00008052 }, /* GL_RGB10_EXT */
+   { 27239, 0x00008053 }, /* GL_RGB12 */
+   { 27248, 0x00008053 }, /* GL_RGB12_EXT */
+   { 27261, 0x00008054 }, /* GL_RGB16 */
+   { 27270, 0x00008054 }, /* GL_RGB16_EXT */
+   { 27283, 0x0000804E }, /* GL_RGB2_EXT */
+   { 27295, 0x0000804F }, /* GL_RGB4 */
+   { 27303, 0x0000804F }, /* GL_RGB4_EXT */
+   { 27315, 0x000083A1 }, /* GL_RGB4_S3TC */
+   { 27328, 0x00008050 }, /* GL_RGB5 */
+   { 27336, 0x00008057 }, /* GL_RGB5_A1 */
+   { 27347, 0x00008057 }, /* GL_RGB5_A1_EXT */
+   { 27362, 0x00008050 }, /* GL_RGB5_EXT */
+   { 27374, 0x00008051 }, /* GL_RGB8 */
+   { 27382, 0x00008051 }, /* GL_RGB8_EXT */
+   { 27394, 0x00001908 }, /* GL_RGBA */
+   { 27402, 0x0000805A }, /* GL_RGBA12 */
+   { 27412, 0x0000805A }, /* GL_RGBA12_EXT */
+   { 27426, 0x0000805B }, /* GL_RGBA16 */
+   { 27436, 0x0000805B }, /* GL_RGBA16_EXT */
+   { 27450, 0x00008055 }, /* GL_RGBA2 */
+   { 27459, 0x00008055 }, /* GL_RGBA2_EXT */
+   { 27472, 0x00008056 }, /* GL_RGBA4 */
+   { 27481, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
+   { 27500, 0x00008056 }, /* GL_RGBA4_EXT */
+   { 27513, 0x000083A3 }, /* GL_RGBA4_S3TC */
+   { 27527, 0x00008058 }, /* GL_RGBA8 */
+   { 27536, 0x00008058 }, /* GL_RGBA8_EXT */
+   { 27549, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
+   { 27567, 0x00000C31 }, /* GL_RGBA_MODE */
+   { 27580, 0x000083A2 }, /* GL_RGBA_S3TC */
+   { 27593, 0x000083A0 }, /* GL_RGB_S3TC */
+   { 27605, 0x00008573 }, /* GL_RGB_SCALE */
+   { 27618, 0x00008573 }, /* GL_RGB_SCALE_ARB */
+   { 27635, 0x00008573 }, /* GL_RGB_SCALE_EXT */
+   { 27652, 0x00000407 }, /* GL_RIGHT */
+   { 27661, 0x00002000 }, /* GL_S */
+   { 27666, 0x00008B5D }, /* GL_SAMPLER_1D */
+   { 27680, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
+   { 27701, 0x00008B5E }, /* GL_SAMPLER_2D */
+   { 27715, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
+   { 27736, 0x00008B5F }, /* GL_SAMPLER_3D */
+   { 27750, 0x00008B60 }, /* GL_SAMPLER_CUBE */
+   { 27766, 0x000080A9 }, /* GL_SAMPLES */
+   { 27777, 0x000086B4 }, /* GL_SAMPLES_3DFX */
+   { 27793, 0x000080A9 }, /* GL_SAMPLES_ARB */
+   { 27808, 0x00008914 }, /* GL_SAMPLES_PASSED */
+   { 27826, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
+   { 27848, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+   { 27876, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
+   { 27908, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
+   { 27931, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
+   { 27958, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
+   { 27976, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
+   { 27999, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
+   { 28021, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
+   { 28040, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
+   { 28063, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
+   { 28089, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
+   { 28119, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
+   { 28144, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
+   { 28173, 0x00080000 }, /* GL_SCISSOR_BIT */
+   { 28188, 0x00000C10 }, /* GL_SCISSOR_BOX */
+   { 28203, 0x00000C11 }, /* GL_SCISSOR_TEST */
+   { 28219, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
+   { 28244, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+   { 28284, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
+   { 28328, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+   { 28361, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+   { 28391, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+   { 28423, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+   { 28453, 0x00001C02 }, /* GL_SELECT */
+   { 28463, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
+   { 28491, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
+   { 28516, 0x00008012 }, /* GL_SEPARABLE_2D */
+   { 28532, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
+   { 28559, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
+   { 28590, 0x0000150F }, /* GL_SET */
+   { 28597, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
+   { 28618, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
+   { 28642, 0x00008B4F }, /* GL_SHADER_TYPE */
+   { 28657, 0x00000B54 }, /* GL_SHADE_MODEL */
+   { 28672, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
+   { 28700, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
+   { 28723, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+   { 28753, 0x00001601 }, /* GL_SHININESS */
+   { 28766, 0x00001402 }, /* GL_SHORT */
+   { 28775, 0x000081F9 }, /* GL_SINGLE_COLOR */
+   { 28791, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
+   { 28811, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
+   { 28830, 0x00001D01 }, /* GL_SMOOTH */
+   { 28840, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
+   { 28873, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
+   { 28900, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
+   { 28933, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
+   { 28960, 0x00008588 }, /* GL_SOURCE0_ALPHA */
+   { 28977, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
+   { 28998, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
+   { 29019, 0x00008580 }, /* GL_SOURCE0_RGB */
+   { 29034, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
+   { 29053, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
+   { 29072, 0x00008589 }, /* GL_SOURCE1_ALPHA */
+   { 29089, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
+   { 29110, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
+   { 29131, 0x00008581 }, /* GL_SOURCE1_RGB */
+   { 29146, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
+   { 29165, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
+   { 29184, 0x0000858A }, /* GL_SOURCE2_ALPHA */
+   { 29201, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
+   { 29222, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
+   { 29243, 0x00008582 }, /* GL_SOURCE2_RGB */
+   { 29258, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
+   { 29277, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
+   { 29296, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
+   { 29316, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
+   { 29334, 0x00001202 }, /* GL_SPECULAR */
+   { 29346, 0x00002402 }, /* GL_SPHERE_MAP */
+   { 29360, 0x00001206 }, /* GL_SPOT_CUTOFF */
+   { 29375, 0x00001204 }, /* GL_SPOT_DIRECTION */
+   { 29393, 0x00001205 }, /* GL_SPOT_EXPONENT */
+   { 29410, 0x00008588 }, /* GL_SRC0_ALPHA */
+   { 29424, 0x00008580 }, /* GL_SRC0_RGB */
+   { 29436, 0x00008589 }, /* GL_SRC1_ALPHA */
+   { 29450, 0x00008581 }, /* GL_SRC1_RGB */
+   { 29462, 0x0000858A }, /* GL_SRC2_ALPHA */
+   { 29476, 0x00008582 }, /* GL_SRC2_RGB */
+   { 29488, 0x00000302 }, /* GL_SRC_ALPHA */
+   { 29501, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
+   { 29523, 0x00000300 }, /* GL_SRC_COLOR */
+   { 29536, 0x00000503 }, /* GL_STACK_OVERFLOW */
+   { 29554, 0x00000504 }, /* GL_STACK_UNDERFLOW */
+   { 29573, 0x000088E6 }, /* GL_STATIC_COPY */
+   { 29588, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
+   { 29607, 0x000088E4 }, /* GL_STATIC_DRAW */
+   { 29622, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
+   { 29641, 0x000088E5 }, /* GL_STATIC_READ */
+   { 29656, 0x000088E5 }, /* GL_STATIC_READ_ARB */
+   { 29675, 0x00001802 }, /* GL_STENCIL */
+   { 29686, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
+   { 29712, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
+   { 29733, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
+   { 29754, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+   { 29786, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+   { 29818, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
+   { 29838, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
+   { 29865, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
+   { 29891, 0x00000D57 }, /* GL_STENCIL_BITS */
+   { 29907, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
+   { 29929, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
+   { 29952, 0x00000B94 }, /* GL_STENCIL_FAIL */
+   { 29968, 0x00000B92 }, /* GL_STENCIL_FUNC */
+   { 29984, 0x00001901 }, /* GL_STENCIL_INDEX */
+   { 30001, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
+   { 30024, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
+   { 30046, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
+   { 30068, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
+   { 30090, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
+   { 30111, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
+   { 30138, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
+   { 30165, 0x00000B97 }, /* GL_STENCIL_REF */
+   { 30180, 0x00000B90 }, /* GL_STENCIL_TEST */
+   { 30196, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+   { 30225, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
+   { 30247, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
+   { 30268, 0x00000C33 }, /* GL_STEREO */
+   { 30278, 0x000088E2 }, /* GL_STREAM_COPY */
+   { 30293, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
+   { 30312, 0x000088E0 }, /* GL_STREAM_DRAW */
+   { 30327, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
+   { 30346, 0x000088E1 }, /* GL_STREAM_READ */
+   { 30361, 0x000088E1 }, /* GL_STREAM_READ_ARB */
+   { 30380, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
+   { 30397, 0x000084E7 }, /* GL_SUBTRACT */
+   { 30409, 0x000084E7 }, /* GL_SUBTRACT_ARB */
+   { 30425, 0x00002001 }, /* GL_T */
+   { 30430, 0x00002A2A }, /* GL_T2F_C3F_V3F */
+   { 30445, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
+   { 30464, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
+   { 30480, 0x00002A2B }, /* GL_T2F_N3F_V3F */
+   { 30495, 0x00002A27 }, /* GL_T2F_V3F */
+   { 30506, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
+   { 30525, 0x00002A28 }, /* GL_T4F_V4F */
+   { 30536, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
+   { 30559, 0x00001702 }, /* GL_TEXTURE */
+   { 30570, 0x000084C0 }, /* GL_TEXTURE0 */
+   { 30582, 0x000084C0 }, /* GL_TEXTURE0_ARB */
+   { 30598, 0x000084C1 }, /* GL_TEXTURE1 */
+   { 30610, 0x000084CA }, /* GL_TEXTURE10 */
+   { 30623, 0x000084CA }, /* GL_TEXTURE10_ARB */
+   { 30640, 0x000084CB }, /* GL_TEXTURE11 */
+   { 30653, 0x000084CB }, /* GL_TEXTURE11_ARB */
+   { 30670, 0x000084CC }, /* GL_TEXTURE12 */
+   { 30683, 0x000084CC }, /* GL_TEXTURE12_ARB */
+   { 30700, 0x000084CD }, /* GL_TEXTURE13 */
+   { 30713, 0x000084CD }, /* GL_TEXTURE13_ARB */
+   { 30730, 0x000084CE }, /* GL_TEXTURE14 */
+   { 30743, 0x000084CE }, /* GL_TEXTURE14_ARB */
+   { 30760, 0x000084CF }, /* GL_TEXTURE15 */
+   { 30773, 0x000084CF }, /* GL_TEXTURE15_ARB */
+   { 30790, 0x000084D0 }, /* GL_TEXTURE16 */
+   { 30803, 0x000084D0 }, /* GL_TEXTURE16_ARB */
+   { 30820, 0x000084D1 }, /* GL_TEXTURE17 */
+   { 30833, 0x000084D1 }, /* GL_TEXTURE17_ARB */
+   { 30850, 0x000084D2 }, /* GL_TEXTURE18 */
+   { 30863, 0x000084D2 }, /* GL_TEXTURE18_ARB */
+   { 30880, 0x000084D3 }, /* GL_TEXTURE19 */
+   { 30893, 0x000084D3 }, /* GL_TEXTURE19_ARB */
+   { 30910, 0x000084C1 }, /* GL_TEXTURE1_ARB */
+   { 30926, 0x000084C2 }, /* GL_TEXTURE2 */
+   { 30938, 0x000084D4 }, /* GL_TEXTURE20 */
+   { 30951, 0x000084D4 }, /* GL_TEXTURE20_ARB */
+   { 30968, 0x000084D5 }, /* GL_TEXTURE21 */
+   { 30981, 0x000084D5 }, /* GL_TEXTURE21_ARB */
+   { 30998, 0x000084D6 }, /* GL_TEXTURE22 */
+   { 31011, 0x000084D6 }, /* GL_TEXTURE22_ARB */
+   { 31028, 0x000084D7 }, /* GL_TEXTURE23 */
+   { 31041, 0x000084D7 }, /* GL_TEXTURE23_ARB */
+   { 31058, 0x000084D8 }, /* GL_TEXTURE24 */
+   { 31071, 0x000084D8 }, /* GL_TEXTURE24_ARB */
+   { 31088, 0x000084D9 }, /* GL_TEXTURE25 */
+   { 31101, 0x000084D9 }, /* GL_TEXTURE25_ARB */
+   { 31118, 0x000084DA }, /* GL_TEXTURE26 */
+   { 31131, 0x000084DA }, /* GL_TEXTURE26_ARB */
+   { 31148, 0x000084DB }, /* GL_TEXTURE27 */
+   { 31161, 0x000084DB }, /* GL_TEXTURE27_ARB */
+   { 31178, 0x000084DC }, /* GL_TEXTURE28 */
+   { 31191, 0x000084DC }, /* GL_TEXTURE28_ARB */
+   { 31208, 0x000084DD }, /* GL_TEXTURE29 */
+   { 31221, 0x000084DD }, /* GL_TEXTURE29_ARB */
+   { 31238, 0x000084C2 }, /* GL_TEXTURE2_ARB */
+   { 31254, 0x000084C3 }, /* GL_TEXTURE3 */
+   { 31266, 0x000084DE }, /* GL_TEXTURE30 */
+   { 31279, 0x000084DE }, /* GL_TEXTURE30_ARB */
+   { 31296, 0x000084DF }, /* GL_TEXTURE31 */
+   { 31309, 0x000084DF }, /* GL_TEXTURE31_ARB */
+   { 31326, 0x000084C3 }, /* GL_TEXTURE3_ARB */
+   { 31342, 0x000084C4 }, /* GL_TEXTURE4 */
+   { 31354, 0x000084C4 }, /* GL_TEXTURE4_ARB */
+   { 31370, 0x000084C5 }, /* GL_TEXTURE5 */
+   { 31382, 0x000084C5 }, /* GL_TEXTURE5_ARB */
+   { 31398, 0x000084C6 }, /* GL_TEXTURE6 */
+   { 31410, 0x000084C6 }, /* GL_TEXTURE6_ARB */
+   { 31426, 0x000084C7 }, /* GL_TEXTURE7 */
+   { 31438, 0x000084C7 }, /* GL_TEXTURE7_ARB */
+   { 31454, 0x000084C8 }, /* GL_TEXTURE8 */
+   { 31466, 0x000084C8 }, /* GL_TEXTURE8_ARB */
+   { 31482, 0x000084C9 }, /* GL_TEXTURE9 */
+   { 31494, 0x000084C9 }, /* GL_TEXTURE9_ARB */
+   { 31510, 0x00000DE0 }, /* GL_TEXTURE_1D */
+   { 31524, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
+   { 31548, 0x00000DE1 }, /* GL_TEXTURE_2D */
+   { 31562, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
+   { 31586, 0x0000806F }, /* GL_TEXTURE_3D */
+   { 31600, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
+   { 31622, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
+   { 31648, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
+   { 31670, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
+   { 31692, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+   { 31724, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
+   { 31746, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+   { 31778, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
+   { 31800, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
+   { 31828, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
+   { 31860, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+   { 31893, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
+   { 31925, 0x00040000 }, /* GL_TEXTURE_BIT */
+   { 31940, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
+   { 31961, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
+   { 31986, 0x00001005 }, /* GL_TEXTURE_BORDER */
+   { 32004, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
+   { 32028, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+   { 32059, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+   { 32089, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+   { 32119, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+   { 32154, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+   { 32185, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+   { 32223, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
+   { 32250, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+   { 32282, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+   { 32316, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
+   { 32340, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
+   { 32368, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
+   { 32392, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
+   { 32420, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+   { 32453, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
+   { 32477, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
+   { 32499, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
+   { 32521, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
+   { 32547, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
+   { 32581, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+   { 32614, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
+   { 32651, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
+   { 32679, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
+   { 32711, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
+   { 32734, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+   { 32772, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
+   { 32814, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+   { 32845, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+   { 32873, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+   { 32903, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+   { 32931, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
+   { 32951, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
+   { 32975, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+   { 33006, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
+   { 33041, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+   { 33072, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
+   { 33107, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+   { 33138, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
+   { 33173, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+   { 33204, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
+   { 33239, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+   { 33270, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
+   { 33305, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+   { 33336, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
+   { 33371, 0x00008071 }, /* GL_TEXTURE_DEPTH */
+   { 33388, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
+   { 33410, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
+   { 33436, 0x00002300 }, /* GL_TEXTURE_ENV */
+   { 33451, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
+   { 33472, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
+   { 33492, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
+   { 33518, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
+   { 33538, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
+   { 33555, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
+   { 33572, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
+   { 33589, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
+   { 33606, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
+   { 33631, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
+   { 33653, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
+   { 33679, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
+   { 33697, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
+   { 33723, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
+   { 33749, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
+   { 33779, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
+   { 33806, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
+   { 33831, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
+   { 33851, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
+   { 33875, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+   { 33902, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+   { 33929, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+   { 33956, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
+   { 33982, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
+   { 34012, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
+   { 34034, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
+   { 34052, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+   { 34082, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+   { 34110, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+   { 34138, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+   { 34166, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
+   { 34187, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
+   { 34206, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
+   { 34228, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
+   { 34247, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
+   { 34267, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
+   { 34292, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
+   { 34316, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
+   { 34336, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
+   { 34360, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
+   { 34380, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
+   { 34403, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
+   { 34428, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+   { 34462, 0x00001000 }, /* GL_TEXTURE_WIDTH */
+   { 34479, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
+   { 34497, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
+   { 34515, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
+   { 34533, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
+   { 34553, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
+   { 34572, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+   { 34601, 0x00001000 }, /* GL_TRANSFORM_BIT */
+   { 34618, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
+   { 34644, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
+   { 34674, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+   { 34706, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+   { 34736, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
+   { 34770, 0x0000862C }, /* GL_TRANSPOSE_NV */
+   { 34786, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+   { 34817, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
+   { 34852, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+   { 34880, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
+   { 34912, 0x00000004 }, /* GL_TRIANGLES */
+   { 34925, 0x00000006 }, /* GL_TRIANGLE_FAN */
+   { 34941, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
+   { 34962, 0x00000005 }, /* GL_TRIANGLE_STRIP */
+   { 34980, 0x00000001 }, /* GL_TRUE */
+   { 34988, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
+   { 35008, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
+   { 35031, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
+   { 35051, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
+   { 35072, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
+   { 35094, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
+   { 35116, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
+   { 35136, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
+   { 35157, 0x00001401 }, /* GL_UNSIGNED_BYTE */
+   { 35174, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+   { 35201, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
+   { 35224, 0x00001405 }, /* GL_UNSIGNED_INT */
+   { 35240, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
+   { 35267, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
+   { 35291, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+   { 35322, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
+   { 35346, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+   { 35374, 0x00001403 }, /* GL_UNSIGNED_SHORT */
+   { 35392, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+   { 35422, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+   { 35448, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+   { 35478, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+   { 35504, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
+   { 35528, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+   { 35556, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+   { 35584, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
+   { 35611, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+   { 35643, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
+   { 35674, 0x00008CA2 }, /* GL_UPPER_LEFT */
+   { 35688, 0x00002A20 }, /* GL_V2F */
+   { 35695, 0x00002A21 }, /* GL_V3F */
+   { 35702, 0x00008B83 }, /* GL_VALIDATE_STATUS */
+   { 35721, 0x00001F00 }, /* GL_VENDOR */
+   { 35731, 0x00001F02 }, /* GL_VERSION */
+   { 35742, 0x00008074 }, /* GL_VERTEX_ARRAY */
+   { 35758, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+   { 35788, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+   { 35819, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
+   { 35854, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
+   { 35878, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
+   { 35899, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
+   { 35922, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
+   { 35943, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+   { 35970, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+   { 35998, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+   { 36026, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+   { 36054, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+   { 36082, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+   { 36110, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+   { 36138, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+   { 36165, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+   { 36192, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+   { 36219, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+   { 36246, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+   { 36273, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+   { 36300, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+   { 36327, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+   { 36354, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+   { 36381, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+   { 36419, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
+   { 36461, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+   { 36492, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
+   { 36527, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+   { 36561, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
+   { 36599, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+   { 36630, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
+   { 36665, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+   { 36693, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
+   { 36725, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+   { 36755, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
+   { 36789, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+   { 36817, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
+   { 36849, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
+   { 36869, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
+   { 36891, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
+   { 36920, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
+   { 36941, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+   { 36970, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
+   { 37003, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
+   { 37035, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+   { 37062, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
+   { 37093, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
+   { 37123, 0x00008B31 }, /* GL_VERTEX_SHADER */
+   { 37140, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
+   { 37161, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
+   { 37188, 0x00000BA2 }, /* GL_VIEWPORT */
+   { 37200, 0x00000800 }, /* GL_VIEWPORT_BIT */
+   { 37216, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
+   { 37236, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+   { 37267, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
+   { 37302, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+   { 37330, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+   { 37355, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+   { 37382, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+   { 37407, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
+   { 37431, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
+   { 37450, 0x000088B9 }, /* GL_WRITE_ONLY */
+   { 37464, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
+   { 37482, 0x00001506 }, /* GL_XOR */
+   { 37489, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
+   { 37508, 0x00008757 }, /* GL_YCBCR_MESA */
+   { 37522, 0x00000000 }, /* GL_ZERO */
+   { 37530, 0x00000D16 }, /* GL_ZOOM_X */
+   { 37540, 0x00000D17 }, /* GL_ZOOM_Y */
 };
 
-static const unsigned reduced_enums[1277] =
+static const unsigned reduced_enums[1284] =
 {
-       435, /* GL_FALSE */
-       643, /* GL_LINES */
-       645, /* GL_LINE_LOOP */
-       652, /* GL_LINE_STRIP */
-      1628, /* GL_TRIANGLES */
-      1631, /* GL_TRIANGLE_STRIP */
-      1629, /* GL_TRIANGLE_FAN */
-      1206, /* GL_QUADS */
-      1208, /* GL_QUAD_STRIP */
-      1096, /* GL_POLYGON */
-      1108, /* GL_POLYGON_STIPPLE_BIT */
-      1061, /* GL_PIXEL_MODE_BIT */
-       630, /* GL_LIGHTING_BIT */
-       457, /* GL_FOG_BIT */
+       436, /* GL_FALSE */
+       645, /* GL_LINES */
+       647, /* GL_LINE_LOOP */
+       654, /* GL_LINE_STRIP */
+      1637, /* GL_TRIANGLES */
+      1640, /* GL_TRIANGLE_STRIP */
+      1638, /* GL_TRIANGLE_FAN */
+      1211, /* GL_QUADS */
+      1213, /* GL_QUAD_STRIP */
+      1099, /* GL_POLYGON */
+      1111, /* GL_POLYGON_STIPPLE_BIT */
+      1064, /* GL_PIXEL_MODE_BIT */
+       632, /* GL_LIGHTING_BIT */
+       458, /* GL_FOG_BIT */
          8, /* GL_ACCUM */
-       662, /* GL_LOAD */
-      1248, /* GL_RETURN */
-       934, /* GL_MULT */
+       664, /* GL_LOAD */
+      1253, /* GL_RETURN */
+       937, /* GL_MULT */
         23, /* GL_ADD */
-       950, /* GL_NEVER */
-       620, /* GL_LESS */
-       425, /* GL_EQUAL */
-       619, /* GL_LEQUAL */
-       545, /* GL_GREATER */
-       965, /* GL_NOTEQUAL */
-       520, /* GL_GEQUAL */
+       953, /* GL_NEVER */
+       622, /* GL_LESS */
+       426, /* GL_EQUAL */
+       621, /* GL_LEQUAL */
+       547, /* GL_GREATER */
+       968, /* GL_NOTEQUAL */
+       522, /* GL_GEQUAL */
         46, /* GL_ALWAYS */
-      1381, /* GL_SRC_COLOR */
-       994, /* GL_ONE_MINUS_SRC_COLOR */
-      1379, /* GL_SRC_ALPHA */
-       993, /* GL_ONE_MINUS_SRC_ALPHA */
-       405, /* GL_DST_ALPHA */
-       991, /* GL_ONE_MINUS_DST_ALPHA */
-       406, /* GL_DST_COLOR */
-       992, /* GL_ONE_MINUS_DST_COLOR */
-      1380, /* GL_SRC_ALPHA_SATURATE */
-       508, /* GL_FRONT_LEFT */
-       509, /* GL_FRONT_RIGHT */
+      1386, /* GL_SRC_COLOR */
+       997, /* GL_ONE_MINUS_SRC_COLOR */
+      1384, /* GL_SRC_ALPHA */
+       996, /* GL_ONE_MINUS_SRC_ALPHA */
+       406, /* GL_DST_ALPHA */
+       994, /* GL_ONE_MINUS_DST_ALPHA */
+       407, /* GL_DST_COLOR */
+       995, /* GL_ONE_MINUS_DST_COLOR */
+      1385, /* GL_SRC_ALPHA_SATURATE */
+       510, /* GL_FRONT_LEFT */
+       511, /* GL_FRONT_RIGHT */
         69, /* GL_BACK_LEFT */
         70, /* GL_BACK_RIGHT */
-       505, /* GL_FRONT */
+       507, /* GL_FRONT */
         68, /* GL_BACK */
-       618, /* GL_LEFT */
-      1288, /* GL_RIGHT */
-       506, /* GL_FRONT_AND_BACK */
+       620, /* GL_LEFT */
+      1293, /* GL_RIGHT */
+       508, /* GL_FRONT_AND_BACK */
         63, /* GL_AUX0 */
         64, /* GL_AUX1 */
         65, /* GL_AUX2 */
         66, /* GL_AUX3 */
-       610, /* GL_INVALID_ENUM */
-       613, /* GL_INVALID_VALUE */
-       612, /* GL_INVALID_OPERATION */
-      1382, /* GL_STACK_OVERFLOW */
-      1383, /* GL_STACK_UNDERFLOW */
-      1019, /* GL_OUT_OF_MEMORY */
-       611, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+       612, /* GL_INVALID_ENUM */
+       615, /* GL_INVALID_VALUE */
+       614, /* GL_INVALID_OPERATION */
+      1387, /* GL_STACK_OVERFLOW */
+      1388, /* GL_STACK_UNDERFLOW */
+      1022, /* GL_OUT_OF_MEMORY */
+       613, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
          0, /* GL_2D */
          2, /* GL_3D */
          3, /* GL_3D_COLOR */
          4, /* GL_3D_COLOR_TEXTURE */
          6, /* GL_4D_COLOR_TEXTURE */
-      1039, /* GL_PASS_THROUGH_TOKEN */
-      1095, /* GL_POINT_TOKEN */
-       653, /* GL_LINE_TOKEN */
-      1109, /* GL_POLYGON_TOKEN */
+      1042, /* GL_PASS_THROUGH_TOKEN */
+      1098, /* GL_POINT_TOKEN */
+       655, /* GL_LINE_TOKEN */
+      1112, /* GL_POLYGON_TOKEN */
         74, /* GL_BITMAP_TOKEN */
-       404, /* GL_DRAW_PIXEL_TOKEN */
-       270, /* GL_COPY_PIXEL_TOKEN */
-       646, /* GL_LINE_RESET_TOKEN */
-       428, /* GL_EXP */
-       429, /* GL_EXP2 */
-       303, /* GL_CW */
+       405, /* GL_DRAW_PIXEL_TOKEN */
+       271, /* GL_COPY_PIXEL_TOKEN */
+       648, /* GL_LINE_RESET_TOKEN */
+       429, /* GL_EXP */
+       430, /* GL_EXP2 */
+       304, /* GL_CW */
        116, /* GL_CCW */
        137, /* GL_COEFF */
-      1016, /* GL_ORDER */
-       343, /* GL_DOMAIN */
-       278, /* GL_CURRENT_COLOR */
-       281, /* GL_CURRENT_INDEX */
-       287, /* GL_CURRENT_NORMAL */
-       299, /* GL_CURRENT_TEXTURE_COORDS */
-       292, /* GL_CURRENT_RASTER_COLOR */
-       294, /* GL_CURRENT_RASTER_INDEX */
-       297, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
-       295, /* GL_CURRENT_RASTER_POSITION */
-       296, /* GL_CURRENT_RASTER_POSITION_VALID */
-       293, /* GL_CURRENT_RASTER_DISTANCE */
-      1088, /* GL_POINT_SMOOTH */
-      1077, /* GL_POINT_SIZE */
-      1087, /* GL_POINT_SIZE_RANGE */
-      1078, /* GL_POINT_SIZE_GRANULARITY */
-       647, /* GL_LINE_SMOOTH */
-       654, /* GL_LINE_WIDTH */
-       656, /* GL_LINE_WIDTH_RANGE */
-       655, /* GL_LINE_WIDTH_GRANULARITY */
-       649, /* GL_LINE_STIPPLE */
-       650, /* GL_LINE_STIPPLE_PATTERN */
-       651, /* GL_LINE_STIPPLE_REPEAT */
-       661, /* GL_LIST_MODE */
-       819, /* GL_MAX_LIST_NESTING */
-       658, /* GL_LIST_BASE */
-       660, /* GL_LIST_INDEX */
-      1098, /* GL_POLYGON_MODE */
-      1105, /* GL_POLYGON_SMOOTH */
-      1107, /* GL_POLYGON_STIPPLE */
-       413, /* GL_EDGE_FLAG */
-       271, /* GL_CULL_FACE */
-       272, /* GL_CULL_FACE_MODE */
-       507, /* GL_FRONT_FACE */
-       629, /* GL_LIGHTING */
-       634, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
-       635, /* GL_LIGHT_MODEL_TWO_SIDE */
-       631, /* GL_LIGHT_MODEL_AMBIENT */
-      1334, /* GL_SHADE_MODEL */
+      1019, /* GL_ORDER */
+       344, /* GL_DOMAIN */
+       279, /* GL_CURRENT_COLOR */
+       282, /* GL_CURRENT_INDEX */
+       288, /* GL_CURRENT_NORMAL */
+       300, /* GL_CURRENT_TEXTURE_COORDS */
+       293, /* GL_CURRENT_RASTER_COLOR */
+       295, /* GL_CURRENT_RASTER_INDEX */
+       298, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+       296, /* GL_CURRENT_RASTER_POSITION */
+       297, /* GL_CURRENT_RASTER_POSITION_VALID */
+       294, /* GL_CURRENT_RASTER_DISTANCE */
+      1091, /* GL_POINT_SMOOTH */
+      1080, /* GL_POINT_SIZE */
+      1090, /* GL_POINT_SIZE_RANGE */
+      1081, /* GL_POINT_SIZE_GRANULARITY */
+       649, /* GL_LINE_SMOOTH */
+       656, /* GL_LINE_WIDTH */
+       658, /* GL_LINE_WIDTH_RANGE */
+       657, /* GL_LINE_WIDTH_GRANULARITY */
+       651, /* GL_LINE_STIPPLE */
+       652, /* GL_LINE_STIPPLE_PATTERN */
+       653, /* GL_LINE_STIPPLE_REPEAT */
+       663, /* GL_LIST_MODE */
+       822, /* GL_MAX_LIST_NESTING */
+       660, /* GL_LIST_BASE */
+       662, /* GL_LIST_INDEX */
+      1101, /* GL_POLYGON_MODE */
+      1108, /* GL_POLYGON_SMOOTH */
+      1110, /* GL_POLYGON_STIPPLE */
+       414, /* GL_EDGE_FLAG */
+       272, /* GL_CULL_FACE */
+       273, /* GL_CULL_FACE_MODE */
+       509, /* GL_FRONT_FACE */
+       631, /* GL_LIGHTING */
+       636, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+       637, /* GL_LIGHT_MODEL_TWO_SIDE */
+       633, /* GL_LIGHT_MODEL_AMBIENT */
+      1339, /* GL_SHADE_MODEL */
        168, /* GL_COLOR_MATERIAL_FACE */
        169, /* GL_COLOR_MATERIAL_PARAMETER */
        167, /* GL_COLOR_MATERIAL */
-       456, /* GL_FOG */
-       478, /* GL_FOG_INDEX */
-       474, /* GL_FOG_DENSITY */
-       482, /* GL_FOG_START */
-       476, /* GL_FOG_END */
-       479, /* GL_FOG_MODE */
-       458, /* GL_FOG_COLOR */
-       332, /* GL_DEPTH_RANGE */
-       337, /* GL_DEPTH_TEST */
-       340, /* GL_DEPTH_WRITEMASK */
-       320, /* GL_DEPTH_CLEAR_VALUE */
-       331, /* GL_DEPTH_FUNC */
+       457, /* GL_FOG */
+       479, /* GL_FOG_INDEX */
+       475, /* GL_FOG_DENSITY */
+       483, /* GL_FOG_START */
+       477, /* GL_FOG_END */
+       480, /* GL_FOG_MODE */
+       459, /* GL_FOG_COLOR */
+       333, /* GL_DEPTH_RANGE */
+       338, /* GL_DEPTH_TEST */
+       341, /* GL_DEPTH_WRITEMASK */
+       321, /* GL_DEPTH_CLEAR_VALUE */
+       332, /* GL_DEPTH_FUNC */
         12, /* GL_ACCUM_CLEAR_VALUE */
-      1413, /* GL_STENCIL_TEST */
-      1401, /* GL_STENCIL_CLEAR_VALUE */
-      1403, /* GL_STENCIL_FUNC */
-      1415, /* GL_STENCIL_VALUE_MASK */
-      1402, /* GL_STENCIL_FAIL */
-      1410, /* GL_STENCIL_PASS_DEPTH_FAIL */
-      1411, /* GL_STENCIL_PASS_DEPTH_PASS */
-      1412, /* GL_STENCIL_REF */
-      1416, /* GL_STENCIL_WRITEMASK */
-       789, /* GL_MATRIX_MODE */
-       955, /* GL_NORMALIZE */
-      1718, /* GL_VIEWPORT */
-       929, /* GL_MODELVIEW_STACK_DEPTH */
-      1188, /* GL_PROJECTION_STACK_DEPTH */
-      1607, /* GL_TEXTURE_STACK_DEPTH */
-       927, /* GL_MODELVIEW_MATRIX */
-      1187, /* GL_PROJECTION_MATRIX */
-      1592, /* GL_TEXTURE_MATRIX */
+      1418, /* GL_STENCIL_TEST */
+      1406, /* GL_STENCIL_CLEAR_VALUE */
+      1408, /* GL_STENCIL_FUNC */
+      1420, /* GL_STENCIL_VALUE_MASK */
+      1407, /* GL_STENCIL_FAIL */
+      1415, /* GL_STENCIL_PASS_DEPTH_FAIL */
+      1416, /* GL_STENCIL_PASS_DEPTH_PASS */
+      1417, /* GL_STENCIL_REF */
+      1421, /* GL_STENCIL_WRITEMASK */
+       791, /* GL_MATRIX_MODE */
+       958, /* GL_NORMALIZE */
+      1727, /* GL_VIEWPORT */
+       932, /* GL_MODELVIEW_STACK_DEPTH */
+      1191, /* GL_PROJECTION_STACK_DEPTH */
+      1616, /* GL_TEXTURE_STACK_DEPTH */
+       930, /* GL_MODELVIEW_MATRIX */
+      1190, /* GL_PROJECTION_MATRIX */
+      1601, /* GL_TEXTURE_MATRIX */
         61, /* GL_ATTRIB_STACK_DEPTH */
        127, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
         43, /* GL_ALPHA_TEST */
         44, /* GL_ALPHA_TEST_FUNC */
         45, /* GL_ALPHA_TEST_REF */
-       342, /* GL_DITHER */
+       343, /* GL_DITHER */
         78, /* GL_BLEND_DST */
         86, /* GL_BLEND_SRC */
         75, /* GL_BLEND */
-       664, /* GL_LOGIC_OP_MODE */
-       584, /* GL_INDEX_LOGIC_OP */
+       666, /* GL_LOGIC_OP_MODE */
+       586, /* GL_INDEX_LOGIC_OP */
        166, /* GL_COLOR_LOGIC_OP */
         67, /* GL_AUX_BUFFERS */
-       353, /* GL_DRAW_BUFFER */
-      1218, /* GL_READ_BUFFER */
-      1315, /* GL_SCISSOR_BOX */
-      1316, /* GL_SCISSOR_TEST */
-       583, /* GL_INDEX_CLEAR_VALUE */
-       588, /* GL_INDEX_WRITEMASK */
+       354, /* GL_DRAW_BUFFER */
+      1223, /* GL_READ_BUFFER */
+      1320, /* GL_SCISSOR_BOX */
+      1321, /* GL_SCISSOR_TEST */
+       585, /* GL_INDEX_CLEAR_VALUE */
+       590, /* GL_INDEX_WRITEMASK */
        163, /* GL_COLOR_CLEAR_VALUE */
        205, /* GL_COLOR_WRITEMASK */
-       585, /* GL_INDEX_MODE */
-      1282, /* GL_RGBA_MODE */
-       352, /* GL_DOUBLEBUFFER */
-      1417, /* GL_STEREO */
-      1241, /* GL_RENDER_MODE */
-      1040, /* GL_PERSPECTIVE_CORRECTION_HINT */
-      1089, /* GL_POINT_SMOOTH_HINT */
-       648, /* GL_LINE_SMOOTH_HINT */
-      1106, /* GL_POLYGON_SMOOTH_HINT */
-       477, /* GL_FOG_HINT */
-      1573, /* GL_TEXTURE_GEN_S */
-      1574, /* GL_TEXTURE_GEN_T */
-      1572, /* GL_TEXTURE_GEN_R */
-      1571, /* GL_TEXTURE_GEN_Q */
-      1053, /* GL_PIXEL_MAP_I_TO_I */
-      1059, /* GL_PIXEL_MAP_S_TO_S */
-      1055, /* GL_PIXEL_MAP_I_TO_R */
-      1051, /* GL_PIXEL_MAP_I_TO_G */
-      1049, /* GL_PIXEL_MAP_I_TO_B */
-      1047, /* GL_PIXEL_MAP_I_TO_A */
-      1057, /* GL_PIXEL_MAP_R_TO_R */
-      1045, /* GL_PIXEL_MAP_G_TO_G */
-      1043, /* GL_PIXEL_MAP_B_TO_B */
-      1041, /* GL_PIXEL_MAP_A_TO_A */
-      1054, /* GL_PIXEL_MAP_I_TO_I_SIZE */
-      1060, /* GL_PIXEL_MAP_S_TO_S_SIZE */
-      1056, /* GL_PIXEL_MAP_I_TO_R_SIZE */
-      1052, /* GL_PIXEL_MAP_I_TO_G_SIZE */
-      1050, /* GL_PIXEL_MAP_I_TO_B_SIZE */
-      1048, /* GL_PIXEL_MAP_I_TO_A_SIZE */
-      1058, /* GL_PIXEL_MAP_R_TO_R_SIZE */
-      1046, /* GL_PIXEL_MAP_G_TO_G_SIZE */
-      1044, /* GL_PIXEL_MAP_B_TO_B_SIZE */
-      1042, /* GL_PIXEL_MAP_A_TO_A_SIZE */
-      1640, /* GL_UNPACK_SWAP_BYTES */
-      1635, /* GL_UNPACK_LSB_FIRST */
-      1636, /* GL_UNPACK_ROW_LENGTH */
-      1639, /* GL_UNPACK_SKIP_ROWS */
-      1638, /* GL_UNPACK_SKIP_PIXELS */
-      1633, /* GL_UNPACK_ALIGNMENT */
-      1028, /* GL_PACK_SWAP_BYTES */
-      1023, /* GL_PACK_LSB_FIRST */
-      1024, /* GL_PACK_ROW_LENGTH */
-      1027, /* GL_PACK_SKIP_ROWS */
-      1026, /* GL_PACK_SKIP_PIXELS */
-      1020, /* GL_PACK_ALIGNMENT */
-       742, /* GL_MAP_COLOR */
-       743, /* GL_MAP_STENCIL */
-       587, /* GL_INDEX_SHIFT */
-       586, /* GL_INDEX_OFFSET */
-      1230, /* GL_RED_SCALE */
-      1228, /* GL_RED_BIAS */
-      1735, /* GL_ZOOM_X */
-      1736, /* GL_ZOOM_Y */
-       549, /* GL_GREEN_SCALE */
-       547, /* GL_GREEN_BIAS */
+       587, /* GL_INDEX_MODE */
+      1287, /* GL_RGBA_MODE */
+       353, /* GL_DOUBLEBUFFER */
+      1422, /* GL_STEREO */
+      1246, /* GL_RENDER_MODE */
+      1043, /* GL_PERSPECTIVE_CORRECTION_HINT */
+      1092, /* GL_POINT_SMOOTH_HINT */
+       650, /* GL_LINE_SMOOTH_HINT */
+      1109, /* GL_POLYGON_SMOOTH_HINT */
+       478, /* GL_FOG_HINT */
+      1582, /* GL_TEXTURE_GEN_S */
+      1583, /* GL_TEXTURE_GEN_T */
+      1581, /* GL_TEXTURE_GEN_R */
+      1580, /* GL_TEXTURE_GEN_Q */
+      1056, /* GL_PIXEL_MAP_I_TO_I */
+      1062, /* GL_PIXEL_MAP_S_TO_S */
+      1058, /* GL_PIXEL_MAP_I_TO_R */
+      1054, /* GL_PIXEL_MAP_I_TO_G */
+      1052, /* GL_PIXEL_MAP_I_TO_B */
+      1050, /* GL_PIXEL_MAP_I_TO_A */
+      1060, /* GL_PIXEL_MAP_R_TO_R */
+      1048, /* GL_PIXEL_MAP_G_TO_G */
+      1046, /* GL_PIXEL_MAP_B_TO_B */
+      1044, /* GL_PIXEL_MAP_A_TO_A */
+      1057, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+      1063, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+      1059, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+      1055, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+      1053, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+      1051, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+      1061, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+      1049, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+      1047, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+      1045, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+      1649, /* GL_UNPACK_SWAP_BYTES */
+      1644, /* GL_UNPACK_LSB_FIRST */
+      1645, /* GL_UNPACK_ROW_LENGTH */
+      1648, /* GL_UNPACK_SKIP_ROWS */
+      1647, /* GL_UNPACK_SKIP_PIXELS */
+      1642, /* GL_UNPACK_ALIGNMENT */
+      1031, /* GL_PACK_SWAP_BYTES */
+      1026, /* GL_PACK_LSB_FIRST */
+      1027, /* GL_PACK_ROW_LENGTH */
+      1030, /* GL_PACK_SKIP_ROWS */
+      1029, /* GL_PACK_SKIP_PIXELS */
+      1023, /* GL_PACK_ALIGNMENT */
+       744, /* GL_MAP_COLOR */
+       745, /* GL_MAP_STENCIL */
+       589, /* GL_INDEX_SHIFT */
+       588, /* GL_INDEX_OFFSET */
+      1235, /* GL_RED_SCALE */
+      1233, /* GL_RED_BIAS */
+      1744, /* GL_ZOOM_X */
+      1745, /* GL_ZOOM_Y */
+       551, /* GL_GREEN_SCALE */
+       549, /* GL_GREEN_BIAS */
         92, /* GL_BLUE_SCALE */
         90, /* GL_BLUE_BIAS */
         42, /* GL_ALPHA_SCALE */
         40, /* GL_ALPHA_BIAS */
-       333, /* GL_DEPTH_SCALE */
-       314, /* GL_DEPTH_BIAS */
-       814, /* GL_MAX_EVAL_ORDER */
-       818, /* GL_MAX_LIGHTS */
-       797, /* GL_MAX_CLIP_PLANES */
-       862, /* GL_MAX_TEXTURE_SIZE */
-       824, /* GL_MAX_PIXEL_MAP_TABLE */
-       793, /* GL_MAX_ATTRIB_STACK_DEPTH */
-       821, /* GL_MAX_MODELVIEW_STACK_DEPTH */
-       822, /* GL_MAX_NAME_STACK_DEPTH */
-       850, /* GL_MAX_PROJECTION_STACK_DEPTH */
-       863, /* GL_MAX_TEXTURE_STACK_DEPTH */
-       877, /* GL_MAX_VIEWPORT_DIMS */
-       794, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
-      1424, /* GL_SUBPIXEL_BITS */
-       582, /* GL_INDEX_BITS */
-      1229, /* GL_RED_BITS */
-       548, /* GL_GREEN_BITS */
+       334, /* GL_DEPTH_SCALE */
+       315, /* GL_DEPTH_BIAS */
+       817, /* GL_MAX_EVAL_ORDER */
+       821, /* GL_MAX_LIGHTS */
+       800, /* GL_MAX_CLIP_PLANES */
+       865, /* GL_MAX_TEXTURE_SIZE */
+       827, /* GL_MAX_PIXEL_MAP_TABLE */
+       796, /* GL_MAX_ATTRIB_STACK_DEPTH */
+       824, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+       825, /* GL_MAX_NAME_STACK_DEPTH */
+       853, /* GL_MAX_PROJECTION_STACK_DEPTH */
+       866, /* GL_MAX_TEXTURE_STACK_DEPTH */
+       880, /* GL_MAX_VIEWPORT_DIMS */
+       797, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+      1429, /* GL_SUBPIXEL_BITS */
+       584, /* GL_INDEX_BITS */
+      1234, /* GL_RED_BITS */
+       550, /* GL_GREEN_BITS */
         91, /* GL_BLUE_BITS */
         41, /* GL_ALPHA_BITS */
-       315, /* GL_DEPTH_BITS */
-      1399, /* GL_STENCIL_BITS */
+       316, /* GL_DEPTH_BITS */
+      1404, /* GL_STENCIL_BITS */
         14, /* GL_ACCUM_RED_BITS */
         13, /* GL_ACCUM_GREEN_BITS */
         10, /* GL_ACCUM_BLUE_BITS */
          9, /* GL_ACCUM_ALPHA_BITS */
-       943, /* GL_NAME_STACK_DEPTH */
+       946, /* GL_NAME_STACK_DEPTH */
         62, /* GL_AUTO_NORMAL */
-       688, /* GL_MAP1_COLOR_4 */
-       691, /* GL_MAP1_INDEX */
-       692, /* GL_MAP1_NORMAL */
-       693, /* GL_MAP1_TEXTURE_COORD_1 */
-       694, /* GL_MAP1_TEXTURE_COORD_2 */
-       695, /* GL_MAP1_TEXTURE_COORD_3 */
-       696, /* GL_MAP1_TEXTURE_COORD_4 */
-       697, /* GL_MAP1_VERTEX_3 */
-       698, /* GL_MAP1_VERTEX_4 */
-       715, /* GL_MAP2_COLOR_4 */
-       718, /* GL_MAP2_INDEX */
-       719, /* GL_MAP2_NORMAL */
-       720, /* GL_MAP2_TEXTURE_COORD_1 */
-       721, /* GL_MAP2_TEXTURE_COORD_2 */
-       722, /* GL_MAP2_TEXTURE_COORD_3 */
-       723, /* GL_MAP2_TEXTURE_COORD_4 */
-       724, /* GL_MAP2_VERTEX_3 */
-       725, /* GL_MAP2_VERTEX_4 */
-       689, /* GL_MAP1_GRID_DOMAIN */
-       690, /* GL_MAP1_GRID_SEGMENTS */
-       716, /* GL_MAP2_GRID_DOMAIN */
-       717, /* GL_MAP2_GRID_SEGMENTS */
-      1501, /* GL_TEXTURE_1D */
-      1502, /* GL_TEXTURE_2D */
-       438, /* GL_FEEDBACK_BUFFER_POINTER */
-       439, /* GL_FEEDBACK_BUFFER_SIZE */
-       440, /* GL_FEEDBACK_BUFFER_TYPE */
-      1325, /* GL_SELECTION_BUFFER_POINTER */
-      1326, /* GL_SELECTION_BUFFER_SIZE */
-      1610, /* GL_TEXTURE_WIDTH */
-      1578, /* GL_TEXTURE_HEIGHT */
-      1534, /* GL_TEXTURE_COMPONENTS */
-      1518, /* GL_TEXTURE_BORDER_COLOR */
-      1517, /* GL_TEXTURE_BORDER */
-       344, /* GL_DONT_CARE */
-       436, /* GL_FASTEST */
-       951, /* GL_NICEST */
+       690, /* GL_MAP1_COLOR_4 */
+       693, /* GL_MAP1_INDEX */
+       694, /* GL_MAP1_NORMAL */
+       695, /* GL_MAP1_TEXTURE_COORD_1 */
+       696, /* GL_MAP1_TEXTURE_COORD_2 */
+       697, /* GL_MAP1_TEXTURE_COORD_3 */
+       698, /* GL_MAP1_TEXTURE_COORD_4 */
+       699, /* GL_MAP1_VERTEX_3 */
+       700, /* GL_MAP1_VERTEX_4 */
+       717, /* GL_MAP2_COLOR_4 */
+       720, /* GL_MAP2_INDEX */
+       721, /* GL_MAP2_NORMAL */
+       722, /* GL_MAP2_TEXTURE_COORD_1 */
+       723, /* GL_MAP2_TEXTURE_COORD_2 */
+       724, /* GL_MAP2_TEXTURE_COORD_3 */
+       725, /* GL_MAP2_TEXTURE_COORD_4 */
+       726, /* GL_MAP2_VERTEX_3 */
+       727, /* GL_MAP2_VERTEX_4 */
+       691, /* GL_MAP1_GRID_DOMAIN */
+       692, /* GL_MAP1_GRID_SEGMENTS */
+       718, /* GL_MAP2_GRID_DOMAIN */
+       719, /* GL_MAP2_GRID_SEGMENTS */
+      1506, /* GL_TEXTURE_1D */
+      1508, /* GL_TEXTURE_2D */
+       439, /* GL_FEEDBACK_BUFFER_POINTER */
+       440, /* GL_FEEDBACK_BUFFER_SIZE */
+       441, /* GL_FEEDBACK_BUFFER_TYPE */
+      1330, /* GL_SELECTION_BUFFER_POINTER */
+      1331, /* GL_SELECTION_BUFFER_SIZE */
+      1619, /* GL_TEXTURE_WIDTH */
+      1587, /* GL_TEXTURE_HEIGHT */
+      1543, /* GL_TEXTURE_COMPONENTS */
+      1527, /* GL_TEXTURE_BORDER_COLOR */
+      1526, /* GL_TEXTURE_BORDER */
+       345, /* GL_DONT_CARE */
+       437, /* GL_FASTEST */
+       954, /* GL_NICEST */
         47, /* GL_AMBIENT */
-       341, /* GL_DIFFUSE */
-      1368, /* GL_SPECULAR */
-      1110, /* GL_POSITION */
-      1371, /* GL_SPOT_DIRECTION */
-      1372, /* GL_SPOT_EXPONENT */
-      1370, /* GL_SPOT_CUTOFF */
-       244, /* GL_CONSTANT_ATTENUATION */
-       638, /* GL_LINEAR_ATTENUATION */
-      1205, /* GL_QUADRATIC_ATTENUATION */
-       218, /* GL_COMPILE */
-       219, /* GL_COMPILE_AND_EXECUTE */
+       342, /* GL_DIFFUSE */
+      1373, /* GL_SPECULAR */
+      1113, /* GL_POSITION */
+      1376, /* GL_SPOT_DIRECTION */
+      1377, /* GL_SPOT_EXPONENT */
+      1375, /* GL_SPOT_CUTOFF */
+       245, /* GL_CONSTANT_ATTENUATION */
+       640, /* GL_LINEAR_ATTENUATION */
+      1210, /* GL_QUADRATIC_ATTENUATION */
+       219, /* GL_COMPILE */
+       220, /* GL_COMPILE_AND_EXECUTE */
        111, /* GL_BYTE */
-      1641, /* GL_UNSIGNED_BYTE */
-      1339, /* GL_SHORT */
-      1650, /* GL_UNSIGNED_SHORT */
-       590, /* GL_INT */
-      1644, /* GL_UNSIGNED_INT */
-       443, /* GL_FLOAT */
+      1650, /* GL_UNSIGNED_BYTE */
+      1344, /* GL_SHORT */
+      1659, /* GL_UNSIGNED_SHORT */
+       592, /* GL_INT */
+      1653, /* GL_UNSIGNED_INT */
+       444, /* GL_FLOAT */
          1, /* GL_2_BYTES */
          5, /* GL_3_BYTES */
          7, /* GL_4_BYTES */
-       351, /* GL_DOUBLE */
+       352, /* GL_DOUBLE */
        123, /* GL_CLEAR */
         49, /* GL_AND */
         51, /* GL_AND_REVERSE */
-       268, /* GL_COPY */
+       269, /* GL_COPY */
         50, /* GL_AND_INVERTED */
-       953, /* GL_NOOP */
-      1731, /* GL_XOR */
-      1015, /* GL_OR */
-       954, /* GL_NOR */
-       426, /* GL_EQUIV */
-       616, /* GL_INVERT */
-      1018, /* GL_OR_REVERSE */
-       269, /* GL_COPY_INVERTED */
-      1017, /* GL_OR_INVERTED */
-       944, /* GL_NAND */
-      1330, /* GL_SET */
-       423, /* GL_EMISSION */
-      1338, /* GL_SHININESS */
+       956, /* GL_NOOP */
+      1740, /* GL_XOR */
+      1018, /* GL_OR */
+       957, /* GL_NOR */
+       427, /* GL_EQUIV */
+       618, /* GL_INVERT */
+      1021, /* GL_OR_REVERSE */
+       270, /* GL_COPY_INVERTED */
+      1020, /* GL_OR_INVERTED */
+       947, /* GL_NAND */
+      1335, /* GL_SET */
+       424, /* GL_EMISSION */
+      1343, /* GL_SHININESS */
         48, /* GL_AMBIENT_AND_DIFFUSE */
        165, /* GL_COLOR_INDEXES */
-       894, /* GL_MODELVIEW */
-      1186, /* GL_PROJECTION */
-      1436, /* GL_TEXTURE */
+       897, /* GL_MODELVIEW */
+      1189, /* GL_PROJECTION */
+      1441, /* GL_TEXTURE */
        138, /* GL_COLOR */
-       312, /* GL_DEPTH */
-      1390, /* GL_STENCIL */
+       313, /* GL_DEPTH */
+      1395, /* GL_STENCIL */
        164, /* GL_COLOR_INDEX */
-      1404, /* GL_STENCIL_INDEX */
-       321, /* GL_DEPTH_COMPONENT */
-      1225, /* GL_RED */
-       546, /* GL_GREEN */
+      1409, /* GL_STENCIL_INDEX */
+       322, /* GL_DEPTH_COMPONENT */
+      1230, /* GL_RED */
+       548, /* GL_GREEN */
         89, /* GL_BLUE */
         31, /* GL_ALPHA */
-      1249, /* GL_RGB */
-      1268, /* GL_RGBA */
-       666, /* GL_LUMINANCE */
-       687, /* GL_LUMINANCE_ALPHA */
+      1254, /* GL_RGB */
+      1273, /* GL_RGBA */
+       668, /* GL_LUMINANCE */
+       689, /* GL_LUMINANCE_ALPHA */
         73, /* GL_BITMAP */
-      1066, /* GL_POINT */
-       636, /* GL_LINE */
-       441, /* GL_FILL */
-      1234, /* GL_RENDER */
-       437, /* GL_FEEDBACK */
-      1324, /* GL_SELECT */
-       442, /* GL_FLAT */
-      1343, /* GL_SMOOTH */
-       617, /* GL_KEEP */
-      1243, /* GL_REPLACE */
-       573, /* GL_INCR */
-       308, /* GL_DECR */
-      1665, /* GL_VENDOR */
-      1240, /* GL_RENDERER */
-      1666, /* GL_VERSION */
-       430, /* GL_EXTENSIONS */
-      1289, /* GL_S */
-      1427, /* GL_T */
-      1215, /* GL_R */
-      1204, /* GL_Q */
-       930, /* GL_MODULATE */
-       307, /* GL_DECAL */
-      1568, /* GL_TEXTURE_ENV_MODE */
-      1567, /* GL_TEXTURE_ENV_COLOR */
-      1566, /* GL_TEXTURE_ENV */
-       431, /* GL_EYE_LINEAR */
-       977, /* GL_OBJECT_LINEAR */
-      1369, /* GL_SPHERE_MAP */
-      1570, /* GL_TEXTURE_GEN_MODE */
-       979, /* GL_OBJECT_PLANE */
-       432, /* GL_EYE_PLANE */
-       945, /* GL_NEAREST */
-       637, /* GL_LINEAR */
-       949, /* GL_NEAREST_MIPMAP_NEAREST */
-       642, /* GL_LINEAR_MIPMAP_NEAREST */
-       948, /* GL_NEAREST_MIPMAP_LINEAR */
-       641, /* GL_LINEAR_MIPMAP_LINEAR */
-      1591, /* GL_TEXTURE_MAG_FILTER */
-      1599, /* GL_TEXTURE_MIN_FILTER */
-      1612, /* GL_TEXTURE_WRAP_S */
-      1613, /* GL_TEXTURE_WRAP_T */
+      1069, /* GL_POINT */
+       638, /* GL_LINE */
+       442, /* GL_FILL */
+      1239, /* GL_RENDER */
+       438, /* GL_FEEDBACK */
+      1329, /* GL_SELECT */
+       443, /* GL_FLAT */
+      1348, /* GL_SMOOTH */
+       619, /* GL_KEEP */
+      1248, /* GL_REPLACE */
+       575, /* GL_INCR */
+       309, /* GL_DECR */
+      1674, /* GL_VENDOR */
+      1245, /* GL_RENDERER */
+      1675, /* GL_VERSION */
+       431, /* GL_EXTENSIONS */
+      1294, /* GL_S */
+      1432, /* GL_T */
+      1220, /* GL_R */
+      1209, /* GL_Q */
+       933, /* GL_MODULATE */
+       308, /* GL_DECAL */
+      1577, /* GL_TEXTURE_ENV_MODE */
+      1576, /* GL_TEXTURE_ENV_COLOR */
+      1575, /* GL_TEXTURE_ENV */
+       432, /* GL_EYE_LINEAR */
+       980, /* GL_OBJECT_LINEAR */
+      1374, /* GL_SPHERE_MAP */
+      1579, /* GL_TEXTURE_GEN_MODE */
+       982, /* GL_OBJECT_PLANE */
+       433, /* GL_EYE_PLANE */
+       948, /* GL_NEAREST */
+       639, /* GL_LINEAR */
+       952, /* GL_NEAREST_MIPMAP_NEAREST */
+       644, /* GL_LINEAR_MIPMAP_NEAREST */
+       951, /* GL_NEAREST_MIPMAP_LINEAR */
+       643, /* GL_LINEAR_MIPMAP_LINEAR */
+      1600, /* GL_TEXTURE_MAG_FILTER */
+      1608, /* GL_TEXTURE_MIN_FILTER */
+      1621, /* GL_TEXTURE_WRAP_S */
+      1622, /* GL_TEXTURE_WRAP_T */
        117, /* GL_CLAMP */
-      1242, /* GL_REPEAT */
-      1104, /* GL_POLYGON_OFFSET_UNITS */
-      1103, /* GL_POLYGON_OFFSET_POINT */
-      1102, /* GL_POLYGON_OFFSET_LINE */
-      1216, /* GL_R3_G3_B2 */
-      1662, /* GL_V2F */
-      1663, /* GL_V3F */
+      1247, /* GL_REPEAT */
+      1107, /* GL_POLYGON_OFFSET_UNITS */
+      1106, /* GL_POLYGON_OFFSET_POINT */
+      1105, /* GL_POLYGON_OFFSET_LINE */
+      1221, /* GL_R3_G3_B2 */
+      1671, /* GL_V2F */
+      1672, /* GL_V3F */
        114, /* GL_C4UB_V2F */
        115, /* GL_C4UB_V3F */
        112, /* GL_C3F_V3F */
-       942, /* GL_N3F_V3F */
+       945, /* GL_N3F_V3F */
        113, /* GL_C4F_N3F_V3F */
-      1432, /* GL_T2F_V3F */
-      1434, /* GL_T4F_V4F */
-      1430, /* GL_T2F_C4UB_V3F */
-      1428, /* GL_T2F_C3F_V3F */
-      1431, /* GL_T2F_N3F_V3F */
-      1429, /* GL_T2F_C4F_N3F_V3F */
-      1433, /* GL_T4F_C4F_N3F_V4F */
+      1437, /* GL_T2F_V3F */
+      1439, /* GL_T4F_V4F */
+      1435, /* GL_T2F_C4UB_V3F */
+      1433, /* GL_T2F_C3F_V3F */
+      1436, /* GL_T2F_N3F_V3F */
+      1434, /* GL_T2F_C4F_N3F_V3F */
+      1438, /* GL_T4F_C4F_N3F_V4F */
        130, /* GL_CLIP_PLANE0 */
        131, /* GL_CLIP_PLANE1 */
        132, /* GL_CLIP_PLANE2 */
        133, /* GL_CLIP_PLANE3 */
        134, /* GL_CLIP_PLANE4 */
        135, /* GL_CLIP_PLANE5 */
-       621, /* GL_LIGHT0 */
-       622, /* GL_LIGHT1 */
-       623, /* GL_LIGHT2 */
-       624, /* GL_LIGHT3 */
-       625, /* GL_LIGHT4 */
-       626, /* GL_LIGHT5 */
-       627, /* GL_LIGHT6 */
-       628, /* GL_LIGHT7 */
-       550, /* GL_HINT_BIT */
-       246, /* GL_CONSTANT_COLOR */
-       989, /* GL_ONE_MINUS_CONSTANT_COLOR */
-       241, /* GL_CONSTANT_ALPHA */
-       987, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+       623, /* GL_LIGHT0 */
+       624, /* GL_LIGHT1 */
+       625, /* GL_LIGHT2 */
+       626, /* GL_LIGHT3 */
+       627, /* GL_LIGHT4 */
+       628, /* GL_LIGHT5 */
+       629, /* GL_LIGHT6 */
+       630, /* GL_LIGHT7 */
+       552, /* GL_HINT_BIT */
+       247, /* GL_CONSTANT_COLOR */
+       992, /* GL_ONE_MINUS_CONSTANT_COLOR */
+       242, /* GL_CONSTANT_ALPHA */
+       990, /* GL_ONE_MINUS_CONSTANT_ALPHA */
         76, /* GL_BLEND_COLOR */
-       510, /* GL_FUNC_ADD */
-       878, /* GL_MIN */
-       791, /* GL_MAX */
+       512, /* GL_FUNC_ADD */
+       881, /* GL_MIN */
+       793, /* GL_MAX */
         81, /* GL_BLEND_EQUATION */
-       514, /* GL_FUNC_SUBTRACT */
-       512, /* GL_FUNC_REVERSE_SUBTRACT */
-       249, /* GL_CONVOLUTION_1D */
-       250, /* GL_CONVOLUTION_2D */
-      1327, /* GL_SEPARABLE_2D */
-       253, /* GL_CONVOLUTION_BORDER_MODE */
-       257, /* GL_CONVOLUTION_FILTER_SCALE */
-       255, /* GL_CONVOLUTION_FILTER_BIAS */
-      1226, /* GL_REDUCE */
-       259, /* GL_CONVOLUTION_FORMAT */
-       263, /* GL_CONVOLUTION_WIDTH */
-       261, /* GL_CONVOLUTION_HEIGHT */
-       805, /* GL_MAX_CONVOLUTION_WIDTH */
-       803, /* GL_MAX_CONVOLUTION_HEIGHT */
-      1143, /* GL_POST_CONVOLUTION_RED_SCALE */
-      1139, /* GL_POST_CONVOLUTION_GREEN_SCALE */
-      1134, /* GL_POST_CONVOLUTION_BLUE_SCALE */
-      1130, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
-      1141, /* GL_POST_CONVOLUTION_RED_BIAS */
-      1137, /* GL_POST_CONVOLUTION_GREEN_BIAS */
-      1132, /* GL_POST_CONVOLUTION_BLUE_BIAS */
-      1128, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
-       551, /* GL_HISTOGRAM */
-      1190, /* GL_PROXY_HISTOGRAM */
-       567, /* GL_HISTOGRAM_WIDTH */
-       557, /* GL_HISTOGRAM_FORMAT */
-       563, /* GL_HISTOGRAM_RED_SIZE */
-       559, /* GL_HISTOGRAM_GREEN_SIZE */
-       554, /* GL_HISTOGRAM_BLUE_SIZE */
-       552, /* GL_HISTOGRAM_ALPHA_SIZE */
-       561, /* GL_HISTOGRAM_LUMINANCE_SIZE */
-       565, /* GL_HISTOGRAM_SINK */
-       879, /* GL_MINMAX */
-       881, /* GL_MINMAX_FORMAT */
-       883, /* GL_MINMAX_SINK */
-      1435, /* GL_TABLE_TOO_LARGE_EXT */
-      1643, /* GL_UNSIGNED_BYTE_3_3_2 */
-      1652, /* GL_UNSIGNED_SHORT_4_4_4_4 */
-      1654, /* GL_UNSIGNED_SHORT_5_5_5_1 */
-      1648, /* GL_UNSIGNED_INT_8_8_8_8 */
-      1645, /* GL_UNSIGNED_INT_10_10_10_2 */
-      1101, /* GL_POLYGON_OFFSET_FILL */
-      1100, /* GL_POLYGON_OFFSET_FACTOR */
-      1099, /* GL_POLYGON_OFFSET_BIAS */
-      1246, /* GL_RESCALE_NORMAL */
+       516, /* GL_FUNC_SUBTRACT */
+       514, /* GL_FUNC_REVERSE_SUBTRACT */
+       250, /* GL_CONVOLUTION_1D */
+       251, /* GL_CONVOLUTION_2D */
+      1332, /* GL_SEPARABLE_2D */
+       254, /* GL_CONVOLUTION_BORDER_MODE */
+       258, /* GL_CONVOLUTION_FILTER_SCALE */
+       256, /* GL_CONVOLUTION_FILTER_BIAS */
+      1231, /* GL_REDUCE */
+       260, /* GL_CONVOLUTION_FORMAT */
+       264, /* GL_CONVOLUTION_WIDTH */
+       262, /* GL_CONVOLUTION_HEIGHT */
+       808, /* GL_MAX_CONVOLUTION_WIDTH */
+       806, /* GL_MAX_CONVOLUTION_HEIGHT */
+      1146, /* GL_POST_CONVOLUTION_RED_SCALE */
+      1142, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+      1137, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+      1133, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+      1144, /* GL_POST_CONVOLUTION_RED_BIAS */
+      1140, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+      1135, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+      1131, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+       553, /* GL_HISTOGRAM */
+      1193, /* GL_PROXY_HISTOGRAM */
+       569, /* GL_HISTOGRAM_WIDTH */
+       559, /* GL_HISTOGRAM_FORMAT */
+       565, /* GL_HISTOGRAM_RED_SIZE */
+       561, /* GL_HISTOGRAM_GREEN_SIZE */
+       556, /* GL_HISTOGRAM_BLUE_SIZE */
+       554, /* GL_HISTOGRAM_ALPHA_SIZE */
+       563, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+       567, /* GL_HISTOGRAM_SINK */
+       882, /* GL_MINMAX */
+       884, /* GL_MINMAX_FORMAT */
+       886, /* GL_MINMAX_SINK */
+      1440, /* GL_TABLE_TOO_LARGE_EXT */
+      1652, /* GL_UNSIGNED_BYTE_3_3_2 */
+      1661, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+      1663, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+      1657, /* GL_UNSIGNED_INT_8_8_8_8 */
+      1654, /* GL_UNSIGNED_INT_10_10_10_2 */
+      1104, /* GL_POLYGON_OFFSET_FILL */
+      1103, /* GL_POLYGON_OFFSET_FACTOR */
+      1102, /* GL_POLYGON_OFFSET_BIAS */
+      1251, /* GL_RESCALE_NORMAL */
         36, /* GL_ALPHA4 */
         38, /* GL_ALPHA8 */
         32, /* GL_ALPHA12 */
         34, /* GL_ALPHA16 */
-       677, /* GL_LUMINANCE4 */
-       683, /* GL_LUMINANCE8 */
-       667, /* GL_LUMINANCE12 */
-       673, /* GL_LUMINANCE16 */
-       678, /* GL_LUMINANCE4_ALPHA4 */
-       681, /* GL_LUMINANCE6_ALPHA2 */
-       684, /* GL_LUMINANCE8_ALPHA8 */
-       670, /* GL_LUMINANCE12_ALPHA4 */
-       668, /* GL_LUMINANCE12_ALPHA12 */
-       674, /* GL_LUMINANCE16_ALPHA16 */
-       591, /* GL_INTENSITY */
-       596, /* GL_INTENSITY4 */
-       598, /* GL_INTENSITY8 */
-       592, /* GL_INTENSITY12 */
-       594, /* GL_INTENSITY16 */
-      1258, /* GL_RGB2_EXT */
-      1259, /* GL_RGB4 */
-      1262, /* GL_RGB5 */
-      1266, /* GL_RGB8 */
-      1250, /* GL_RGB10 */
-      1254, /* GL_RGB12 */
-      1256, /* GL_RGB16 */
-      1273, /* GL_RGBA2 */
-      1275, /* GL_RGBA4 */
-      1263, /* GL_RGB5_A1 */
-      1279, /* GL_RGBA8 */
-      1251, /* GL_RGB10_A2 */
-      1269, /* GL_RGBA12 */
-      1271, /* GL_RGBA16 */
-      1604, /* GL_TEXTURE_RED_SIZE */
-      1576, /* GL_TEXTURE_GREEN_SIZE */
-      1515, /* GL_TEXTURE_BLUE_SIZE */
-      1504, /* GL_TEXTURE_ALPHA_SIZE */
-      1589, /* GL_TEXTURE_LUMINANCE_SIZE */
-      1580, /* GL_TEXTURE_INTENSITY_SIZE */
-      1244, /* GL_REPLACE_EXT */
-      1194, /* GL_PROXY_TEXTURE_1D */
-      1196, /* GL_PROXY_TEXTURE_2D */
-      1608, /* GL_TEXTURE_TOO_LARGE_EXT */
-      1601, /* GL_TEXTURE_PRIORITY */
-      1606, /* GL_TEXTURE_RESIDENT */
-      1507, /* GL_TEXTURE_BINDING_1D */
-      1508, /* GL_TEXTURE_BINDING_2D */
-      1509, /* GL_TEXTURE_BINDING_3D */
-      1025, /* GL_PACK_SKIP_IMAGES */
-      1021, /* GL_PACK_IMAGE_HEIGHT */
-      1637, /* GL_UNPACK_SKIP_IMAGES */
-      1634, /* GL_UNPACK_IMAGE_HEIGHT */
-      1503, /* GL_TEXTURE_3D */
-      1198, /* GL_PROXY_TEXTURE_3D */
-      1563, /* GL_TEXTURE_DEPTH */
-      1611, /* GL_TEXTURE_WRAP_R */
-       792, /* GL_MAX_3D_TEXTURE_SIZE */
-      1667, /* GL_VERTEX_ARRAY */
-       956, /* GL_NORMAL_ARRAY */
+       679, /* GL_LUMINANCE4 */
+       685, /* GL_LUMINANCE8 */
+       669, /* GL_LUMINANCE12 */
+       675, /* GL_LUMINANCE16 */
+       680, /* GL_LUMINANCE4_ALPHA4 */
+       683, /* GL_LUMINANCE6_ALPHA2 */
+       686, /* GL_LUMINANCE8_ALPHA8 */
+       672, /* GL_LUMINANCE12_ALPHA4 */
+       670, /* GL_LUMINANCE12_ALPHA12 */
+       676, /* GL_LUMINANCE16_ALPHA16 */
+       593, /* GL_INTENSITY */
+       598, /* GL_INTENSITY4 */
+       600, /* GL_INTENSITY8 */
+       594, /* GL_INTENSITY12 */
+       596, /* GL_INTENSITY16 */
+      1263, /* GL_RGB2_EXT */
+      1264, /* GL_RGB4 */
+      1267, /* GL_RGB5 */
+      1271, /* GL_RGB8 */
+      1255, /* GL_RGB10 */
+      1259, /* GL_RGB12 */
+      1261, /* GL_RGB16 */
+      1278, /* GL_RGBA2 */
+      1280, /* GL_RGBA4 */
+      1268, /* GL_RGB5_A1 */
+      1284, /* GL_RGBA8 */
+      1256, /* GL_RGB10_A2 */
+      1274, /* GL_RGBA12 */
+      1276, /* GL_RGBA16 */
+      1613, /* GL_TEXTURE_RED_SIZE */
+      1585, /* GL_TEXTURE_GREEN_SIZE */
+      1524, /* GL_TEXTURE_BLUE_SIZE */
+      1511, /* GL_TEXTURE_ALPHA_SIZE */
+      1598, /* GL_TEXTURE_LUMINANCE_SIZE */
+      1589, /* GL_TEXTURE_INTENSITY_SIZE */
+      1249, /* GL_REPLACE_EXT */
+      1197, /* GL_PROXY_TEXTURE_1D */
+      1200, /* GL_PROXY_TEXTURE_2D */
+      1617, /* GL_TEXTURE_TOO_LARGE_EXT */
+      1610, /* GL_TEXTURE_PRIORITY */
+      1615, /* GL_TEXTURE_RESIDENT */
+      1514, /* GL_TEXTURE_BINDING_1D */
+      1516, /* GL_TEXTURE_BINDING_2D */
+      1518, /* GL_TEXTURE_BINDING_3D */
+      1028, /* GL_PACK_SKIP_IMAGES */
+      1024, /* GL_PACK_IMAGE_HEIGHT */
+      1646, /* GL_UNPACK_SKIP_IMAGES */
+      1643, /* GL_UNPACK_IMAGE_HEIGHT */
+      1510, /* GL_TEXTURE_3D */
+      1203, /* GL_PROXY_TEXTURE_3D */
+      1572, /* GL_TEXTURE_DEPTH */
+      1620, /* GL_TEXTURE_WRAP_R */
+       794, /* GL_MAX_3D_TEXTURE_SIZE */
+      1676, /* GL_VERTEX_ARRAY */
+       959, /* GL_NORMAL_ARRAY */
        139, /* GL_COLOR_ARRAY */
-       576, /* GL_INDEX_ARRAY */
-      1542, /* GL_TEXTURE_COORD_ARRAY */
-       414, /* GL_EDGE_FLAG_ARRAY */
-      1672, /* GL_VERTEX_ARRAY_SIZE */
-      1674, /* GL_VERTEX_ARRAY_TYPE */
-      1673, /* GL_VERTEX_ARRAY_STRIDE */
-       961, /* GL_NORMAL_ARRAY_TYPE */
-       960, /* GL_NORMAL_ARRAY_STRIDE */
+       578, /* GL_INDEX_ARRAY */
+      1551, /* GL_TEXTURE_COORD_ARRAY */
+       415, /* GL_EDGE_FLAG_ARRAY */
+      1681, /* GL_VERTEX_ARRAY_SIZE */
+      1683, /* GL_VERTEX_ARRAY_TYPE */
+      1682, /* GL_VERTEX_ARRAY_STRIDE */
+       964, /* GL_NORMAL_ARRAY_TYPE */
+       963, /* GL_NORMAL_ARRAY_STRIDE */
        143, /* GL_COLOR_ARRAY_SIZE */
        145, /* GL_COLOR_ARRAY_TYPE */
        144, /* GL_COLOR_ARRAY_STRIDE */
-       581, /* GL_INDEX_ARRAY_TYPE */
-       580, /* GL_INDEX_ARRAY_STRIDE */
-      1546, /* GL_TEXTURE_COORD_ARRAY_SIZE */
-      1548, /* GL_TEXTURE_COORD_ARRAY_TYPE */
-      1547, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
-       418, /* GL_EDGE_FLAG_ARRAY_STRIDE */
-      1671, /* GL_VERTEX_ARRAY_POINTER */
-       959, /* GL_NORMAL_ARRAY_POINTER */
+       583, /* GL_INDEX_ARRAY_TYPE */
+       582, /* GL_INDEX_ARRAY_STRIDE */
+      1555, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+      1557, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+      1556, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+       419, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+      1680, /* GL_VERTEX_ARRAY_POINTER */
+       962, /* GL_NORMAL_ARRAY_POINTER */
        142, /* GL_COLOR_ARRAY_POINTER */
-       579, /* GL_INDEX_ARRAY_POINTER */
-      1545, /* GL_TEXTURE_COORD_ARRAY_POINTER */
-       417, /* GL_EDGE_FLAG_ARRAY_POINTER */
-       935, /* GL_MULTISAMPLE */
-      1301, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
-      1303, /* GL_SAMPLE_ALPHA_TO_ONE */
-      1308, /* GL_SAMPLE_COVERAGE */
-      1305, /* GL_SAMPLE_BUFFERS */
-      1296, /* GL_SAMPLES */
-      1312, /* GL_SAMPLE_COVERAGE_VALUE */
-      1310, /* GL_SAMPLE_COVERAGE_INVERT */
+       581, /* GL_INDEX_ARRAY_POINTER */
+      1554, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+       418, /* GL_EDGE_FLAG_ARRAY_POINTER */
+       938, /* GL_MULTISAMPLE */
+      1306, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+      1308, /* GL_SAMPLE_ALPHA_TO_ONE */
+      1313, /* GL_SAMPLE_COVERAGE */
+      1310, /* GL_SAMPLE_BUFFERS */
+      1301, /* GL_SAMPLES */
+      1317, /* GL_SAMPLE_COVERAGE_VALUE */
+      1315, /* GL_SAMPLE_COVERAGE_INVERT */
        170, /* GL_COLOR_MATRIX */
        172, /* GL_COLOR_MATRIX_STACK_DEPTH */
-       799, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
-      1126, /* GL_POST_COLOR_MATRIX_RED_SCALE */
-      1122, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
-      1117, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
-      1113, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
-      1124, /* GL_POST_COLOR_MATRIX_RED_BIAS */
-      1120, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
-      1115, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
-      1111, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
-      1525, /* GL_TEXTURE_COLOR_TABLE_SGI */
-      1199, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
-      1527, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+       802, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+      1129, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+      1125, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+      1120, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+      1116, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+      1127, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+      1123, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+      1118, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+      1114, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+      1534, /* GL_TEXTURE_COLOR_TABLE_SGI */
+      1204, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+      1536, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
         80, /* GL_BLEND_DST_RGB */
         88, /* GL_BLEND_SRC_RGB */
         79, /* GL_BLEND_DST_ALPHA */
         87, /* GL_BLEND_SRC_ALPHA */
        176, /* GL_COLOR_TABLE */
-      1136, /* GL_POST_CONVOLUTION_COLOR_TABLE */
-      1119, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
-      1189, /* GL_PROXY_COLOR_TABLE */
-      1193, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
-      1192, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+      1139, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+      1122, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+      1192, /* GL_PROXY_COLOR_TABLE */
+      1196, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+      1195, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
        200, /* GL_COLOR_TABLE_SCALE */
        180, /* GL_COLOR_TABLE_BIAS */
        185, /* GL_COLOR_TABLE_FORMAT */
@@ -4128,636 +4146,643 @@ static const unsigned reduced_enums[1277] =
        191, /* GL_COLOR_TABLE_INTENSITY_SIZE */
         71, /* GL_BGR */
         72, /* GL_BGRA */
-       813, /* GL_MAX_ELEMENTS_VERTICES */
-       812, /* GL_MAX_ELEMENTS_INDICES */
-      1579, /* GL_TEXTURE_INDEX_SIZE_EXT */
+       816, /* GL_MAX_ELEMENTS_VERTICES */
+       815, /* GL_MAX_ELEMENTS_INDICES */
+      1588, /* GL_TEXTURE_INDEX_SIZE_EXT */
        136, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
-      1083, /* GL_POINT_SIZE_MIN */
-      1079, /* GL_POINT_SIZE_MAX */
-      1073, /* GL_POINT_FADE_THRESHOLD_SIZE */
-      1069, /* GL_POINT_DISTANCE_ATTENUATION */
+      1086, /* GL_POINT_SIZE_MIN */
+      1082, /* GL_POINT_SIZE_MAX */
+      1076, /* GL_POINT_FADE_THRESHOLD_SIZE */
+      1072, /* GL_POINT_DISTANCE_ATTENUATION */
        118, /* GL_CLAMP_TO_BORDER */
        121, /* GL_CLAMP_TO_EDGE */
-      1600, /* GL_TEXTURE_MIN_LOD */
-      1598, /* GL_TEXTURE_MAX_LOD */
-      1506, /* GL_TEXTURE_BASE_LEVEL */
-      1597, /* GL_TEXTURE_MAX_LEVEL */
-       570, /* GL_IGNORE_BORDER_HP */
-       245, /* GL_CONSTANT_BORDER_HP */
-      1245, /* GL_REPLICATE_BORDER_HP */
-       251, /* GL_CONVOLUTION_BORDER_COLOR */
-       984, /* GL_OCCLUSION_TEST_HP */
-       985, /* GL_OCCLUSION_TEST_RESULT_HP */
-       639, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
-      1519, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
-      1521, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
-      1523, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
-      1524, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
-      1522, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
-      1520, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
-       795, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
-       796, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
-      1146, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
-      1148, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
-      1145, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
-      1147, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
-      1587, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
-      1588, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
-      1586, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
-       516, /* GL_GENERATE_MIPMAP */
-       517, /* GL_GENERATE_MIPMAP_HINT */
-       480, /* GL_FOG_OFFSET_SGIX */
-       481, /* GL_FOG_OFFSET_VALUE_SGIX */
-      1533, /* GL_TEXTURE_COMPARE_SGIX */
-      1532, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
-      1583, /* GL_TEXTURE_LEQUAL_R_SGIX */
-      1575, /* GL_TEXTURE_GEQUAL_R_SGIX */
-       322, /* GL_DEPTH_COMPONENT16 */
-       325, /* GL_DEPTH_COMPONENT24 */
-       328, /* GL_DEPTH_COMPONENT32 */
-       273, /* GL_CULL_VERTEX_EXT */
-       275, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
-       274, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
-      1728, /* GL_WRAP_BORDER_SUN */
-      1526, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
-       632, /* GL_LIGHT_MODEL_COLOR_CONTROL */
-      1340, /* GL_SINGLE_COLOR */
-      1328, /* GL_SEPARATE_SPECULAR_COLOR */
-      1337, /* GL_SHARED_TEXTURE_PALETTE_EXT */
-      1642, /* GL_UNSIGNED_BYTE_2_3_3_REV */
-      1655, /* GL_UNSIGNED_SHORT_5_6_5 */
-      1656, /* GL_UNSIGNED_SHORT_5_6_5_REV */
-      1653, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
-      1651, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
-      1649, /* GL_UNSIGNED_INT_8_8_8_8_REV */
-      1647, /* GL_UNSIGNED_INT_2_10_10_10_REV */
-      1595, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
-      1596, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
-      1594, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
-       886, /* GL_MIRRORED_REPEAT */
-      1284, /* GL_RGB_S3TC */
-      1261, /* GL_RGB4_S3TC */
-      1283, /* GL_RGBA_S3TC */
-      1278, /* GL_RGBA4_S3TC */
-      1281, /* GL_RGBA_DXT5_S3TC */
-      1276, /* GL_RGBA4_DXT5_S3TC */
-       238, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
-       233, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
-       234, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
-       235, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
-       947, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
-       946, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
-       640, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
-       467, /* GL_FOG_COORDINATE_SOURCE */
-       459, /* GL_FOG_COORD */
-       483, /* GL_FRAGMENT_DEPTH */
-       279, /* GL_CURRENT_FOG_COORD */
-       466, /* GL_FOG_COORDINATE_ARRAY_TYPE */
-       465, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
-       464, /* GL_FOG_COORDINATE_ARRAY_POINTER */
-       461, /* GL_FOG_COORDINATE_ARRAY */
+      1609, /* GL_TEXTURE_MIN_LOD */
+      1607, /* GL_TEXTURE_MAX_LOD */
+      1513, /* GL_TEXTURE_BASE_LEVEL */
+      1606, /* GL_TEXTURE_MAX_LEVEL */
+       572, /* GL_IGNORE_BORDER_HP */
+       246, /* GL_CONSTANT_BORDER_HP */
+      1250, /* GL_REPLICATE_BORDER_HP */
+       252, /* GL_CONVOLUTION_BORDER_COLOR */
+       987, /* GL_OCCLUSION_TEST_HP */
+       988, /* GL_OCCLUSION_TEST_RESULT_HP */
+       641, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+      1528, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+      1530, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+      1532, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+      1533, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+      1531, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+      1529, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+       798, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+       799, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+      1149, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+      1151, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+      1148, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+      1150, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+      1596, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+      1597, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+      1595, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+       518, /* GL_GENERATE_MIPMAP */
+       519, /* GL_GENERATE_MIPMAP_HINT */
+       481, /* GL_FOG_OFFSET_SGIX */
+       482, /* GL_FOG_OFFSET_VALUE_SGIX */
+      1542, /* GL_TEXTURE_COMPARE_SGIX */
+      1541, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+      1592, /* GL_TEXTURE_LEQUAL_R_SGIX */
+      1584, /* GL_TEXTURE_GEQUAL_R_SGIX */
+       323, /* GL_DEPTH_COMPONENT16 */
+       326, /* GL_DEPTH_COMPONENT24 */
+       329, /* GL_DEPTH_COMPONENT32 */
+       274, /* GL_CULL_VERTEX_EXT */
+       276, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+       275, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+      1737, /* GL_WRAP_BORDER_SUN */
+      1535, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+       634, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+      1345, /* GL_SINGLE_COLOR */
+      1333, /* GL_SEPARATE_SPECULAR_COLOR */
+      1342, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+      1651, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+      1664, /* GL_UNSIGNED_SHORT_5_6_5 */
+      1665, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+      1662, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+      1660, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+      1658, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+      1656, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+      1604, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+      1605, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+      1603, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+       889, /* GL_MIRRORED_REPEAT */
+      1289, /* GL_RGB_S3TC */
+      1266, /* GL_RGB4_S3TC */
+      1288, /* GL_RGBA_S3TC */
+      1283, /* GL_RGBA4_S3TC */
+      1286, /* GL_RGBA_DXT5_S3TC */
+      1281, /* GL_RGBA4_DXT5_S3TC */
+       239, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+       234, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+       235, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+       236, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+       950, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+       949, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+       642, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+       468, /* GL_FOG_COORDINATE_SOURCE */
+       460, /* GL_FOG_COORD */
+       484, /* GL_FRAGMENT_DEPTH */
+       280, /* GL_CURRENT_FOG_COORD */
+       467, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+       466, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+       465, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+       462, /* GL_FOG_COORDINATE_ARRAY */
        174, /* GL_COLOR_SUM */
-       298, /* GL_CURRENT_SECONDARY_COLOR */
-      1321, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
-      1323, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
-      1322, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
-      1320, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
-      1317, /* GL_SECONDARY_COLOR_ARRAY */
-       526, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
+       299, /* GL_CURRENT_SECONDARY_COLOR */
+      1326, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+      1328, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+      1327, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+      1325, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+      1322, /* GL_SECONDARY_COLOR_ARRAY */
+       528, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
         28, /* GL_ALIASED_POINT_SIZE_RANGE */
         27, /* GL_ALIASED_LINE_WIDTH_RANGE */
-      1437, /* GL_TEXTURE0 */
-      1439, /* GL_TEXTURE1 */
-      1461, /* GL_TEXTURE2 */
-      1483, /* GL_TEXTURE3 */
-      1489, /* GL_TEXTURE4 */
-      1491, /* GL_TEXTURE5 */
-      1493, /* GL_TEXTURE6 */
-      1495, /* GL_TEXTURE7 */
-      1497, /* GL_TEXTURE8 */
-      1499, /* GL_TEXTURE9 */
-      1440, /* GL_TEXTURE10 */
-      1442, /* GL_TEXTURE11 */
-      1444, /* GL_TEXTURE12 */
-      1446, /* GL_TEXTURE13 */
-      1448, /* GL_TEXTURE14 */
-      1450, /* GL_TEXTURE15 */
-      1452, /* GL_TEXTURE16 */
-      1454, /* GL_TEXTURE17 */
-      1456, /* GL_TEXTURE18 */
-      1458, /* GL_TEXTURE19 */
-      1462, /* GL_TEXTURE20 */
-      1464, /* GL_TEXTURE21 */
-      1466, /* GL_TEXTURE22 */
-      1468, /* GL_TEXTURE23 */
-      1470, /* GL_TEXTURE24 */
-      1472, /* GL_TEXTURE25 */
-      1474, /* GL_TEXTURE26 */
-      1476, /* GL_TEXTURE27 */
-      1478, /* GL_TEXTURE28 */
-      1480, /* GL_TEXTURE29 */
-      1484, /* GL_TEXTURE30 */
-      1486, /* GL_TEXTURE31 */
+      1442, /* GL_TEXTURE0 */
+      1444, /* GL_TEXTURE1 */
+      1466, /* GL_TEXTURE2 */
+      1488, /* GL_TEXTURE3 */
+      1494, /* GL_TEXTURE4 */
+      1496, /* GL_TEXTURE5 */
+      1498, /* GL_TEXTURE6 */
+      1500, /* GL_TEXTURE7 */
+      1502, /* GL_TEXTURE8 */
+      1504, /* GL_TEXTURE9 */
+      1445, /* GL_TEXTURE10 */
+      1447, /* GL_TEXTURE11 */
+      1449, /* GL_TEXTURE12 */
+      1451, /* GL_TEXTURE13 */
+      1453, /* GL_TEXTURE14 */
+      1455, /* GL_TEXTURE15 */
+      1457, /* GL_TEXTURE16 */
+      1459, /* GL_TEXTURE17 */
+      1461, /* GL_TEXTURE18 */
+      1463, /* GL_TEXTURE19 */
+      1467, /* GL_TEXTURE20 */
+      1469, /* GL_TEXTURE21 */
+      1471, /* GL_TEXTURE22 */
+      1473, /* GL_TEXTURE23 */
+      1475, /* GL_TEXTURE24 */
+      1477, /* GL_TEXTURE25 */
+      1479, /* GL_TEXTURE26 */
+      1481, /* GL_TEXTURE27 */
+      1483, /* GL_TEXTURE28 */
+      1485, /* GL_TEXTURE29 */
+      1489, /* GL_TEXTURE30 */
+      1491, /* GL_TEXTURE31 */
         18, /* GL_ACTIVE_TEXTURE */
        124, /* GL_CLIENT_ACTIVE_TEXTURE */
-       864, /* GL_MAX_TEXTURE_UNITS */
-      1621, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
-      1624, /* GL_TRANSPOSE_PROJECTION_MATRIX */
-      1626, /* GL_TRANSPOSE_TEXTURE_MATRIX */
-      1618, /* GL_TRANSPOSE_COLOR_MATRIX */
-      1425, /* GL_SUBTRACT */
-       853, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
-       221, /* GL_COMPRESSED_ALPHA */
-       225, /* GL_COMPRESSED_LUMINANCE */
-       226, /* GL_COMPRESSED_LUMINANCE_ALPHA */
-       223, /* GL_COMPRESSED_INTENSITY */
-       229, /* GL_COMPRESSED_RGB */
-       230, /* GL_COMPRESSED_RGBA */
-      1540, /* GL_TEXTURE_COMPRESSION_HINT */
-      1602, /* GL_TEXTURE_RECTANGLE_ARB */
-      1512, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
-      1202, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
-       851, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
-       334, /* GL_DEPTH_STENCIL_NV */
-      1646, /* GL_UNSIGNED_INT_24_8_NV */
-       860, /* GL_MAX_TEXTURE_LOD_BIAS */
-      1593, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
-       861, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
-      1569, /* GL_TEXTURE_FILTER_CONTROL */
-      1584, /* GL_TEXTURE_LOD_BIAS */
+       867, /* GL_MAX_TEXTURE_UNITS */
+      1630, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+      1633, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+      1635, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+      1627, /* GL_TRANSPOSE_COLOR_MATRIX */
+      1430, /* GL_SUBTRACT */
+       856, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+       222, /* GL_COMPRESSED_ALPHA */
+       226, /* GL_COMPRESSED_LUMINANCE */
+       227, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+       224, /* GL_COMPRESSED_INTENSITY */
+       230, /* GL_COMPRESSED_RGB */
+       231, /* GL_COMPRESSED_RGBA */
+      1549, /* GL_TEXTURE_COMPRESSION_HINT */
+      1611, /* GL_TEXTURE_RECTANGLE_ARB */
+      1521, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+      1207, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+       854, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+       335, /* GL_DEPTH_STENCIL_NV */
+      1655, /* GL_UNSIGNED_INT_24_8_NV */
+       863, /* GL_MAX_TEXTURE_LOD_BIAS */
+      1602, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+       864, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+      1578, /* GL_TEXTURE_FILTER_CONTROL */
+      1593, /* GL_TEXTURE_LOD_BIAS */
        207, /* GL_COMBINE4 */
-       854, /* GL_MAX_SHININESS_NV */
-       855, /* GL_MAX_SPOT_EXPONENT_NV */
-       574, /* GL_INCR_WRAP */
-       309, /* GL_DECR_WRAP */
-       906, /* GL_MODELVIEW1_ARB */
-       962, /* GL_NORMAL_MAP */
-      1231, /* GL_REFLECTION_MAP */
-      1549, /* GL_TEXTURE_CUBE_MAP */
-      1510, /* GL_TEXTURE_BINDING_CUBE_MAP */
-      1557, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
-      1551, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
-      1559, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
-      1553, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
-      1561, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
-      1555, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
-      1200, /* GL_PROXY_TEXTURE_CUBE_MAP */
-       807, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
-       941, /* GL_MULTISAMPLE_FILTER_HINT_NV */
-       475, /* GL_FOG_DISTANCE_MODE_NV */
-       434, /* GL_EYE_RADIAL_NV */
-       433, /* GL_EYE_PLANE_ABSOLUTE_NV */
+       857, /* GL_MAX_SHININESS_NV */
+       858, /* GL_MAX_SPOT_EXPONENT_NV */
+       576, /* GL_INCR_WRAP */
+       310, /* GL_DECR_WRAP */
+       909, /* GL_MODELVIEW1_ARB */
+       965, /* GL_NORMAL_MAP */
+      1236, /* GL_REFLECTION_MAP */
+      1558, /* GL_TEXTURE_CUBE_MAP */
+      1519, /* GL_TEXTURE_BINDING_CUBE_MAP */
+      1566, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+      1560, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+      1568, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+      1562, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+      1570, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+      1564, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+      1205, /* GL_PROXY_TEXTURE_CUBE_MAP */
+       810, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+       944, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+       476, /* GL_FOG_DISTANCE_MODE_NV */
+       435, /* GL_EYE_RADIAL_NV */
+       434, /* GL_EYE_PLANE_ABSOLUTE_NV */
        206, /* GL_COMBINE */
        213, /* GL_COMBINE_RGB */
        208, /* GL_COMBINE_ALPHA */
-      1285, /* GL_RGB_SCALE */
+      1290, /* GL_RGB_SCALE */
         24, /* GL_ADD_SIGNED */
-       601, /* GL_INTERPOLATE */
-       240, /* GL_CONSTANT */
-      1152, /* GL_PRIMARY_COLOR */
-      1149, /* GL_PREVIOUS */
-      1351, /* GL_SOURCE0_RGB */
-      1357, /* GL_SOURCE1_RGB */
-      1363, /* GL_SOURCE2_RGB */
-      1367, /* GL_SOURCE3_RGB_NV */
-      1348, /* GL_SOURCE0_ALPHA */
-      1354, /* GL_SOURCE1_ALPHA */
-      1360, /* GL_SOURCE2_ALPHA */
-      1366, /* GL_SOURCE3_ALPHA_NV */
-       998, /* GL_OPERAND0_RGB */
-      1004, /* GL_OPERAND1_RGB */
-      1010, /* GL_OPERAND2_RGB */
-      1014, /* GL_OPERAND3_RGB_NV */
-       995, /* GL_OPERAND0_ALPHA */
-      1001, /* GL_OPERAND1_ALPHA */
-      1007, /* GL_OPERAND2_ALPHA */
-      1013, /* GL_OPERAND3_ALPHA_NV */
-      1668, /* GL_VERTEX_ARRAY_BINDING_APPLE */
-      1732, /* GL_YCBCR_422_APPLE */
-      1657, /* GL_UNSIGNED_SHORT_8_8_APPLE */
-      1659, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
-      1342, /* GL_SLICE_ACCUM_SUN */
-      1207, /* GL_QUAD_MESH_SUN */
-      1630, /* GL_TRIANGLE_MESH_SUN */
-      1706, /* GL_VERTEX_PROGRAM_ARB */
-      1717, /* GL_VERTEX_STATE_PROGRAM_NV */
-      1693, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
-      1699, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
-      1701, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
-      1703, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
-       300, /* GL_CURRENT_VERTEX_ATTRIB */
-      1165, /* GL_PROGRAM_LENGTH_ARB */
-      1179, /* GL_PROGRAM_STRING_ARB */
-       928, /* GL_MODELVIEW_PROJECTION_NV */
-       569, /* GL_IDENTITY_NV */
-       614, /* GL_INVERSE_NV */
-      1623, /* GL_TRANSPOSE_NV */
-       615, /* GL_INVERSE_TRANSPOSE_NV */
-       837, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
-       836, /* GL_MAX_PROGRAM_MATRICES_ARB */
-       745, /* GL_MATRIX0_NV */
-       757, /* GL_MATRIX1_NV */
-       769, /* GL_MATRIX2_NV */
-       773, /* GL_MATRIX3_NV */
-       775, /* GL_MATRIX4_NV */
-       777, /* GL_MATRIX5_NV */
-       779, /* GL_MATRIX6_NV */
-       781, /* GL_MATRIX7_NV */
-       285, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
-       282, /* GL_CURRENT_MATRIX_ARB */
-      1709, /* GL_VERTEX_PROGRAM_POINT_SIZE */
-      1712, /* GL_VERTEX_PROGRAM_TWO_SIDE */
-      1177, /* GL_PROGRAM_PARAMETER_NV */
-      1697, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
-      1181, /* GL_PROGRAM_TARGET_NV */
-      1178, /* GL_PROGRAM_RESIDENT_NV */
-      1615, /* GL_TRACK_MATRIX_NV */
-      1616, /* GL_TRACK_MATRIX_TRANSFORM_NV */
-      1707, /* GL_VERTEX_PROGRAM_BINDING_NV */
-      1159, /* GL_PROGRAM_ERROR_POSITION_ARB */
-       319, /* GL_DEPTH_CLAMP_NV */
-      1675, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
-      1682, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
-      1683, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
-      1684, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
-      1685, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
-      1686, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
-      1687, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
-      1688, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
-      1689, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
-      1690, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
-      1676, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
-      1677, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
-      1678, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
-      1679, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
-      1680, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
-      1681, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
-       699, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
-       706, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
-       707, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
-       708, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
-       709, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
-       710, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
-       711, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
-       712, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
-       713, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
-       714, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
-       700, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
-       701, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
-       702, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
-       703, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
-       704, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
-       705, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
-       726, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
-       733, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
-       734, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
-       735, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
-       736, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
-       737, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
-       738, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
-      1158, /* GL_PROGRAM_BINDING_ARB */
-       740, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
-       741, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
-       727, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
-       728, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
-       729, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
-       730, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
-       731, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
-       732, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
-      1538, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
-      1535, /* GL_TEXTURE_COMPRESSED */
-       967, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
-       239, /* GL_COMPRESSED_TEXTURE_FORMATS */
-       876, /* GL_MAX_VERTEX_UNITS_ARB */
+       603, /* GL_INTERPOLATE */
+       241, /* GL_CONSTANT */
+      1155, /* GL_PRIMARY_COLOR */
+      1152, /* GL_PREVIOUS */
+      1356, /* GL_SOURCE0_RGB */
+      1362, /* GL_SOURCE1_RGB */
+      1368, /* GL_SOURCE2_RGB */
+      1372, /* GL_SOURCE3_RGB_NV */
+      1353, /* GL_SOURCE0_ALPHA */
+      1359, /* GL_SOURCE1_ALPHA */
+      1365, /* GL_SOURCE2_ALPHA */
+      1371, /* GL_SOURCE3_ALPHA_NV */
+      1001, /* GL_OPERAND0_RGB */
+      1007, /* GL_OPERAND1_RGB */
+      1013, /* GL_OPERAND2_RGB */
+      1017, /* GL_OPERAND3_RGB_NV */
+       998, /* GL_OPERAND0_ALPHA */
+      1004, /* GL_OPERAND1_ALPHA */
+      1010, /* GL_OPERAND2_ALPHA */
+      1016, /* GL_OPERAND3_ALPHA_NV */
+      1677, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+      1741, /* GL_YCBCR_422_APPLE */
+      1666, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+      1668, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+      1347, /* GL_SLICE_ACCUM_SUN */
+      1212, /* GL_QUAD_MESH_SUN */
+      1639, /* GL_TRIANGLE_MESH_SUN */
+      1715, /* GL_VERTEX_PROGRAM_ARB */
+      1726, /* GL_VERTEX_STATE_PROGRAM_NV */
+      1702, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+      1708, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+      1710, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+      1712, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+       301, /* GL_CURRENT_VERTEX_ATTRIB */
+      1168, /* GL_PROGRAM_LENGTH_ARB */
+      1182, /* GL_PROGRAM_STRING_ARB */
+       931, /* GL_MODELVIEW_PROJECTION_NV */
+       571, /* GL_IDENTITY_NV */
+       616, /* GL_INVERSE_NV */
+      1632, /* GL_TRANSPOSE_NV */
+       617, /* GL_INVERSE_TRANSPOSE_NV */
+       840, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+       839, /* GL_MAX_PROGRAM_MATRICES_ARB */
+       747, /* GL_MATRIX0_NV */
+       759, /* GL_MATRIX1_NV */
+       771, /* GL_MATRIX2_NV */
+       775, /* GL_MATRIX3_NV */
+       777, /* GL_MATRIX4_NV */
+       779, /* GL_MATRIX5_NV */
+       781, /* GL_MATRIX6_NV */
+       783, /* GL_MATRIX7_NV */
+       286, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+       283, /* GL_CURRENT_MATRIX_ARB */
+      1718, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+      1721, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+      1180, /* GL_PROGRAM_PARAMETER_NV */
+      1706, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+      1184, /* GL_PROGRAM_TARGET_NV */
+      1181, /* GL_PROGRAM_RESIDENT_NV */
+      1624, /* GL_TRACK_MATRIX_NV */
+      1625, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+      1716, /* GL_VERTEX_PROGRAM_BINDING_NV */
+      1162, /* GL_PROGRAM_ERROR_POSITION_ARB */
+       320, /* GL_DEPTH_CLAMP_NV */
+      1684, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+      1691, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+      1692, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+      1693, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+      1694, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+      1695, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+      1696, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+      1697, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+      1698, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+      1699, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+      1685, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+      1686, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+      1687, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+      1688, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+      1689, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+      1690, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+       701, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+       708, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+       709, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+       710, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+       711, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+       712, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+       713, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+       714, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+       715, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+       716, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+       702, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+       703, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+       704, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+       705, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+       706, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+       707, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+       728, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+       735, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+       736, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+       737, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+       738, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+       739, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+       740, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+      1161, /* GL_PROGRAM_BINDING_ARB */
+       742, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+       743, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+       729, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+       730, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+       731, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+       732, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+       733, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+       734, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+      1547, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+      1544, /* GL_TEXTURE_COMPRESSED */
+       970, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+       240, /* GL_COMPRESSED_TEXTURE_FORMATS */
+       879, /* GL_MAX_VERTEX_UNITS_ARB */
         22, /* GL_ACTIVE_VERTEX_UNITS_ARB */
-      1727, /* GL_WEIGHT_SUM_UNITY_ARB */
-      1705, /* GL_VERTEX_BLEND_ARB */
-       302, /* GL_CURRENT_WEIGHT_ARB */
-      1726, /* GL_WEIGHT_ARRAY_TYPE_ARB */
-      1725, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
-      1724, /* GL_WEIGHT_ARRAY_SIZE_ARB */
-      1723, /* GL_WEIGHT_ARRAY_POINTER_ARB */
-      1720, /* GL_WEIGHT_ARRAY_ARB */
-       345, /* GL_DOT3_RGB */
-       346, /* GL_DOT3_RGBA */
-       237, /* GL_COMPRESSED_RGB_FXT1_3DFX */
-       232, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
-       936, /* GL_MULTISAMPLE_3DFX */
-      1306, /* GL_SAMPLE_BUFFERS_3DFX */
-      1297, /* GL_SAMPLES_3DFX */
-       917, /* GL_MODELVIEW2_ARB */
-       920, /* GL_MODELVIEW3_ARB */
-       921, /* GL_MODELVIEW4_ARB */
-       922, /* GL_MODELVIEW5_ARB */
-       923, /* GL_MODELVIEW6_ARB */
-       924, /* GL_MODELVIEW7_ARB */
-       925, /* GL_MODELVIEW8_ARB */
-       926, /* GL_MODELVIEW9_ARB */
-       896, /* GL_MODELVIEW10_ARB */
-       897, /* GL_MODELVIEW11_ARB */
-       898, /* GL_MODELVIEW12_ARB */
-       899, /* GL_MODELVIEW13_ARB */
-       900, /* GL_MODELVIEW14_ARB */
-       901, /* GL_MODELVIEW15_ARB */
-       902, /* GL_MODELVIEW16_ARB */
-       903, /* GL_MODELVIEW17_ARB */
-       904, /* GL_MODELVIEW18_ARB */
-       905, /* GL_MODELVIEW19_ARB */
-       907, /* GL_MODELVIEW20_ARB */
-       908, /* GL_MODELVIEW21_ARB */
-       909, /* GL_MODELVIEW22_ARB */
-       910, /* GL_MODELVIEW23_ARB */
-       911, /* GL_MODELVIEW24_ARB */
-       912, /* GL_MODELVIEW25_ARB */
-       913, /* GL_MODELVIEW26_ARB */
-       914, /* GL_MODELVIEW27_ARB */
-       915, /* GL_MODELVIEW28_ARB */
-       916, /* GL_MODELVIEW29_ARB */
-       918, /* GL_MODELVIEW30_ARB */
-       919, /* GL_MODELVIEW31_ARB */
-       350, /* GL_DOT3_RGB_EXT */
-       348, /* GL_DOT3_RGBA_EXT */
-       890, /* GL_MIRROR_CLAMP_EXT */
-       893, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
-       931, /* GL_MODULATE_ADD_ATI */
-       932, /* GL_MODULATE_SIGNED_ADD_ATI */
-       933, /* GL_MODULATE_SUBTRACT_ATI */
-      1733, /* GL_YCBCR_MESA */
-      1022, /* GL_PACK_INVERT_MESA */
-       305, /* GL_DEBUG_OBJECT_MESA */
-       306, /* GL_DEBUG_PRINT_MESA */
-       304, /* GL_DEBUG_ASSERT_MESA */
+      1736, /* GL_WEIGHT_SUM_UNITY_ARB */
+      1714, /* GL_VERTEX_BLEND_ARB */
+       303, /* GL_CURRENT_WEIGHT_ARB */
+      1735, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+      1734, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+      1733, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+      1732, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+      1729, /* GL_WEIGHT_ARRAY_ARB */
+       346, /* GL_DOT3_RGB */
+       347, /* GL_DOT3_RGBA */
+       238, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+       233, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+       939, /* GL_MULTISAMPLE_3DFX */
+      1311, /* GL_SAMPLE_BUFFERS_3DFX */
+      1302, /* GL_SAMPLES_3DFX */
+       920, /* GL_MODELVIEW2_ARB */
+       923, /* GL_MODELVIEW3_ARB */
+       924, /* GL_MODELVIEW4_ARB */
+       925, /* GL_MODELVIEW5_ARB */
+       926, /* GL_MODELVIEW6_ARB */
+       927, /* GL_MODELVIEW7_ARB */
+       928, /* GL_MODELVIEW8_ARB */
+       929, /* GL_MODELVIEW9_ARB */
+       899, /* GL_MODELVIEW10_ARB */
+       900, /* GL_MODELVIEW11_ARB */
+       901, /* GL_MODELVIEW12_ARB */
+       902, /* GL_MODELVIEW13_ARB */
+       903, /* GL_MODELVIEW14_ARB */
+       904, /* GL_MODELVIEW15_ARB */
+       905, /* GL_MODELVIEW16_ARB */
+       906, /* GL_MODELVIEW17_ARB */
+       907, /* GL_MODELVIEW18_ARB */
+       908, /* GL_MODELVIEW19_ARB */
+       910, /* GL_MODELVIEW20_ARB */
+       911, /* GL_MODELVIEW21_ARB */
+       912, /* GL_MODELVIEW22_ARB */
+       913, /* GL_MODELVIEW23_ARB */
+       914, /* GL_MODELVIEW24_ARB */
+       915, /* GL_MODELVIEW25_ARB */
+       916, /* GL_MODELVIEW26_ARB */
+       917, /* GL_MODELVIEW27_ARB */
+       918, /* GL_MODELVIEW28_ARB */
+       919, /* GL_MODELVIEW29_ARB */
+       921, /* GL_MODELVIEW30_ARB */
+       922, /* GL_MODELVIEW31_ARB */
+       351, /* GL_DOT3_RGB_EXT */
+       349, /* GL_DOT3_RGBA_EXT */
+       893, /* GL_MIRROR_CLAMP_EXT */
+       896, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+       934, /* GL_MODULATE_ADD_ATI */
+       935, /* GL_MODULATE_SIGNED_ADD_ATI */
+       936, /* GL_MODULATE_SUBTRACT_ATI */
+      1742, /* GL_YCBCR_MESA */
+      1025, /* GL_PACK_INVERT_MESA */
+       306, /* GL_DEBUG_OBJECT_MESA */
+       307, /* GL_DEBUG_PRINT_MESA */
+       305, /* GL_DEBUG_ASSERT_MESA */
        107, /* GL_BUFFER_SIZE */
        109, /* GL_BUFFER_USAGE */
-      1393, /* GL_STENCIL_BACK_FUNC */
-      1392, /* GL_STENCIL_BACK_FAIL */
-      1394, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
-      1395, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
-       484, /* GL_FRAGMENT_PROGRAM_ARB */
-      1156, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
-      1184, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
-      1183, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
-      1168, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
-      1174, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
-      1173, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
-       826, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
-       849, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
-       848, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
-       839, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
-       845, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
-       844, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
-       809, /* GL_MAX_DRAW_BUFFERS */
-       354, /* GL_DRAW_BUFFER0 */
-       357, /* GL_DRAW_BUFFER1 */
-       378, /* GL_DRAW_BUFFER2 */
-       381, /* GL_DRAW_BUFFER3 */
-       384, /* GL_DRAW_BUFFER4 */
-       387, /* GL_DRAW_BUFFER5 */
-       390, /* GL_DRAW_BUFFER6 */
-       393, /* GL_DRAW_BUFFER7 */
-       396, /* GL_DRAW_BUFFER8 */
-       399, /* GL_DRAW_BUFFER9 */
-       358, /* GL_DRAW_BUFFER10 */
-       361, /* GL_DRAW_BUFFER11 */
-       364, /* GL_DRAW_BUFFER12 */
-       367, /* GL_DRAW_BUFFER13 */
-       370, /* GL_DRAW_BUFFER14 */
-       373, /* GL_DRAW_BUFFER15 */
+      1398, /* GL_STENCIL_BACK_FUNC */
+      1397, /* GL_STENCIL_BACK_FAIL */
+      1399, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+      1400, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+       485, /* GL_FRAGMENT_PROGRAM_ARB */
+      1159, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+      1187, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+      1186, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+      1171, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+      1177, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+      1176, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+       829, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+       852, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+       851, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+       842, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+       848, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+       847, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+       812, /* GL_MAX_DRAW_BUFFERS */
+       355, /* GL_DRAW_BUFFER0 */
+       358, /* GL_DRAW_BUFFER1 */
+       379, /* GL_DRAW_BUFFER2 */
+       382, /* GL_DRAW_BUFFER3 */
+       385, /* GL_DRAW_BUFFER4 */
+       388, /* GL_DRAW_BUFFER5 */
+       391, /* GL_DRAW_BUFFER6 */
+       394, /* GL_DRAW_BUFFER7 */
+       397, /* GL_DRAW_BUFFER8 */
+       400, /* GL_DRAW_BUFFER9 */
+       359, /* GL_DRAW_BUFFER10 */
+       362, /* GL_DRAW_BUFFER11 */
+       365, /* GL_DRAW_BUFFER12 */
+       368, /* GL_DRAW_BUFFER13 */
+       371, /* GL_DRAW_BUFFER14 */
+       374, /* GL_DRAW_BUFFER15 */
         82, /* GL_BLEND_EQUATION_ALPHA */
-       790, /* GL_MATRIX_PALETTE_ARB */
-       820, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
-       823, /* GL_MAX_PALETTE_MATRICES_ARB */
-       288, /* GL_CURRENT_PALETTE_MATRIX_ARB */
-       784, /* GL_MATRIX_INDEX_ARRAY_ARB */
-       283, /* GL_CURRENT_MATRIX_INDEX_ARB */
-       786, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
-       788, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
-       787, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
-       785, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
-      1564, /* GL_TEXTURE_DEPTH_SIZE */
-       338, /* GL_DEPTH_TEXTURE_MODE */
-      1530, /* GL_TEXTURE_COMPARE_MODE */
-      1528, /* GL_TEXTURE_COMPARE_FUNC */
-       216, /* GL_COMPARE_R_TO_TEXTURE */
-      1090, /* GL_POINT_SPRITE */
-       265, /* GL_COORD_REPLACE */
-      1094, /* GL_POINT_SPRITE_R_MODE_NV */
-      1209, /* GL_QUERY_COUNTER_BITS */
-       290, /* GL_CURRENT_QUERY */
-      1211, /* GL_QUERY_RESULT */
-      1213, /* GL_QUERY_RESULT_AVAILABLE */
-       870, /* GL_MAX_VERTEX_ATTRIBS */
-      1695, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
-       336, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
-       335, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
-       856, /* GL_MAX_TEXTURE_COORDS */
-       858, /* GL_MAX_TEXTURE_IMAGE_UNITS */
-      1161, /* GL_PROGRAM_ERROR_STRING_ARB */
-      1163, /* GL_PROGRAM_FORMAT_ASCII_ARB */
-      1162, /* GL_PROGRAM_FORMAT_ARB */
-      1609, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
-       317, /* GL_DEPTH_BOUNDS_TEST_EXT */
-       316, /* GL_DEPTH_BOUNDS_EXT */
+       792, /* GL_MATRIX_PALETTE_ARB */
+       823, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+       826, /* GL_MAX_PALETTE_MATRICES_ARB */
+       289, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+       786, /* GL_MATRIX_INDEX_ARRAY_ARB */
+       284, /* GL_CURRENT_MATRIX_INDEX_ARB */
+       788, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+       790, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+       789, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+       787, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+      1573, /* GL_TEXTURE_DEPTH_SIZE */
+       339, /* GL_DEPTH_TEXTURE_MODE */
+      1539, /* GL_TEXTURE_COMPARE_MODE */
+      1537, /* GL_TEXTURE_COMPARE_FUNC */
+       217, /* GL_COMPARE_R_TO_TEXTURE */
+      1093, /* GL_POINT_SPRITE */
+       266, /* GL_COORD_REPLACE */
+      1097, /* GL_POINT_SPRITE_R_MODE_NV */
+      1214, /* GL_QUERY_COUNTER_BITS */
+       291, /* GL_CURRENT_QUERY */
+      1216, /* GL_QUERY_RESULT */
+      1218, /* GL_QUERY_RESULT_AVAILABLE */
+       873, /* GL_MAX_VERTEX_ATTRIBS */
+      1704, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+       337, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+       336, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+       859, /* GL_MAX_TEXTURE_COORDS */
+       861, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+      1164, /* GL_PROGRAM_ERROR_STRING_ARB */
+      1166, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+      1165, /* GL_PROGRAM_FORMAT_ARB */
+      1618, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+       318, /* GL_DEPTH_BOUNDS_TEST_EXT */
+       317, /* GL_DEPTH_BOUNDS_EXT */
         52, /* GL_ARRAY_BUFFER */
-       419, /* GL_ELEMENT_ARRAY_BUFFER */
+       420, /* GL_ELEMENT_ARRAY_BUFFER */
         54, /* GL_ARRAY_BUFFER_BINDING */
-       421, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
-      1669, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
-       957, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+       422, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+      1678, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+       960, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
        140, /* GL_COLOR_ARRAY_BUFFER_BINDING */
-       577, /* GL_INDEX_ARRAY_BUFFER_BINDING */
-      1543, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
-       415, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
-      1318, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
-       462, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
-      1721, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
-      1691, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
-      1164, /* GL_PROGRAM_INSTRUCTIONS_ARB */
-       832, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
-      1170, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
-       841, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
-      1182, /* GL_PROGRAM_TEMPORARIES_ARB */
-       847, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
-      1172, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
-       843, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
-      1176, /* GL_PROGRAM_PARAMETERS_ARB */
-       846, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
-      1171, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
-       842, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
-      1157, /* GL_PROGRAM_ATTRIBS_ARB */
-       827, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
-      1169, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
-       840, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
-      1155, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
-       825, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
-      1167, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
-       838, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
-       833, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
-       829, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
-      1185, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
-      1620, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
-      1221, /* GL_READ_ONLY */
-      1729, /* GL_WRITE_ONLY */
-      1223, /* GL_READ_WRITE */
+       579, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+      1552, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+       416, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+      1323, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+       463, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+      1730, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+      1700, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+      1167, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+       835, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+      1173, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+       844, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+      1185, /* GL_PROGRAM_TEMPORARIES_ARB */
+       850, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+      1175, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+       846, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+      1179, /* GL_PROGRAM_PARAMETERS_ARB */
+       849, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+      1174, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+       845, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+      1160, /* GL_PROGRAM_ATTRIBS_ARB */
+       830, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+      1172, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+       843, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+      1158, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+       828, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+      1170, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+       841, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+       836, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+       832, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+      1188, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+      1629, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+      1226, /* GL_READ_ONLY */
+      1738, /* GL_WRITE_ONLY */
+      1228, /* GL_READ_WRITE */
        101, /* GL_BUFFER_ACCESS */
        103, /* GL_BUFFER_MAPPED */
        105, /* GL_BUFFER_MAP_POINTER */
-      1614, /* GL_TIME_ELAPSED_EXT */
-       744, /* GL_MATRIX0_ARB */
-       756, /* GL_MATRIX1_ARB */
-       768, /* GL_MATRIX2_ARB */
-       772, /* GL_MATRIX3_ARB */
-       774, /* GL_MATRIX4_ARB */
-       776, /* GL_MATRIX5_ARB */
-       778, /* GL_MATRIX6_ARB */
-       780, /* GL_MATRIX7_ARB */
-       782, /* GL_MATRIX8_ARB */
-       783, /* GL_MATRIX9_ARB */
-       746, /* GL_MATRIX10_ARB */
-       747, /* GL_MATRIX11_ARB */
-       748, /* GL_MATRIX12_ARB */
-       749, /* GL_MATRIX13_ARB */
-       750, /* GL_MATRIX14_ARB */
-       751, /* GL_MATRIX15_ARB */
-       752, /* GL_MATRIX16_ARB */
-       753, /* GL_MATRIX17_ARB */
-       754, /* GL_MATRIX18_ARB */
-       755, /* GL_MATRIX19_ARB */
-       758, /* GL_MATRIX20_ARB */
-       759, /* GL_MATRIX21_ARB */
-       760, /* GL_MATRIX22_ARB */
-       761, /* GL_MATRIX23_ARB */
-       762, /* GL_MATRIX24_ARB */
-       763, /* GL_MATRIX25_ARB */
-       764, /* GL_MATRIX26_ARB */
-       765, /* GL_MATRIX27_ARB */
-       766, /* GL_MATRIX28_ARB */
-       767, /* GL_MATRIX29_ARB */
-       770, /* GL_MATRIX30_ARB */
-       771, /* GL_MATRIX31_ARB */
-      1420, /* GL_STREAM_DRAW */
-      1422, /* GL_STREAM_READ */
-      1418, /* GL_STREAM_COPY */
-      1386, /* GL_STATIC_DRAW */
-      1388, /* GL_STATIC_READ */
-      1384, /* GL_STATIC_COPY */
-       409, /* GL_DYNAMIC_DRAW */
-       411, /* GL_DYNAMIC_READ */
-       407, /* GL_DYNAMIC_COPY */
-       533, /* GL_GL_PIXEL_PACK_BUFFER */
-       535, /* GL_GL_PIXEL_UNPACK_BUFFER */
-       534, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
-       536, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
-       830, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
-       828, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
-       831, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
-       835, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
-       834, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
-      1414, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+      1623, /* GL_TIME_ELAPSED_EXT */
+       746, /* GL_MATRIX0_ARB */
+       758, /* GL_MATRIX1_ARB */
+       770, /* GL_MATRIX2_ARB */
+       774, /* GL_MATRIX3_ARB */
+       776, /* GL_MATRIX4_ARB */
+       778, /* GL_MATRIX5_ARB */
+       780, /* GL_MATRIX6_ARB */
+       782, /* GL_MATRIX7_ARB */
+       784, /* GL_MATRIX8_ARB */
+       785, /* GL_MATRIX9_ARB */
+       748, /* GL_MATRIX10_ARB */
+       749, /* GL_MATRIX11_ARB */
+       750, /* GL_MATRIX12_ARB */
+       751, /* GL_MATRIX13_ARB */
+       752, /* GL_MATRIX14_ARB */
+       753, /* GL_MATRIX15_ARB */
+       754, /* GL_MATRIX16_ARB */
+       755, /* GL_MATRIX17_ARB */
+       756, /* GL_MATRIX18_ARB */
+       757, /* GL_MATRIX19_ARB */
+       760, /* GL_MATRIX20_ARB */
+       761, /* GL_MATRIX21_ARB */
+       762, /* GL_MATRIX22_ARB */
+       763, /* GL_MATRIX23_ARB */
+       764, /* GL_MATRIX24_ARB */
+       765, /* GL_MATRIX25_ARB */
+       766, /* GL_MATRIX26_ARB */
+       767, /* GL_MATRIX27_ARB */
+       768, /* GL_MATRIX28_ARB */
+       769, /* GL_MATRIX29_ARB */
+       772, /* GL_MATRIX30_ARB */
+       773, /* GL_MATRIX31_ARB */
+      1425, /* GL_STREAM_DRAW */
+      1427, /* GL_STREAM_READ */
+      1423, /* GL_STREAM_COPY */
+      1391, /* GL_STATIC_DRAW */
+      1393, /* GL_STATIC_READ */
+      1389, /* GL_STATIC_COPY */
+       410, /* GL_DYNAMIC_DRAW */
+       412, /* GL_DYNAMIC_READ */
+       408, /* GL_DYNAMIC_COPY */
+       535, /* GL_GL_PIXEL_PACK_BUFFER */
+       537, /* GL_GL_PIXEL_UNPACK_BUFFER */
+       536, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
+       538, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
+       833, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+       831, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+       834, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+       838, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+       837, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+       795, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+      1419, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
         17, /* GL_ACTIVE_STENCIL_FACE_EXT */
-       891, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
-      1299, /* GL_SAMPLES_PASSED */
-       485, /* GL_FRAGMENT_SHADER */
-      1715, /* GL_VERTEX_SHADER */
-      1175, /* GL_PROGRAM_OBJECT_ARB */
-      1331, /* GL_SHADER_OBJECT_ARB */
-       816, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
-       874, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
-       868, /* GL_MAX_VARYING_FLOATS */
-       872, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
-       801, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
-       982, /* GL_OBJECT_TYPE_ARB */
-      1333, /* GL_SHADER_TYPE */
-       450, /* GL_FLOAT_VEC2 */
-       452, /* GL_FLOAT_VEC3 */
-       454, /* GL_FLOAT_VEC4 */
-       604, /* GL_INT_VEC2 */
-       606, /* GL_INT_VEC3 */
-       608, /* GL_INT_VEC4 */
+       894, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+      1304, /* GL_SAMPLES_PASSED */
+       486, /* GL_FRAGMENT_SHADER */
+      1724, /* GL_VERTEX_SHADER */
+      1178, /* GL_PROGRAM_OBJECT_ARB */
+      1336, /* GL_SHADER_OBJECT_ARB */
+       819, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+       877, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+       871, /* GL_MAX_VARYING_FLOATS */
+       875, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+       804, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+       985, /* GL_OBJECT_TYPE_ARB */
+      1338, /* GL_SHADER_TYPE */
+       451, /* GL_FLOAT_VEC2 */
+       453, /* GL_FLOAT_VEC3 */
+       455, /* GL_FLOAT_VEC4 */
+       606, /* GL_INT_VEC2 */
+       608, /* GL_INT_VEC3 */
+       610, /* GL_INT_VEC4 */
         93, /* GL_BOOL */
         95, /* GL_BOOL_VEC2 */
         97, /* GL_BOOL_VEC3 */
         99, /* GL_BOOL_VEC4 */
-       444, /* GL_FLOAT_MAT2 */
-       446, /* GL_FLOAT_MAT3 */
-       448, /* GL_FLOAT_MAT4 */
-      1290, /* GL_SAMPLER_1D */
-      1292, /* GL_SAMPLER_2D */
-      1294, /* GL_SAMPLER_3D */
-      1295, /* GL_SAMPLER_CUBE */
-      1291, /* GL_SAMPLER_1D_SHADOW */
-      1293, /* GL_SAMPLER_2D_SHADOW */
-       527, /* GL_GL_FLOAT_MAT2x3 */
-       528, /* GL_GL_FLOAT_MAT2x4 */
-       529, /* GL_GL_FLOAT_MAT3x2 */
-       530, /* GL_GL_FLOAT_MAT3x4 */
-       531, /* GL_GL_FLOAT_MAT4x2 */
-       532, /* GL_GL_FLOAT_MAT4x3 */
-       311, /* GL_DELETE_STATUS */
-       220, /* GL_COMPILE_STATUS */
-       657, /* GL_LINK_STATUS */
-      1664, /* GL_VALIDATE_STATUS */
-       589, /* GL_INFO_LOG_LENGTH */
+       445, /* GL_FLOAT_MAT2 */
+       447, /* GL_FLOAT_MAT3 */
+       449, /* GL_FLOAT_MAT4 */
+      1295, /* GL_SAMPLER_1D */
+      1297, /* GL_SAMPLER_2D */
+      1299, /* GL_SAMPLER_3D */
+      1300, /* GL_SAMPLER_CUBE */
+      1296, /* GL_SAMPLER_1D_SHADOW */
+      1298, /* GL_SAMPLER_2D_SHADOW */
+       529, /* GL_GL_FLOAT_MAT2x3 */
+       530, /* GL_GL_FLOAT_MAT2x4 */
+       531, /* GL_GL_FLOAT_MAT3x2 */
+       532, /* GL_GL_FLOAT_MAT3x4 */
+       533, /* GL_GL_FLOAT_MAT4x2 */
+       534, /* GL_GL_FLOAT_MAT4x3 */
+       312, /* GL_DELETE_STATUS */
+       221, /* GL_COMPILE_STATUS */
+       659, /* GL_LINK_STATUS */
+      1673, /* GL_VALIDATE_STATUS */
+       591, /* GL_INFO_LOG_LENGTH */
         56, /* GL_ATTACHED_SHADERS */
         20, /* GL_ACTIVE_UNIFORMS */
         21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
-      1332, /* GL_SHADER_SOURCE_LENGTH */
+      1337, /* GL_SHADER_SOURCE_LENGTH */
         15, /* GL_ACTIVE_ATTRIBUTES */
         16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
-       487, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
-      1335, /* GL_SHADING_LANGUAGE_VERSION */
-       289, /* GL_CURRENT_PROGRAM */
-      1031, /* GL_PALETTE4_RGB8_OES */
-      1033, /* GL_PALETTE4_RGBA8_OES */
-      1029, /* GL_PALETTE4_R5_G6_B5_OES */
-      1032, /* GL_PALETTE4_RGBA4_OES */
-      1030, /* GL_PALETTE4_RGB5_A1_OES */
-      1036, /* GL_PALETTE8_RGB8_OES */
-      1038, /* GL_PALETTE8_RGBA8_OES */
-      1034, /* GL_PALETTE8_R5_G6_B5_OES */
-      1037, /* GL_PALETTE8_RGBA4_OES */
-      1035, /* GL_PALETTE8_RGB5_A1_OES */
-       572, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
-       571, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
-       541, /* GL_GL_SRGB */
-       542, /* GL_GL_SRGB8 */
-       544, /* GL_GL_SRGB_ALPHA */
-       543, /* GL_GL_SRGB8_ALPHA8 */
-       540, /* GL_GL_SLUMINANCE_ALPHA */
-       539, /* GL_GL_SLUMINANCE8_ALPHA8 */
-       537, /* GL_GL_SLUMINANCE */
-       538, /* GL_GL_SLUMINANCE8 */
-       524, /* GL_GL_COMPRESSED_SRGB */
-       525, /* GL_GL_COMPRESSED_SRGB_ALPHA */
-       522, /* GL_GL_COMPRESSED_SLUMINANCE */
-       523, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
-      1092, /* GL_POINT_SPRITE_COORD_ORIGIN */
-       665, /* GL_LOWER_LEFT */
-      1661, /* GL_UPPER_LEFT */
-      1396, /* GL_STENCIL_BACK_REF */
-      1397, /* GL_STENCIL_BACK_VALUE_MASK */
-      1398, /* GL_STENCIL_BACK_WRITEMASK */
-       402, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
-      1235, /* GL_RENDERBUFFER_BINDING_EXT */
-      1220, /* GL_READ_FRAMEBUFFER_EXT */
-       403, /* GL_DRAW_FRAMEBUFFER_EXT */
-      1219, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
-       489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
-       488, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
-       492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
-       491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
-       490, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
-       494, /* GL_FRAMEBUFFER_COMPLETE_EXT */
-       496, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
-       501, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
-       499, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
-       497, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
-       500, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
-       498, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
-       502, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
-       504, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
-       503, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
-       798, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+       488, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+      1340, /* GL_SHADING_LANGUAGE_VERSION */
+       290, /* GL_CURRENT_PROGRAM */
+      1034, /* GL_PALETTE4_RGB8_OES */
+      1036, /* GL_PALETTE4_RGBA8_OES */
+      1032, /* GL_PALETTE4_R5_G6_B5_OES */
+      1035, /* GL_PALETTE4_RGBA4_OES */
+      1033, /* GL_PALETTE4_RGB5_A1_OES */
+      1039, /* GL_PALETTE8_RGB8_OES */
+      1041, /* GL_PALETTE8_RGBA8_OES */
+      1037, /* GL_PALETTE8_R5_G6_B5_OES */
+      1040, /* GL_PALETTE8_RGBA4_OES */
+      1038, /* GL_PALETTE8_RGB5_A1_OES */
+       574, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+       573, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+      1507, /* GL_TEXTURE_1D_ARRAY_EXT */
+      1198, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+      1509, /* GL_TEXTURE_2D_ARRAY_EXT */
+      1201, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+      1515, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+      1517, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+       543, /* GL_GL_SRGB */
+       544, /* GL_GL_SRGB8 */
+       546, /* GL_GL_SRGB_ALPHA */
+       545, /* GL_GL_SRGB8_ALPHA8 */
+       542, /* GL_GL_SLUMINANCE_ALPHA */
+       541, /* GL_GL_SLUMINANCE8_ALPHA8 */
+       539, /* GL_GL_SLUMINANCE */
+       540, /* GL_GL_SLUMINANCE8 */
+       526, /* GL_GL_COMPRESSED_SRGB */
+       527, /* GL_GL_COMPRESSED_SRGB_ALPHA */
+       524, /* GL_GL_COMPRESSED_SLUMINANCE */
+       525, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
+      1095, /* GL_POINT_SPRITE_COORD_ORIGIN */
+       667, /* GL_LOWER_LEFT */
+      1670, /* GL_UPPER_LEFT */
+      1401, /* GL_STENCIL_BACK_REF */
+      1402, /* GL_STENCIL_BACK_VALUE_MASK */
+      1403, /* GL_STENCIL_BACK_WRITEMASK */
+       403, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+      1240, /* GL_RENDERBUFFER_BINDING_EXT */
+      1225, /* GL_READ_FRAMEBUFFER_EXT */
+       404, /* GL_DRAW_FRAMEBUFFER_EXT */
+      1224, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+       490, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+       489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+       494, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+       492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+       491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+       496, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+       498, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+       503, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+       501, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+       499, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+       502, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+       500, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+       504, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+       506, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+       505, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+       801, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
        146, /* GL_COLOR_ATTACHMENT0_EXT */
        153, /* GL_COLOR_ATTACHMENT1_EXT */
        154, /* GL_COLOR_ATTACHMENT2_EXT */
@@ -4774,25 +4799,25 @@ static const unsigned reduced_enums[1277] =
        150, /* GL_COLOR_ATTACHMENT13_EXT */
        151, /* GL_COLOR_ATTACHMENT14_EXT */
        152, /* GL_COLOR_ATTACHMENT15_EXT */
-       313, /* GL_DEPTH_ATTACHMENT_EXT */
-      1391, /* GL_STENCIL_ATTACHMENT_EXT */
-       495, /* GL_FRAMEBUFFER_EXT */
-      1236, /* GL_RENDERBUFFER_EXT */
-      1239, /* GL_RENDERBUFFER_WIDTH_EXT */
-      1237, /* GL_RENDERBUFFER_HEIGHT_EXT */
-      1238, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
-      1409, /* GL_STENCIL_INDEX_EXT */
-      1406, /* GL_STENCIL_INDEX1_EXT */
-      1407, /* GL_STENCIL_INDEX4_EXT */
-      1408, /* GL_STENCIL_INDEX8_EXT */
-      1405, /* GL_STENCIL_INDEX16_EXT */
-       427, /* GL_EVAL_BIT */
-      1217, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
-       659, /* GL_LIST_BIT */
-      1514, /* GL_TEXTURE_BIT */
-      1314, /* GL_SCISSOR_BIT */
+       314, /* GL_DEPTH_ATTACHMENT_EXT */
+      1396, /* GL_STENCIL_ATTACHMENT_EXT */
+       497, /* GL_FRAMEBUFFER_EXT */
+      1241, /* GL_RENDERBUFFER_EXT */
+      1244, /* GL_RENDERBUFFER_WIDTH_EXT */
+      1242, /* GL_RENDERBUFFER_HEIGHT_EXT */
+      1243, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+      1414, /* GL_STENCIL_INDEX_EXT */
+      1411, /* GL_STENCIL_INDEX1_EXT */
+      1412, /* GL_STENCIL_INDEX4_EXT */
+      1413, /* GL_STENCIL_INDEX8_EXT */
+      1410, /* GL_STENCIL_INDEX16_EXT */
+       428, /* GL_EVAL_BIT */
+      1222, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+       661, /* GL_LIST_BIT */
+      1523, /* GL_TEXTURE_BIT */
+      1319, /* GL_SCISSOR_BIT */
         29, /* GL_ALL_ATTRIB_BITS */
-       938, /* GL_MULTISAMPLE_BIT */
+       941, /* GL_MULTISAMPLE_BIT */
         30, /* GL_ALL_CLIENT_ATTRIB_BITS */
 };
 
index 4e44c5b71034f22324d5dd6ea203423caca13bbe..a4a6cdae366dd8af2dfa0281074901b5e7966320 100644 (file)
@@ -145,6 +145,7 @@ static const struct {
    { OFF, "GL_MESA_packed_depth_stencil",      F(MESA_packed_depth_stencil) },
    { OFF, "GL_MESA_program_debug",             F(MESA_program_debug) },
    { OFF, "GL_MESA_resize_buffers",            F(MESA_resize_buffers) },
+   { OFF, "GL_MESA_texture_array",             F(MESA_texture_array) },
    { OFF, "GL_MESA_ycbcr_texture",             F(MESA_ycbcr_texture) },
    { ON,  "GL_MESA_window_pos",                F(ARB_window_pos) },
    { OFF, "GL_NV_blend_square",                F(NV_blend_square) },
@@ -270,6 +271,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
    ctx->Extensions.MESA_program_debug = GL_TRUE;
 #endif
    ctx->Extensions.MESA_resize_buffers = GL_TRUE;
+   ctx->Extensions.MESA_texture_array = GL_TRUE;
    ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;
    ctx->Extensions.NV_blend_square = GL_TRUE;
    /*ctx->Extensions.NV_light_max_exponent = GL_TRUE;*/
index eac2f7871719737a9ccb5e8ced0f69e55a9d054d..e3bada5ae89088f5b0879dbd588160444d2b144d 100644 (file)
@@ -1179,9 +1179,16 @@ framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target,
 
       texObj = _mesa_lookup_texture(ctx, texture);
       if (texObj != NULL) {
-         err = (texObj->Target == GL_TEXTURE_CUBE_MAP)
-             ? !IS_CUBE_FACE(textarget)
-             : (texObj->Target != textarget);
+         if (textarget == 0) {
+            err = (texObj->Target != GL_TEXTURE_3D) &&
+                (texObj->Target != GL_TEXTURE_1D_ARRAY_EXT) &&
+                (texObj->Target != GL_TEXTURE_2D_ARRAY_EXT);
+         }
+         else {
+            err = (texObj->Target == GL_TEXTURE_CUBE_MAP)
+                ? !IS_CUBE_FACE(textarget)
+                : (texObj->Target != textarget);
+         }
       }
 
       if (err) {
@@ -1195,12 +1202,20 @@ framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target,
          const GLint maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1);
          if (zoffset < 0 || zoffset >= maxSize) {
             _mesa_error(ctx, GL_INVALID_VALUE,
-                        "glFramebufferTexture%sEXT(zoffset)", 
-                        caller);
+                        "glFramebufferTexture%sEXT(zoffset)", caller);
+            return;
+         }
+      }
+      else if ((texObj->Target == GL_TEXTURE_1D_ARRAY_EXT) ||
+               (texObj->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
+         if (zoffset < 0 || zoffset >= ctx->Const.MaxArrayTextureLayers) {
+            _mesa_error(ctx, GL_INVALID_VALUE,
+                        "glFramebufferTexture%sEXT(layer)", caller);
             return;
          }
       }
 
+
       if ((level < 0) || 
           (level >= _mesa_max_texture_levels(ctx, texObj->Target))) {
          _mesa_error(ctx, GL_INVALID_VALUE,
@@ -1291,6 +1306,17 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
 }
 
 
+void GLAPIENTRY
+_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
+                                 GLuint texture, GLint level, GLint layer)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   framebuffer_texture(ctx, "Layer", target, attachment, 0, texture,
+                       level, layer);
+}
+
+
 void GLAPIENTRY
 _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
                                  GLenum renderbufferTarget,
index 301e2da449555d400c0ba6dd0a4503f7973e701c..782ad8cb1808bcfd6d1faa10c8dff4c49e7c9d51 100644 (file)
@@ -112,6 +112,10 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
                               GLenum textarget, GLuint texture,
                               GLint level, GLint zoffset);
 
+extern void GLAPIENTRY
+_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
+                                 GLuint texture, GLint level, GLint layer);
+
 extern void GLAPIENTRY
 _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
                                  GLenum renderbuffertarget,
index 33be7689997816c696cf4b7e87b84a0775eeb1b6..905543328140a0f0b7eeace8345a5f7d5e4d1bd6 100644 (file)
@@ -425,12 +425,18 @@ StateVars = [
        ( "GL_TEXTURE_1D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_1D)"], "", None ),
        ( "GL_TEXTURE_2D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_2D)"], "", None ),
        ( "GL_TEXTURE_3D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_3D)"], "", None ),
+       ( "GL_TEXTURE_1D_ARRAY_EXT", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_1D_ARRAY_EXT)"], "", ["MESA_texture_array"] ),
+       ( "GL_TEXTURE_2D_ARRAY_EXT", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_2D_ARRAY_EXT)"], "", ["MESA_texture_array"] ),
        ( "GL_TEXTURE_BINDING_1D", GLint,
          ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current1D->Name"], "", None ),
        ( "GL_TEXTURE_BINDING_2D", GLint,
          ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current2D->Name"], "", None ),
        ( "GL_TEXTURE_BINDING_3D", GLint,
          ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current3D->Name"], "", None ),
+       ( "GL_TEXTURE_BINDING_1D_ARRAY_EXT", GLint,
+         ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current1DArray->Name"], "", ["MESA_texture_array"] ),
+       ( "GL_TEXTURE_BINDING_2D_ARRAY_EXT", GLint,
+         ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current2DArray->Name"], "", ["MESA_texture_array"] ),
        ( "GL_TEXTURE_ENV_COLOR", GLfloatN,
          ["color[0]", "color[1]", "color[2]", "color[3]"],
          "const GLfloat *color = ctx->Texture.Unit[ctx->Texture.CurrentUnit].EnvColor;",
index cc1fb97eedd4c6b65d9a547811587643edddaa5e..1dc51440c8eb0fef4e8ae0d659a6229df7054d7d 100644 (file)
@@ -551,7 +551,7 @@ make_2d_mipmap(const struct gl_texture_format *format, GLint border,
 
    /* Compute src and dst pointers, skipping any border */
    srcA = srcPtr + border * ((srcWidth + 1) * bpt);
-   if (srcHeight > 1)
+   if (srcHeight > 1) 
       srcB = srcA + srcRowStride;
    else
       srcB = srcA;
@@ -796,6 +796,136 @@ make_3d_mipmap(const struct gl_texture_format *format, GLint border,
 }
 
 
+static void
+make_1d_stack_mipmap(const struct gl_texture_format *format, GLint border,
+                     GLint srcWidth, GLubyte *srcPtr,
+                     GLint dstWidth, GLint dstHeight, GLubyte *dstPtr)
+{
+   const GLint bpt = format->TexelBytes;
+   const GLint srcWidthNB = srcWidth - 2 * border;  /* sizes w/out border */
+   const GLint dstWidthNB = dstWidth - 2 * border;
+   const GLint dstHeightNB = dstHeight - 2 * border;
+   const GLint srcRowStride = bpt * srcWidth;
+   const GLint dstRowStride = bpt * dstWidth;
+   const GLubyte *src;
+   GLubyte *dst;
+   GLint row;
+
+   /* Compute src and dst pointers, skipping any border */
+   src = srcPtr + border * ((srcWidth + 1) * bpt);
+   dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+   for (row = 0; row < dstHeightNB; row++) {
+      do_row(format, srcWidthNB, src, src,
+             dstWidthNB, dst);
+      src += srcRowStride;
+      dst += dstRowStride;
+   }
+
+   if (border) {
+      /* copy left-most pixel from source */
+      MEMCPY(dstPtr, srcPtr, bpt);
+      /* copy right-most pixel from source */
+      MEMCPY(dstPtr + (dstWidth - 1) * bpt,
+             srcPtr + (srcWidth - 1) * bpt,
+             bpt);
+   }
+}
+
+
+/**
+ * \bugs
+ * There is quite a bit of refactoring that could be done with this function
+ * and \c make_2d_mipmap.
+ */
+static void
+make_2d_stack_mipmap(const struct gl_texture_format *format, GLint border,
+                     GLint srcWidth, GLint srcHeight, const GLubyte *srcPtr,
+                     GLint dstWidth, GLint dstHeight, GLint dstDepth,
+                     GLubyte *dstPtr)
+{
+   const GLint bpt = format->TexelBytes;
+   const GLint srcWidthNB = srcWidth - 2 * border;  /* sizes w/out border */
+   const GLint dstWidthNB = dstWidth - 2 * border;
+   const GLint dstHeightNB = dstHeight - 2 * border;
+   const GLint dstDepthNB = dstDepth - 2 * border;
+   const GLint srcRowStride = bpt * srcWidth;
+   const GLint dstRowStride = bpt * dstWidth;
+   const GLubyte *srcA, *srcB;
+   GLubyte *dst;
+   GLint layer;
+   GLint row;
+
+   /* Compute src and dst pointers, skipping any border */
+   srcA = srcPtr + border * ((srcWidth + 1) * bpt);
+   if (srcHeight > 1) 
+      srcB = srcA + srcRowStride;
+   else
+      srcB = srcA;
+   dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+   for (layer = 0; layer < dstDepthNB; layer++) {
+      for (row = 0; row < dstHeightNB; row++) {
+         do_row(format, srcWidthNB, srcA, srcB,
+                dstWidthNB, dst);
+         srcA += 2 * srcRowStride;
+         srcB += 2 * srcRowStride;
+         dst += dstRowStride;
+      }
+
+      /* This is ugly but probably won't be used much */
+      if (border > 0) {
+         /* fill in dest border */
+         /* lower-left border pixel */
+         MEMCPY(dstPtr, srcPtr, bpt);
+         /* lower-right border pixel */
+         MEMCPY(dstPtr + (dstWidth - 1) * bpt,
+                srcPtr + (srcWidth - 1) * bpt, bpt);
+         /* upper-left border pixel */
+         MEMCPY(dstPtr + dstWidth * (dstHeight - 1) * bpt,
+                srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
+         /* upper-right border pixel */
+         MEMCPY(dstPtr + (dstWidth * dstHeight - 1) * bpt,
+                srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
+         /* lower border */
+         do_row(format, srcWidthNB,
+                srcPtr + bpt,
+                srcPtr + bpt,
+                dstWidthNB, dstPtr + bpt);
+         /* upper border */
+         do_row(format, srcWidthNB,
+                srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+                srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+                dstWidthNB,
+                dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
+         /* left and right borders */
+         if (srcHeight == dstHeight) {
+            /* copy border pixel from src to dst */
+            for (row = 1; row < srcHeight; row++) {
+               MEMCPY(dstPtr + dstWidth * row * bpt,
+                      srcPtr + srcWidth * row * bpt, bpt);
+               MEMCPY(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
+                      srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
+            }
+         }
+         else {
+            /* average two src pixels each dest pixel */
+            for (row = 0; row < dstHeightNB; row += 2) {
+               do_row(format, 1,
+                      srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
+                      srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
+                      1, dstPtr + (dstWidth * row + 1) * bpt);
+               do_row(format, 1,
+                      srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
+                      srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
+                      1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
+            }
+         }
+      }
+   }
+}
+
+
 /**
  * For GL_SGIX_generate_mipmap:
  * Generate a complete set of mipmaps from texObj's base-level image.
@@ -897,13 +1027,15 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
       else {
          dstWidth = srcWidth; /* can't go smaller */
       }
-      if (srcHeight - 2 * border > 1) {
+      if ((srcHeight - 2 * border > 1) && 
+          (texObj->Target != GL_TEXTURE_1D_ARRAY_EXT)) {
          dstHeight = (srcHeight - 2 * border) / 2 + 2 * border;
       }
       else {
          dstHeight = srcHeight; /* can't go smaller */
       }
-      if (srcDepth - 2 * border > 1) {
+      if ((srcDepth - 2 * border > 1) &&
+               (texObj->Target != GL_TEXTURE_2D_ARRAY_EXT)) {
          dstDepth = (srcDepth - 2 * border) / 2 + 2 * border;
       }
       else {
@@ -1007,6 +1139,16 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
                            srcWidth, srcHeight, srcDepth, srcData,
                            dstWidth, dstHeight, dstDepth, dstData);
             break;
+         case GL_TEXTURE_1D_ARRAY_EXT:
+            make_1d_stack_mipmap(convertFormat, border,
+                                 srcWidth, srcData,
+                                 dstWidth, dstHeight, dstData);
+            break;
+         case GL_TEXTURE_2D_ARRAY_EXT:
+            make_2d_stack_mipmap(convertFormat, border,
+                                 srcWidth, srcHeight, srcData,
+                                 dstWidth, dstHeight, dstDepth, dstData);
+            break;
          case GL_TEXTURE_RECTANGLE_NV:
             /* no mipmaps, do nothing */
             break;
index 71215d5470937458579aed8594198f1b7f84150c..894b9edb36f5ca27c460510a96ddda3e33a54f3f 100644 (file)
@@ -1127,7 +1127,7 @@ struct gl_stencil_attrib
 };
 
 
-#define NUM_TEXTURE_TARGETS 5   /* 1D, 2D, 3D, CUBE and RECT */
+#define NUM_TEXTURE_TARGETS 7   /* 1D, 2D, 3D, CUBE, RECT, 1D_STACK, and 2D_STACK */
 
 /**
  * An index for each type of texture object
@@ -1138,6 +1138,8 @@ struct gl_stencil_attrib
 #define TEXTURE_3D_INDEX    2
 #define TEXTURE_CUBE_INDEX  3
 #define TEXTURE_RECT_INDEX  4
+#define TEXTURE_1D_ARRAY_INDEX    5
+#define TEXTURE_2D_ARRAY_INDEX    6
 /*@}*/
 
 /**
@@ -1150,6 +1152,8 @@ struct gl_stencil_attrib
 #define TEXTURE_3D_BIT   (1 << TEXTURE_3D_INDEX)
 #define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX)
 #define TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX)
+#define TEXTURE_1D_ARRAY_BIT   (1 << TEXTURE_1D_ARRAY_INDEX)
+#define TEXTURE_2D_ARRAY_BIT   (1 << TEXTURE_2D_ARRAY_INDEX)
 /*@}*/
 
 
@@ -1520,6 +1524,8 @@ struct gl_texture_unit
    struct gl_texture_object *Current3D;
    struct gl_texture_object *CurrentCubeMap; /**< GL_ARB_texture_cube_map */
    struct gl_texture_object *CurrentRect;    /**< GL_NV_texture_rectangle */
+   struct gl_texture_object *Current1DArray; /**< GL_MESA_texture_array */
+   struct gl_texture_object *Current2DArray; /**< GL_MESA_texture_array */
 
    struct gl_texture_object *_Current; /**< Points to really enabled tex obj */
 
@@ -1528,6 +1534,8 @@ struct gl_texture_unit
    struct gl_texture_object Saved3D;
    struct gl_texture_object SavedCubeMap;
    struct gl_texture_object SavedRect;
+   struct gl_texture_object Saved1DArray;
+   struct gl_texture_object Saved2DArray;
 
    /* GL_SGI_texture_color_table */
    struct gl_color_table ColorTable;
@@ -1572,6 +1580,8 @@ struct gl_texture_attrib
    struct gl_texture_object *Proxy3D;
    struct gl_texture_object *ProxyCubeMap;
    struct gl_texture_object *ProxyRect;
+   struct gl_texture_object *Proxy1DArray;
+   struct gl_texture_object *Proxy2DArray;
 
    /** GL_EXT_shared_texture_palette */
    GLboolean SharedPalette;
@@ -2156,6 +2166,8 @@ struct gl_shared_state
    struct gl_texture_object *Default3D;
    struct gl_texture_object *DefaultCubeMap;
    struct gl_texture_object *DefaultRect;
+   struct gl_texture_object *Default1DArray;
+   struct gl_texture_object *Default2DArray;
    /*@}*/
 
    /**
@@ -2322,17 +2334,24 @@ struct gl_renderbuffer
  */
 struct gl_renderbuffer_attachment
 {
-   GLenum Type;  /* GL_NONE or GL_TEXTURE or GL_RENDERBUFFER_EXT */
+   GLenum Type;  /**< \c GL_NONE or \c GL_TEXTURE or \c GL_RENDERBUFFER_EXT */
    GLboolean Complete;
 
-   /* IF Type == GL_RENDERBUFFER_EXT: */
+   /**
+    * If \c Type is \c GL_RENDERBUFFER_EXT, this stores a pointer to the
+    * application supplied renderbuffer object.
+    */
    struct gl_renderbuffer *Renderbuffer;
 
-   /* IF Type == GL_TEXTURE: */
+   /**
+    * If \c Type is \c GL_TEXTURE, this stores a pointer to the application
+    * supplied texture object.
+    */
    struct gl_texture_object *Texture;
-   GLuint TextureLevel;
-   GLuint CubeMapFace;  /* 0 .. 5, for cube map textures */
-   GLuint Zoffset;      /* for 3D textures */
+   GLuint TextureLevel; /**< Attached mipmap level. */
+   GLuint CubeMapFace;  /**< 0 .. 5, for cube map textures. */
+   GLuint Zoffset;      /**< Slice for 3D textures,  or layer for both 1D
+                         * and 2D array textures */
 };
 
 
@@ -2438,6 +2457,7 @@ struct gl_constants
    GLint MaxTextureLevels;             /**< Maximum number of allowed mipmap levels. */ 
    GLint Max3DTextureLevels;           /**< Maximum number of allowed mipmap levels for 3D texture targets. */
    GLint MaxCubeTextureLevels;          /**< Maximum number of allowed mipmap levels for GL_ARB_texture_cube_map */
+   GLint MaxArrayTextureLayers;         /**< Maximum number of layers in an array texture. */
    GLint MaxTextureRectSize;            /* GL_NV_texture_rectangle */
    GLuint MaxTextureCoordUnits;
    GLuint MaxTextureImageUnits;
@@ -2586,6 +2606,7 @@ struct gl_extensions
    GLboolean MESA_program_debug;
    GLboolean MESA_resize_buffers;
    GLboolean MESA_ycbcr_texture;
+   GLboolean MESA_texture_array;
    GLboolean NV_blend_square;
    GLboolean NV_fragment_program;
    GLboolean NV_light_max_exponent;
index 96ee5127e11286fed3fdead6398b4326f3db6544..0a83abc7ddac587cb6f8edacf2d9bbe920f863aa 100644 (file)
@@ -812,6 +812,11 @@ _mesa_init_exec_table(struct _glapi_table *exec)
    SET_ProgramEnvParameters4fvEXT(exec, _mesa_ProgramEnvParameters4fvEXT);
    SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT);
 #endif
+
+   /* GL_MESA_texture_array / GL_EXT_texture_array */
+#if FEATURE_EXT_framebuffer_object
+   SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT);
+#endif
 }
 
 
index 9fb430f39b48f3574499c39e30261cc69013a3c7..8e528d9bbb8c71cbd1523aab6f19728b389ca9b0 100644 (file)
@@ -629,6 +629,8 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,
       case GL_TEXTURE_1D:
       case GL_TEXTURE_2D:
       case GL_TEXTURE_3D:
+      case GL_TEXTURE_1D_ARRAY_EXT:
+      case GL_TEXTURE_2D_ARRAY_EXT:
          tObj->Image[0][level] = texImage;
          break;
       case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
@@ -733,7 +735,9 @@ _mesa_is_proxy_texture(GLenum target)
            target == GL_PROXY_TEXTURE_2D ||
            target == GL_PROXY_TEXTURE_3D ||
            target == GL_PROXY_TEXTURE_CUBE_MAP_ARB ||
-           target == GL_PROXY_TEXTURE_RECTANGLE_NV);
+           target == GL_PROXY_TEXTURE_RECTANGLE_NV ||
+           target == GL_PROXY_TEXTURE_1D_ARRAY_EXT ||
+           target == GL_PROXY_TEXTURE_2D_ARRAY_EXT);
 }
 
 
@@ -783,6 +787,18 @@ _mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
       case GL_PROXY_TEXTURE_RECTANGLE_NV:
          return ctx->Extensions.NV_texture_rectangle
                 ? ctx->Texture.ProxyRect : NULL;
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array
+                ? texUnit->Current1DArray : NULL;
+      case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array
+                ? ctx->Texture.Proxy1DArray : NULL;
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array
+                ? texUnit->Current2DArray : NULL;
+      case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array
+                ? ctx->Texture.Proxy2DArray : NULL;
       default:
          _mesa_problem(NULL, "bad target in _mesa_select_tex_object()");
          return NULL;
@@ -848,6 +864,13 @@ _mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,
          else 
             return NULL;
 
+      case GL_TEXTURE_1D_ARRAY_EXT:
+      case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+      case GL_TEXTURE_2D_ARRAY_EXT:
+      case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+         return (ctx->Extensions.MESA_texture_array)
+            ? texObj->Image[0][level] : NULL;
+
       default:
          return NULL;
    }
@@ -973,6 +996,36 @@ _mesa_get_proxy_tex_image(GLcontext *ctx, GLenum target, GLint level)
          texImage->TexObject = ctx->Texture.ProxyRect;
       }
       return texImage;
+   case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+      if (level >= ctx->Const.MaxTextureLevels)
+         return NULL;
+      texImage = ctx->Texture.Proxy1DArray->Image[0][level];
+      if (!texImage) {
+         texImage = ctx->Driver.NewTextureImage(ctx);
+         if (!texImage) {
+            _mesa_error(ctx, GL_OUT_OF_MEMORY, "proxy texture allocation");
+            return NULL;
+         }
+         ctx->Texture.Proxy1DArray->Image[0][level] = texImage;
+         /* Set the 'back' pointer */
+         texImage->TexObject = ctx->Texture.Proxy1DArray;
+      }
+      return texImage;
+   case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+      if (level >= ctx->Const.MaxTextureLevels)
+         return NULL;
+      texImage = ctx->Texture.Proxy2DArray->Image[0][level];
+      if (!texImage) {
+         texImage = ctx->Driver.NewTextureImage(ctx);
+         if (!texImage) {
+            _mesa_error(ctx, GL_OUT_OF_MEMORY, "proxy texture allocation");
+            return NULL;
+         }
+         ctx->Texture.Proxy2DArray->Image[0][level] = texImage;
+         /* Set the 'back' pointer */
+         texImage->TexObject = ctx->Texture.Proxy2DArray;
+      }
+      return texImage;
    default:
       return NULL;
    }
@@ -998,6 +1051,10 @@ _mesa_max_texture_levels(GLcontext *ctx, GLenum target)
    case GL_PROXY_TEXTURE_1D:
    case GL_TEXTURE_2D:
    case GL_PROXY_TEXTURE_2D:
+   case GL_TEXTURE_1D_ARRAY_EXT:
+   case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+   case GL_TEXTURE_2D_ARRAY_EXT:
+   case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
       return ctx->Const.MaxTextureLevels;
    case GL_TEXTURE_3D:
    case GL_PROXY_TEXTURE_3D:
@@ -1292,6 +1349,36 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
          return GL_FALSE;
       }
       return GL_TRUE;
+   case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+      if (width < 2 * border || width > 2 + maxSize ||
+          (!ctx->Extensions.ARB_texture_non_power_of_two &&
+           _mesa_bitcount(width - 2 * border) != 1) ||
+          level >= ctx->Const.MaxTextureLevels) {
+         /* bad width or level */
+         return GL_FALSE;
+      }
+
+      if (height < 1 || height > ctx->Const.MaxArrayTextureLayers) {
+         return GL_FALSE;
+      }
+      return GL_TRUE;
+   case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+      if (width < 2 * border || width > 2 + maxSize ||
+          (!ctx->Extensions.ARB_texture_non_power_of_two &&
+           _mesa_bitcount(width - 2 * border) != 1) ||
+          height < 2 * border || height > 2 + maxSize ||
+          (!ctx->Extensions.ARB_texture_non_power_of_two &&
+           _mesa_bitcount(height - 2 * border) != 1) ||
+          level >= ctx->Const.MaxTextureLevels) {
+         /* bad width or height or level */
+         return GL_FALSE;
+      }
+      if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) {
+         return GL_FALSE;
+      }
+      return GL_TRUE;
    default:
       _mesa_problem(ctx, "Invalid target in _mesa_test_proxy_teximage");
       return GL_FALSE;
@@ -1398,6 +1485,10 @@ texture_error_check( GLcontext *ctx, GLenum target,
          }
          proxy_target = GL_PROXY_TEXTURE_RECTANGLE_NV;
       }
+      else if (target == GL_PROXY_TEXTURE_1D_ARRAY_EXT ||
+               target == GL_TEXTURE_1D_ARRAY_EXT) {
+         proxy_target = GL_PROXY_TEXTURE_1D_ARRAY_EXT;
+      }
       else {
          _mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
          return GL_TRUE;
@@ -1407,6 +1498,10 @@ texture_error_check( GLcontext *ctx, GLenum target,
       if (target == GL_PROXY_TEXTURE_3D || target == GL_TEXTURE_3D) {
          proxy_target = GL_PROXY_TEXTURE_3D;
       }
+      else if (target == GL_PROXY_TEXTURE_2D_ARRAY_EXT ||
+               target == GL_TEXTURE_2D_ARRAY_EXT) {
+         proxy_target = GL_PROXY_TEXTURE_2D_ARRAY_EXT;
+      }
       else {
          _mesa_error( ctx, GL_INVALID_ENUM, "glTexImage3D(target)" );
          return GL_TRUE;
@@ -1595,13 +1690,25 @@ subtexture_error_check( GLcontext *ctx, GLuint dimensions,
             return GL_TRUE;
          }
       }
+      else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+        if (!ctx->Extensions.MESA_texture_array) {
+           _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage2D(target)" );
+           return GL_TRUE;
+        }
+      }
       else if (target != GL_TEXTURE_2D) {
          _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage2D(target)" );
          return GL_TRUE;
       }
    }
    else if (dimensions == 3) {
-      if (target != GL_TEXTURE_3D) {
+      if (target == GL_TEXTURE_2D_ARRAY_EXT) {
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage3D(target)" );
+            return GL_TRUE;
+         }
+      }
+      else if (target != GL_TEXTURE_3D) {
          _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage3D(target)" );
          return GL_TRUE;
       }
@@ -1855,6 +1962,17 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
                                                 format, type,
                                                 width, height, 1, border);
       }
+      else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexImage2D(target)");
+            return GL_TRUE;
+         }
+         sizeOK = ctx->Driver.TestProxyTexImage(ctx,
+                                                GL_PROXY_TEXTURE_1D_ARRAY_EXT,
+                                                level, internalFormat,
+                                                format, type,
+                                                width, height, 1, border);
+      }
       else {
          _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexImage2D(target)" );
          return GL_TRUE;
@@ -1968,15 +2086,23 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions,
             return GL_TRUE;
          }
       }
+      else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage2D(target)" );
+            return GL_TRUE;
+         }
+      }
       else if (target != GL_TEXTURE_2D) {
          _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage2D(target)" );
          return GL_TRUE;
       }
    }
    else if (dimensions == 3) {
-      if (target != GL_TEXTURE_3D) {
-         _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage3D(target)" );
-         return GL_TRUE;
+      if (((target != GL_TEXTURE_2D_ARRAY_EXT) ||
+          (!ctx->Extensions.MESA_texture_array))
+         && (target != GL_TEXTURE_3D)) {
+        _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage3D(target)" );
+        return GL_TRUE;
       }
    }
 
@@ -2393,7 +2519,9 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
         target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&
         target <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB) ||
        (ctx->Extensions.NV_texture_rectangle &&
-        target == GL_TEXTURE_RECTANGLE_NV)) {
+        target == GL_TEXTURE_RECTANGLE_NV) ||
+       (ctx->Extensions.MESA_texture_array &&
+        target == GL_TEXTURE_1D_ARRAY_EXT)) {
       /* non-proxy target */
       struct gl_texture_unit *texUnit;
       struct gl_texture_object *texObj;
@@ -2451,7 +2579,9 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
             (target == GL_PROXY_TEXTURE_CUBE_MAP_ARB &&
              ctx->Extensions.ARB_texture_cube_map) ||
             (target == GL_PROXY_TEXTURE_RECTANGLE_NV &&
-             ctx->Extensions.NV_texture_rectangle)) {
+             ctx->Extensions.NV_texture_rectangle) ||
+            (ctx->Extensions.MESA_texture_array &&
+             target == GL_PROXY_TEXTURE_1D_ARRAY_EXT)) {
       /* Proxy texture: check for errors and update proxy state */
       struct gl_texture_image *texImage;
       texImage = _mesa_get_proxy_tex_image(ctx, target, level);
@@ -2491,7 +2621,9 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (target == GL_TEXTURE_3D) {
+   if (target == GL_TEXTURE_3D ||
+       (ctx->Extensions.MESA_texture_array &&
+        target == GL_TEXTURE_2D_ARRAY_EXT)) {
       /* non-proxy target */
       struct gl_texture_unit *texUnit;
       struct gl_texture_object *texObj;
@@ -2544,7 +2676,9 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
    out:
       _mesa_unlock_texture(ctx, texObj);
    }
-   else if (target == GL_PROXY_TEXTURE_3D) {
+   else if (target == GL_PROXY_TEXTURE_3D ||
+       (ctx->Extensions.MESA_texture_array &&
+        target == GL_PROXY_TEXTURE_2D_ARRAY_EXT)) {
       /* Proxy texture: check for errors and update proxy state */
       struct gl_texture_image *texImage;
       texImage = _mesa_get_proxy_tex_image(ctx, target, level);
index 56d816e45f711c10b68d28a2ce83c539bbeefb41..bd447ac06887b1c2a0d5f3f7668ecd52726b5758 100644 (file)
@@ -104,7 +104,9 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj,
           target == GL_TEXTURE_2D ||
           target == GL_TEXTURE_3D ||
           target == GL_TEXTURE_CUBE_MAP_ARB ||
-          target == GL_TEXTURE_RECTANGLE_NV);
+          target == GL_TEXTURE_RECTANGLE_NV ||
+          target == GL_TEXTURE_1D_ARRAY_EXT ||
+          target == GL_TEXTURE_2D_ARRAY_EXT);
 
    _mesa_bzero(obj, sizeof(*obj));
    /* init the non-zero fields */
@@ -279,11 +281,13 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
    }
 
    /* Compute _MaxLevel */
-   if (t->Target == GL_TEXTURE_1D) {
+   if ((t->Target == GL_TEXTURE_1D) ||
+       (t->Target == GL_TEXTURE_1D_ARRAY_EXT)) {
       maxLog2 = t->Image[0][baseLevel]->WidthLog2;
       maxLevels = ctx->Const.MaxTextureLevels;
    }
-   else if (t->Target == GL_TEXTURE_2D) {
+   else if ((t->Target == GL_TEXTURE_2D) ||
+           (t->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
       maxLog2 = MAX2(t->Image[0][baseLevel]->WidthLog2,
                      t->Image[0][baseLevel]->HeightLog2);
       maxLevels = ctx->Const.MaxTextureLevels;
@@ -365,7 +369,8 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
       }
 
       /* Test things which depend on number of texture image dimensions */
-      if (t->Target == GL_TEXTURE_1D) {
+      if ((t->Target == GL_TEXTURE_1D) ||
+          (t->Target == GL_TEXTURE_1D_ARRAY_EXT)) {
          /* Test 1-D mipmaps */
          GLuint width = t->Image[0][baseLevel]->Width2;
          for (i = baseLevel + 1; i < maxLevels; i++) {
@@ -389,7 +394,8 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
             }
          }
       }
-      else if (t->Target == GL_TEXTURE_2D) {
+      else if ((t->Target == GL_TEXTURE_2D) ||
+               (t->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
          /* Test 2-D mipmaps */
          GLuint width = t->Image[0][baseLevel]->Width2;
          GLuint height = t->Image[0][baseLevel]->Height2;
@@ -652,6 +658,14 @@ unbind_texobj_from_texunits(GLcontext *ctx, struct gl_texture_object *texObj)
          curr = &unit->CurrentRect;
          unit->CurrentRect = ctx->Shared->DefaultRect;
       }
+      else if (texObj == unit->Current1DArray) {
+         curr = &unit->Current1DArray;
+         unit->CurrentRect = ctx->Shared->Default1DArray;
+      }
+      else if (texObj == unit->Current2DArray) {
+         curr = &unit->Current1DArray;
+         unit->CurrentRect = ctx->Shared->Default2DArray;
+      }
 
       if (curr) {
          (*curr)->RefCount++;
@@ -796,6 +810,20 @@ _mesa_BindTexture( GLenum target, GLuint texName )
          }
          oldTexObj = texUnit->CurrentRect;
          break;
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
+            return;
+         }
+         oldTexObj = texUnit->Current1DArray;
+         break;
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
+            return;
+         }
+         oldTexObj = texUnit->Current2DArray;
+         break;
       default:
          _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
          return;
@@ -832,6 +860,12 @@ _mesa_BindTexture( GLenum target, GLuint texName )
          case GL_TEXTURE_RECTANGLE_NV:
             newTexObj = ctx->Shared->DefaultRect;
             break;
+         case GL_TEXTURE_1D_ARRAY_EXT:
+            newTexObj = ctx->Shared->Default1DArray;
+            break;
+         case GL_TEXTURE_2D_ARRAY_EXT:
+            newTexObj = ctx->Shared->Default2DArray;
+            break;
          default:
             ; /* Bad targets are caught above */
       }
@@ -902,6 +936,12 @@ _mesa_BindTexture( GLenum target, GLuint texName )
       case GL_TEXTURE_RECTANGLE_NV:
          texUnit->CurrentRect = newTexObj;
          break;
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         texUnit->Current1DArray = newTexObj;
+         break;
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         texUnit->Current2DArray = newTexObj;
+         break;
       default:
          _mesa_problem(ctx, "bad target in BindTexture");
          return;
index f73858451242c3d6b21bc89afe837df280e5b7e2..8d5468aff0d11f82cf89a5a816bb1bb9a9b42666 100644 (file)
  */
 struct texture_renderbuffer
 {
-   struct gl_renderbuffer Base;   /* Base class object */
+   struct gl_renderbuffer Base;   /**< Base class object */
    struct gl_texture_image *TexImage;
    StoreTexelFunc Store;
-   GLint Zoffset;
+   GLint Yoffset;                 /**< Layer for 1D array textures. */
+   GLint Zoffset;                 /**< Layer for 2D array textures, or slice
+                                  * for 3D textures
+                                  */
 };
 
 
@@ -38,6 +41,8 @@ texture_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
    ASSERT(trb->TexImage->Width == rb->Width);
    ASSERT(trb->TexImage->Height == rb->Height);
 
+   y += trb->Yoffset;
+
    if (rb->DataType == CHAN_TYPE) {
       GLchan *rgbaOut = (GLchan *) values;
       for (i = 0; i < count; i++) {
@@ -87,15 +92,16 @@ texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
    if (rb->DataType == CHAN_TYPE) {
       GLchan *rgbaOut = (GLchan *) values;
       for (i = 0; i < count; i++) {
-         trb->TexImage->FetchTexelc(trb->TexImage, x[i], y[i], z,
-                                    rgbaOut + 4 * i);
+         trb->TexImage->FetchTexelc(trb->TexImage, x[i], y[i] + trb->Yoffset,
+                                   z, rgbaOut + 4 * i);
       }
    }
    else if (rb->DataType == GL_UNSIGNED_INT) {
       GLuint *zValues = (GLuint *) values;
       for (i = 0; i < count; i++) {
          GLfloat flt;
-         trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i], z, &flt);
+         trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i] + trb->Yoffset,
+                                   z, &flt);
 #if 0
          zValues[i] = (GLuint) (flt * 0xffffffff);
 #else
@@ -107,7 +113,8 @@ texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
       GLuint *zValues = (GLuint *) values;
       for (i = 0; i < count; i++) {
          GLfloat flt;
-         trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i], z, &flt);
+         trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i] + trb->Yoffset,
+                                   z, &flt);
          zValues[i] = ((GLuint) (flt * 0xffffff)) << 8;
       }
    }
@@ -129,6 +136,8 @@ texture_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
    const GLint z = trb->Zoffset;
    GLuint i;
 
+   y += trb->Yoffset;
+
    if (rb->DataType == CHAN_TYPE) {
       const GLchan *rgba = (const GLchan *) values;
       for (i = 0; i < count; i++) {
@@ -170,6 +179,8 @@ texture_put_mono_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
    const GLint z = trb->Zoffset;
    GLuint i;
 
+   y += trb->Yoffset;
+
    if (rb->DataType == CHAN_TYPE) {
       const GLchan *rgba = (const GLchan *) value;
       for (i = 0; i < count; i++) {
@@ -215,7 +226,7 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
       const GLchan *rgba = (const GLchan *) values;
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x[i], y[i], z, rgba);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, rgba);
          }
          rgba += 4;
       }
@@ -224,7 +235,8 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
       const GLuint *zValues = (const GLuint *) values;
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x[i], y[i], z, zValues + i);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z,
+                      zValues + i);
          }
       }
    }
@@ -233,7 +245,7 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
             GLfloat flt = (zValues[i] >> 8) * (1.0 / 0xffffff);
-            trb->Store(trb->TexImage, x[i], y[i], z, &flt);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &flt);
          }
       }
    }
@@ -257,7 +269,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
       const GLchan *rgba = (const GLchan *) value;
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x[i], y[i], z, rgba);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, rgba);
          }
       }
    }
@@ -265,7 +277,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
       const GLuint zValue = *((const GLuint *) value);
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x[i], y[i], z, &zValue);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &zValue);
          }
       }
    }
@@ -274,7 +286,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
       const GLfloat flt = (zValue >> 8) * (1.0 / 0xffffff);
       for (i = 0; i < count; i++) {
          if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x[i], y[i], z, &flt);
+            trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &flt);
          }
       }
    }
@@ -350,7 +362,14 @@ update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
    trb->Store = trb->TexImage->TexFormat->StoreTexel;
    ASSERT(trb->Store);
 
-   trb->Zoffset = att->Zoffset;
+   if (att->Texture->Target == GL_TEXTURE_1D_ARRAY_EXT) {
+      trb->Yoffset = att->Zoffset;
+      trb->Zoffset = 0;
+   }
+   else {
+      trb->Yoffset = 0;
+      trb->Zoffset = att->Zoffset;
+   }
 
    trb->Base.Width = trb->TexImage->Width;
    trb->Base.Height = trb->TexImage->Height;
index 1b45eae42c37bb7befb8cc74bfbbbc9808863e19..d15af22b7db32f1fd1c4046dc577cacc8a2001e7 100644 (file)
@@ -154,6 +154,10 @@ _mesa_copy_texture_state( const GLcontext *src, GLcontext *dst )
                            src->Texture.Unit[i].CurrentCubeMap);
       copy_texture_binding(src, &dst->Texture.Unit[i].CurrentRect,
                            src->Texture.Unit[i].CurrentRect);
+      copy_texture_binding(src, &dst->Texture.Unit[i].Current1DArray,
+                           src->Texture.Unit[i].Current1DArray);
+      copy_texture_binding(src, &dst->Texture.Unit[i].Current2DArray,
+                           src->Texture.Unit[i].Current2DArray);
 
       _mesa_unlock_context_textures(dst);
    }
@@ -1221,6 +1225,20 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
          }
          texObj = texUnit->CurrentRect;
          break;
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
+            return;
+         }
+         texObj = texUnit->Current1DArray;
+         break;
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         if (!ctx->Extensions.MESA_texture_array) {
+            _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
+            return;
+         }
+         texObj = texUnit->Current2DArray;
+         break;
       default:
          _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
          return;
@@ -1574,6 +1592,12 @@ tex_image_dimensions(GLcontext *ctx, GLenum target)
       case GL_TEXTURE_RECTANGLE_NV:
       case GL_PROXY_TEXTURE_RECTANGLE_NV:
          return ctx->Extensions.NV_texture_rectangle ? 2 : 0;
+      case GL_TEXTURE_1D_ARRAY_EXT:
+      case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array ? 2 : 0;
+      case GL_TEXTURE_2D_ARRAY_EXT:
+      case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+         return ctx->Extensions.MESA_texture_array ? 3 : 0;
       default:
          _mesa_problem(ctx, "bad target in _mesa_tex_target_dimensions()");
          return 0;
@@ -2864,6 +2888,10 @@ update_texture_state( GLcontext *ctx )
        * complete.  That's the one we'll use for texturing.  If we're using
        * a fragment program we're guaranteed that bitcount(enabledBits) <= 1.
        */
+      texture_override(ctx, texUnit, enableBits,
+                       texUnit->Current2DArray, TEXTURE_2D_ARRAY_BIT);
+      texture_override(ctx, texUnit, enableBits,
+                       texUnit->Current1DArray, TEXTURE_1D_ARRAY_BIT);
       texture_override(ctx, texUnit, enableBits,
                        texUnit->CurrentCubeMap, TEXTURE_CUBE_BIT);
       texture_override(ctx, texUnit, enableBits,
@@ -3032,6 +3060,14 @@ alloc_proxy_textures( GLcontext *ctx )
    if (!ctx->Texture.ProxyRect)
       goto cleanup;
 
+   ctx->Texture.Proxy1DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_1D_ARRAY_EXT);
+   if (!ctx->Texture.Proxy1DArray)
+      goto cleanup;
+
+   ctx->Texture.Proxy2DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_2D_ARRAY_EXT);
+   if (!ctx->Texture.Proxy2DArray)
+      goto cleanup;
+
    return GL_TRUE;
 
  cleanup:
@@ -3045,6 +3081,10 @@ alloc_proxy_textures( GLcontext *ctx )
       (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyCubeMap);
    if (ctx->Texture.ProxyRect)
       (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyRect);
+   if (ctx->Texture.Proxy1DArray)
+      (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy1DArray);
+   if (ctx->Texture.Proxy2DArray)
+      (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy2DArray);
    return GL_FALSE;
 }
 
@@ -3092,6 +3132,8 @@ init_texture_unit( GLcontext *ctx, GLuint unit )
    texUnit->Current3D = ctx->Shared->Default3D;
    texUnit->CurrentCubeMap = ctx->Shared->DefaultCubeMap;
    texUnit->CurrentRect = ctx->Shared->DefaultRect;
+   texUnit->Current1DArray = ctx->Shared->Default1DArray;
+   texUnit->Current2DArray = ctx->Shared->Default2DArray;
 }
 
 
@@ -3112,6 +3154,8 @@ _mesa_init_texture(GLcontext *ctx)
    ctx->Shared->Default3D->RefCount += MAX_TEXTURE_UNITS;
    ctx->Shared->DefaultCubeMap->RefCount += MAX_TEXTURE_UNITS;
    ctx->Shared->DefaultRect->RefCount += MAX_TEXTURE_UNITS;
+   ctx->Shared->Default1DArray->RefCount += MAX_TEXTURE_UNITS;
+   ctx->Shared->Default2DArray->RefCount += MAX_TEXTURE_UNITS;
 
    /* Texture group */
    ctx->Texture.CurrentUnit = 0;      /* multitexture */
@@ -3145,6 +3189,8 @@ _mesa_free_texture_data(GLcontext *ctx)
    (ctx->Driver.DeleteTexture)(ctx,  ctx->Texture.Proxy3D );
    (ctx->Driver.DeleteTexture)(ctx,  ctx->Texture.ProxyCubeMap );
    (ctx->Driver.DeleteTexture)(ctx,  ctx->Texture.ProxyRect );
+   (ctx->Driver.DeleteTexture)(ctx,  ctx->Texture.Proxy1DArray );
+   (ctx->Driver.DeleteTexture)(ctx,  ctx->Texture.Proxy2DArray );
 
    for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++)
       _mesa_free_colortable_data( &ctx->Texture.Unit[i].ColorTable );
index 5027264f031e81a866b4e4083eb6547cedf4b144..7da3c19a89a4bc09aaca93b384558796d978e07b 100644 (file)
@@ -181,7 +181,7 @@ LONGSTRING static char arb_grammar_text[] =
     - changed and merged V_* and F_* opcode values to OP_*.
     - added GL_ARB_fragment_program_shadow specific tokens (michal)
 */
-#define  REVISION                                   0x09
+#define  REVISION                                   0x0a
 
 /* program type */
 #define  FRAGMENT_PROGRAM                           0x01
@@ -209,6 +209,9 @@ LONGSTRING static char arb_grammar_text[] =
 /* GL_ARB_draw_buffers option */
 #define  ARB_DRAW_BUFFERS                           0x07
 
+/* GL_MESA_texture_array option */
+#define  MESA_TEXTURE_ARRAY                        0x08
+
 /* GL_ARB_fragment_program instruction class */
 #define  OP_ALU_INST                                0x00
 #define  OP_TEX_INST                                0x01
@@ -368,6 +371,9 @@ LONGSTRING static char arb_grammar_text[] =
 #define  TEXTARGET_SHADOW1D                         0x06
 #define  TEXTARGET_SHADOW2D                         0x07
 #define  TEXTARGET_SHADOWRECT                       0x08
+/* GL_MESA_texture_array */
+#define  TEXTARGET_1D_ARRAY                         0x09
+#define  TEXTARGET_2D_ARRAY                         0x0a
 
 /* face type */
 #define  FACE_FRONT                                 0x00
@@ -2990,6 +2996,12 @@ parse_fp_instruction (GLcontext * ctx, const GLubyte ** inst,
            case TEXTARGET_SHADOWRECT:
               /* TODO ARB_fragment_program_shadow code */
               break;
+            case TEXTARGET_1D_ARRAY:
+               fp->TexSrcTarget = TEXTURE_1D_ARRAY_INDEX;
+               break;
+            case TEXTARGET_2D_ARRAY:
+               fp->TexSrcTarget = TEXTURE_2D_ARRAY_INDEX;
+               break;
          }
          Program->TexturesUsed[texcoord] |= (1 << fp->TexSrcTarget);
          /* Check that both "2D" and "CUBE" (for example) aren't both used */
@@ -3464,6 +3476,10 @@ parse_instructions(GLcontext * ctx, const GLubyte * inst,
                      /* do nothing for now */
                   }
                   break;
+
+               case MESA_TEXTURE_ARRAY:
+                 /* do nothing for now */
+                  break;
             }
             break;
 
@@ -3603,7 +3619,9 @@ enable_parser_extensions(GLcontext *ctx, grammar id)
    if (ctx->Extensions.ARB_draw_buffers
        && !enable_ext(ctx, id, "draw_buffers"))
       return GL_FALSE;
-
+   if (ctx->Extensions.MESA_texture_array
+       && !enable_ext(ctx, id, "texture_array"))
+      return GL_FALSE;
 #if 1
    /* hack for Warcraft (see bug 8060) */
    enable_ext(ctx, id, "vertex_blend");
index 6ab0f269380c1f07a6b7c162843be05bf64c62a2..4f82717873e1574f72b3a647b6f1ef6aa5bdc1e7 100644 (file)
@@ -36,7 +36,7 @@
    compares the value with its REVISION value. If they do not match, the loader is not up
    to date.
 */
-.emtcode REVISION                                   0x09
+.emtcode REVISION                                   0x0a
 
 /* program type */
 .emtcode FRAGMENT_PROGRAM                           0x01
@@ -64,6 +64,9 @@
 /* GL_ARB_draw_buffers option */
 .emtcode ARB_DRAW_BUFFERS                           0x07
 
+/* GL_MESA_texture_array option */
+.emtcode MESA_TEXTURE_ARRAY                         0x08
+
 /* GL_ARB_fragment_program instruction class */
 .emtcode OP_ALU_INST                                0x00
 .emtcode OP_TEX_INST                                0x01
 .emtcode TEXTARGET_SHADOW1D                         0x06
 .emtcode TEXTARGET_SHADOW2D                         0x07
 .emtcode TEXTARGET_SHADOWRECT                       0x08
+.emtcode TEXTARGET_1D_ARRAY                         0x09
+.emtcode TEXTARGET_2D_ARRAY                         0x0a
 
 /* face type */
 .emtcode FACE_FRONT                                 0x00
 /* GL_ARB_draw_buffers */
 .regbyte draw_buffers                               0x00
 
+/* GL_MESA_texture_array */
+.regbyte texture_array                              0x00
+
 /* option presence condition registers */
 /* they are all initially set to zero - when a particular OPTION is encountered, the appropriate */
 /* register is set to 1 to indicate that the OPTION was specified. */
 /* GL_ARB_draw_buffers */
 .regbyte ARB_draw_buffers                           0x00
 
+/* GL_MESA_texture_array */
+.regbyte MESA_texture_array                         0x00
+
 /* program target condition register */
 /* this syntax script deals with two program targets - VERTEX_PROGRAM and FRAGMENT_PROGRAM. */
 /* to distinguish between them we need a register that will store for us the current target. */
@@ -523,7 +534,9 @@ fp_optionString
     .if (fragment_program_shadow != 0x00) "ARB_fragment_program_shadow"
         .emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01 .or
     .if (draw_buffers != 0x00) "ARB_draw_buffers" .emit ARB_DRAW_BUFFERS
-        .load ARB_draw_buffers 0x01;
+        .load ARB_draw_buffers 0x01 .or
+    .if (texture_array != 0x00) "MESA_texture_array" .emit MESA_TEXTURE_ARRAY
+        .load MESA_texture_array 0x01;
 vp_optionString
     "ARB_position_invariant" .emit ARB_POSITION_INVARIANT .load ARB_position_invariant 0x01;
 fp_ARB_fog_exp
@@ -906,7 +919,9 @@ texTarget
     "3D" .emit TEXTARGET_3D .or
     .if (texture_rectangle != 0x00) "RECT" .emit TEXTARGET_RECT .or
     "CUBE" .emit TEXTARGET_CUBE .or
-    .if (ARB_fragment_program_shadow != 0x00) shadowTarget;
+    .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or
+    .if (MESA_texture_array != 0x00) "ARRAY1D" .emit TEXTARGET_1D_ARRAY .or
+    .if (MESA_texture_array != 0x00) "ARRAY2D" .emit TEXTARGET_2D_ARRAY;
 
 /*
 GL_ARB_fragment_program_shadow
index c67afc67db9fb37c2e05b5d51f365287bf61d427..30dc9f4594e29a1dfc3b3fa66e89c36bfdcdb482 100644 (file)
@@ -1,5 +1,5 @@
 ".syntax program;\n"
-".emtcode REVISION 0x09\n"
+".emtcode REVISION 0x0a\n"
 ".emtcode FRAGMENT_PROGRAM 0x01\n"
 ".emtcode VERTEX_PROGRAM 0x02\n"
 ".emtcode OPTION 0x01\n"
@@ -14,6 +14,7 @@
 ".emtcode ARB_POSITION_INVARIANT 0x05\n"
 ".emtcode ARB_FRAGMENT_PROGRAM_SHADOW 0x06\n"
 ".emtcode ARB_DRAW_BUFFERS 0x07\n"
+".emtcode MESA_TEXTURE_ARRAY 0x08\n"
 ".emtcode OP_ALU_INST 0x00\n"
 ".emtcode OP_TEX_INST 0x01\n"
 ".emtcode OP_ALU_VECTOR 0x00\n"
 ".emtcode TEXTARGET_SHADOW1D 0x06\n"
 ".emtcode TEXTARGET_SHADOW2D 0x07\n"
 ".emtcode TEXTARGET_SHADOWRECT 0x08\n"
+".emtcode TEXTARGET_1D_ARRAY 0x09\n"
+".emtcode TEXTARGET_2D_ARRAY 0x0A\n"
 ".emtcode FACE_FRONT 0x00\n"
 ".emtcode FACE_BACK 0x01\n"
 ".emtcode COLOR_PRIMARY 0x00\n"
 ".regbyte texture_rectangle 0x00\n"
 ".regbyte fragment_program_shadow 0x00\n"
 ".regbyte draw_buffers 0x00\n"
+".regbyte texture_array 0x00\n"
 ".regbyte ARB_precision_hint_fastest 0x00\n"
 ".regbyte ARB_precision_hint_nicest 0x00\n"
 ".regbyte ARB_fog_exp 0x00\n"
 ".regbyte ARB_position_invariant 0x00\n"
 ".regbyte ARB_fragment_program_shadow 0x00\n"
 ".regbyte ARB_draw_buffers 0x00\n"
+".regbyte MESA_texture_array 0x00\n"
 ".regbyte program_target 0x00\n"
 "program\n"
 " programs .error UNKNOWN_PROGRAM_SIGNATURE .emit REVISION;\n"
 " .if (fragment_program_shadow != 0x00) \"ARB_fragment_program_shadow\"\n"
 " .emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01 .or\n"
 " .if (draw_buffers != 0x00) \"ARB_draw_buffers\" .emit ARB_DRAW_BUFFERS\n"
-" .load ARB_draw_buffers 0x01;\n"
+" .load ARB_draw_buffers 0x01 .or\n"
+" .if (texture_array != 0x00) \"MESA_texture_array\" .emit MESA_TEXTURE_ARRAY\n"
+" .load MESA_texture_array 0x01;\n"
 "vp_optionString\n"
 " \"ARB_position_invariant\" .emit ARB_POSITION_INVARIANT .load ARB_position_invariant 0x01;\n"
 "fp_ARB_fog_exp\n"
 " \"3D\" .emit TEXTARGET_3D .or\n"
 " .if (texture_rectangle != 0x00) \"RECT\" .emit TEXTARGET_RECT .or\n"
 " \"CUBE\" .emit TEXTARGET_CUBE .or\n"
-" .if (ARB_fragment_program_shadow != 0x00) shadowTarget;\n"
+" .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or\n"
+" .if (MESA_texture_array != 0x00) \"ARRAY1D\" .emit TEXTARGET_1D_ARRAY .or\n"
+" .if (MESA_texture_array != 0x00) \"ARRAY2D\" .emit TEXTARGET_2D_ARRAY;\n"
 "shadowTarget\n"
 " \"SHADOW1D\" .emit TEXTARGET_SHADOW1D .or\n"
 " \"SHADOW2D\" .emit TEXTARGET_SHADOW2D .or\n"
index 86c9f30e1434e14519c9413e7a89a64c2db468eb..d4ea12870fef54c11b07cbe8ec60466085cb1c85 100644 (file)
@@ -833,10 +833,11 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */
                .globl glIsRenderbufferEXT ; .type glIsRenderbufferEXT,#function
                .globl glRenderbufferStorageEXT ; .type glRenderbufferStorageEXT,#function
                .globl gl_dispatch_stub_767 ; .type gl_dispatch_stub_767,#function
-               .globl gl_dispatch_stub_768 ; .type gl_dispatch_stub_768,#function
+               .globl glFramebufferTextureLayerEXT ; .type glFramebufferTextureLayerEXT,#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 gl_dispatch_stub_772 ; .type gl_dispatch_stub_772,#function
                .globl _mesa_sparc_glapi_begin ; .type _mesa_sparc_glapi_begin,#function
 _mesa_sparc_glapi_begin:
 
@@ -1608,10 +1609,11 @@ _mesa_sparc_glapi_begin:
        GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT)
        GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT)
        GL_STUB(gl_dispatch_stub_767, _gloffset__dispatch_stub_767)
-       GL_STUB(gl_dispatch_stub_768, _gloffset__dispatch_stub_768)
+       GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT)
        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)
+       GL_STUB(gl_dispatch_stub_772, _gloffset__dispatch_stub_772)
 
                .globl _mesa_sparc_glapi_end ; .type _mesa_sparc_glapi_end,#function
 _mesa_sparc_glapi_end:
index 5413fc041018fd4eb863b23d1f537e738e61035d..2c8e443daf9eb6b658f348ec22a81700b4d55e1d 100644 (file)
@@ -2267,6 +2267,597 @@ sample_lambda_rect( GLcontext *ctx,
 
 
 
+/**********************************************************************/
+/*                2D Texture Array Sampling Functions                 */
+/**********************************************************************/
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter.
+ */
+static void
+sample_2d_array_nearest(GLcontext *ctx,
+                        const struct gl_texture_object *tObj,
+                        const struct gl_texture_image *img,
+                        const GLfloat texcoord[4],
+                        GLchan rgba[4])
+{
+   const GLint width = img->Width2;     /* without border, power of two */
+   const GLint height = img->Height2;   /* without border, power of two */
+   const GLint depth = img->Depth;
+   GLint i, j;
+   GLint array;
+   (void) ctx;
+
+   COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoord[0], width,  i);
+   COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoord[1], height, j);
+   array = clamp_rect_coord_nearest(tObj->WrapR, texcoord[2], depth);
+
+   if (i < 0 || i >= (GLint) img->Width ||
+       j < 0 || j >= (GLint) img->Height ||
+       array < 0 || array >= (GLint) img->Depth) {
+      /* Need this test for GL_CLAMP_TO_BORDER mode */
+      COPY_CHAN4(rgba, tObj->_BorderChan);
+   }
+   else {
+      img->FetchTexelc(img, i, j, array, rgba);
+   }
+}
+
+
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_LINEAR filter.
+ */
+static void
+sample_2d_array_linear(GLcontext *ctx,
+                       const struct gl_texture_object *tObj,
+                       const struct gl_texture_image *img,
+                       const GLfloat texcoord[4],
+                       GLchan rgba[4])
+{
+   const GLint width = img->Width2;
+   const GLint height = img->Height2;
+   const GLint depth = img->Depth;
+   GLint i0, j0, i1, j1;
+   GLint array;
+   GLbitfield useBorderColor = 0x0;
+   GLfloat u, v;
+   GLfloat a, b;
+   GLchan t00[4], t01[4], t10[4], t11[4];
+
+   COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoord[0], u, width,  i0, i1);
+   COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoord[1], v, height, j0, j1);
+   array = clamp_rect_coord_nearest(tObj->WrapR, texcoord[2], depth);
+
+   if (array < 0 || array >= depth) {
+      COPY_CHAN4(rgba, tObj->_BorderChan);
+   }
+   else {
+      if (img->Border) {
+        i0 += img->Border;
+        i1 += img->Border;
+        j0 += img->Border;
+        j1 += img->Border;
+      }
+      else {
+        /* check if sampling texture border color */
+        if (i0 < 0 || i0 >= width)   useBorderColor |= I0BIT;
+        if (i1 < 0 || i1 >= width)   useBorderColor |= I1BIT;
+        if (j0 < 0 || j0 >= height)  useBorderColor |= J0BIT;
+        if (j1 < 0 || j1 >= height)  useBorderColor |= J1BIT;
+      }
+
+      /* Fetch texels */
+      if (useBorderColor & (I0BIT | J0BIT)) {
+        COPY_CHAN4(t00, tObj->_BorderChan);
+      }
+      else {
+        img->FetchTexelc(img, i0, j0, array, t00);
+      }
+      if (useBorderColor & (I1BIT | J0BIT)) {
+        COPY_CHAN4(t10, tObj->_BorderChan);
+      }
+      else {
+        img->FetchTexelc(img, i1, j0, array, t10);
+      }
+      if (useBorderColor & (I0BIT | J1BIT)) {
+        COPY_CHAN4(t01, tObj->_BorderChan);
+      }
+      else {
+        img->FetchTexelc(img, i0, j1, array, t01);
+      }
+      if (useBorderColor & (I1BIT | J1BIT)) {
+        COPY_CHAN4(t11, tObj->_BorderChan);
+      }
+      else {
+        img->FetchTexelc(img, i1, j1, array, t11);
+      }
+      
+      /* trilinear interpolation of samples */
+      a = FRAC(u);
+      b = FRAC(v);
+      lerp_rgba_2d(rgba, a, b, t00, t10, t01, t11);
+   }
+}
+
+
+
+static void
+sample_2d_array_nearest_mipmap_nearest(GLcontext *ctx,
+                                       const struct gl_texture_object *tObj,
+                                       GLuint n, const GLfloat texcoord[][4],
+                                       const GLfloat lambda[], GLchan rgba[][4] )
+{
+   GLuint i;
+   for (i = 0; i < n; i++) {
+      GLint level = nearest_mipmap_level(tObj, lambda[i]);
+      sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level], texcoord[i],
+                              rgba[i]);
+   }
+}
+
+
+static void
+sample_2d_array_linear_mipmap_nearest(GLcontext *ctx,
+                                      const struct gl_texture_object *tObj,
+                                      GLuint n, const GLfloat texcoord[][4],
+                                      const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = nearest_mipmap_level(tObj, lambda[i]);
+      sample_2d_array_linear(ctx, tObj, tObj->Image[0][level],
+                             texcoord[i], rgba[i]);
+   }
+}
+
+
+static void
+sample_2d_array_nearest_mipmap_linear(GLcontext *ctx,
+                                      const struct gl_texture_object *tObj,
+                                      GLuint n, const GLfloat texcoord[][4],
+                                      const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = linear_mipmap_level(tObj, lambda[i]);
+      if (level >= tObj->_MaxLevel) {
+         sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+                                 texcoord[i], rgba[i]);
+      }
+      else {
+         GLchan t0[4], t1[4];  /* texels */
+         const GLfloat f = FRAC(lambda[i]);
+         sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level  ], texcoord[i], t0);
+         sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+         lerp_rgba(rgba[i], f, t0, t1);
+      }
+   }
+}
+
+
+static void
+sample_2d_array_linear_mipmap_linear(GLcontext *ctx,
+                               const struct gl_texture_object *tObj,
+                               GLuint n, const GLfloat texcoord[][4],
+                               const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = linear_mipmap_level(tObj, lambda[i]);
+      if (level >= tObj->_MaxLevel) {
+         sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+                          texcoord[i], rgba[i]);
+      }
+      else {
+         GLchan t0[4], t1[4];  /* texels */
+         const GLfloat f = FRAC(lambda[i]);
+         sample_2d_array_linear(ctx, tObj, tObj->Image[0][level  ], texcoord[i], t0);
+         sample_2d_array_linear(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+         lerp_rgba(rgba[i], f, t0, t1);
+      }
+   }
+}
+
+
+static void
+sample_nearest_2d_array(GLcontext *ctx,
+                  const struct gl_texture_object *tObj, GLuint n,
+                  const GLfloat texcoords[][4], const GLfloat lambda[],
+                  GLchan rgba[][4])
+{
+   GLuint i;
+   struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+   (void) lambda;
+   for (i=0;i<n;i++) {
+      sample_2d_array_nearest(ctx, tObj, image, texcoords[i], rgba[i]);
+   }
+}
+
+
+
+static void
+sample_linear_2d_array(GLcontext *ctx,
+                       const struct gl_texture_object *tObj, GLuint n,
+                       const GLfloat texcoords[][4],
+                       const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+   (void) lambda;
+   for (i=0;i<n;i++) {
+      sample_2d_array_linear(ctx, tObj, image, texcoords[i], rgba[i]);
+   }
+}
+
+
+/*
+ * Given an (s,t,r) texture coordinate and lambda (level of detail) value,
+ * return a texture sample.
+ */
+static void
+sample_lambda_2d_array(GLcontext *ctx,
+                       const struct gl_texture_object *tObj, GLuint n,
+                       const GLfloat texcoords[][4], const GLfloat lambda[],
+                       GLchan rgba[][4])
+{
+   GLuint minStart, minEnd;  /* texels with minification */
+   GLuint magStart, magEnd;  /* texels with magnification */
+   GLuint i;
+
+   ASSERT(lambda != NULL);
+   compute_min_mag_ranges(tObj, n, lambda,
+                          &minStart, &minEnd, &magStart, &magEnd);
+
+   if (minStart < minEnd) {
+      /* do the minified texels */
+      GLuint m = minEnd - minStart;
+      switch (tObj->MinFilter) {
+      case GL_NEAREST:
+         for (i = minStart; i < minEnd; i++)
+            sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                    texcoords[i], rgba[i]);
+         break;
+      case GL_LINEAR:
+         for (i = minStart; i < minEnd; i++)
+            sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                   texcoords[i], rgba[i]);
+         break;
+      case GL_NEAREST_MIPMAP_NEAREST:
+         sample_2d_array_nearest_mipmap_nearest(ctx, tObj, m, texcoords + minStart,
+                                                lambda + minStart, rgba + minStart);
+         break;
+      case GL_LINEAR_MIPMAP_NEAREST:
+         sample_2d_array_linear_mipmap_nearest(ctx, tObj, m, 
+                                               texcoords + minStart,
+                                               lambda + minStart,
+                                               rgba + minStart);
+         break;
+      case GL_NEAREST_MIPMAP_LINEAR:
+         sample_2d_array_nearest_mipmap_linear(ctx, tObj, m, texcoords + minStart,
+                                               lambda + minStart, rgba + minStart);
+         break;
+      case GL_LINEAR_MIPMAP_LINEAR:
+         sample_2d_array_linear_mipmap_linear(ctx, tObj, m, 
+                                              texcoords + minStart,
+                                              lambda + minStart, 
+                                              rgba + minStart);
+         break;
+      default:
+         _mesa_problem(ctx, "Bad min filter in sample_2d_array_texture");
+         return;
+      }
+   }
+
+   if (magStart < magEnd) {
+      /* do the magnified texels */
+      switch (tObj->MagFilter) {
+      case GL_NEAREST:
+         for (i = magStart; i < magEnd; i++)
+            sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                              texcoords[i], rgba[i]);
+         break;
+      case GL_LINEAR:
+         for (i = magStart; i < magEnd; i++)
+            sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                   texcoords[i], rgba[i]);
+         break;
+      default:
+         _mesa_problem(ctx, "Bad mag filter in sample_2d_array_texture");
+         return;
+      }
+   }
+}
+
+
+
+
+/**********************************************************************/
+/*                1D Texture Array Sampling Functions                 */
+/**********************************************************************/
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter.
+ */
+static void
+sample_1d_array_nearest(GLcontext *ctx,
+                        const struct gl_texture_object *tObj,
+                        const struct gl_texture_image *img,
+                        const GLfloat texcoord[4],
+                        GLchan rgba[4])
+{
+   const GLint width = img->Width2;     /* without border, power of two */
+   const GLint height = img->Height;
+   GLint i;
+   GLint array;
+   (void) ctx;
+
+   COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoord[0], width,  i);
+   array = clamp_rect_coord_nearest(tObj->WrapT, texcoord[1], height);
+
+   if (i < 0 || i >= (GLint) img->Width ||
+       array < 0 || array >= (GLint) img->Height) {
+      /* Need this test for GL_CLAMP_TO_BORDER mode */
+      COPY_CHAN4(rgba, tObj->_BorderChan);
+   }
+   else {
+      img->FetchTexelc(img, i, array, 0, rgba);
+   }
+}
+
+
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_LINEAR filter.
+ */
+static void
+sample_1d_array_linear(GLcontext *ctx,
+                       const struct gl_texture_object *tObj,
+                       const struct gl_texture_image *img,
+                       const GLfloat texcoord[4],
+                       GLchan rgba[4])
+{
+   const GLint width = img->Width2;
+   const GLint height = img->Height;
+   GLint i0, i1;
+   GLint array;
+   GLbitfield useBorderColor = 0x0;
+   GLfloat u;
+   GLfloat a;
+   GLchan t0[4], t1[4];
+
+   COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoord[0], u, width,  i0, i1);
+   array = clamp_rect_coord_nearest(tObj->WrapT, texcoord[1], height);
+
+   if (img->Border) {
+      i0 += img->Border;
+      i1 += img->Border;
+   }
+   else {
+      /* check if sampling texture border color */
+      if (i0 < 0 || i0 >= width)   useBorderColor |= I0BIT;
+      if (i1 < 0 || i1 >= width)   useBorderColor |= I1BIT;
+   }
+
+   if (array < 0 || array >= height)   useBorderColor |= K0BIT;
+
+   /* Fetch texels */
+   if (useBorderColor & (I0BIT | K0BIT)) {
+      COPY_CHAN4(t0, tObj->_BorderChan);
+   }
+   else {
+      img->FetchTexelc(img, i0, array, 0, t0);
+   }
+   if (useBorderColor & (I1BIT | K0BIT)) {
+      COPY_CHAN4(t1, tObj->_BorderChan);
+   }
+   else {
+      img->FetchTexelc(img, i1, array, 0, t1);
+   }
+
+   /* bilinear interpolation of samples */
+   a = FRAC(u);
+   lerp_rgba(rgba, a, t0, t1);
+}
+
+
+
+static void
+sample_1d_array_nearest_mipmap_nearest(GLcontext *ctx,
+                                       const struct gl_texture_object *tObj,
+                                       GLuint n, const GLfloat texcoord[][4],
+                                       const GLfloat lambda[], GLchan rgba[][4] )
+{
+   GLuint i;
+   for (i = 0; i < n; i++) {
+      GLint level = nearest_mipmap_level(tObj, lambda[i]);
+      sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level], texcoord[i],
+                              rgba[i]);
+   }
+}
+
+
+static void
+sample_1d_array_linear_mipmap_nearest(GLcontext *ctx,
+                                      const struct gl_texture_object *tObj,
+                                      GLuint n, const GLfloat texcoord[][4],
+                                      const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = nearest_mipmap_level(tObj, lambda[i]);
+      sample_1d_array_linear(ctx, tObj, tObj->Image[0][level],
+                             texcoord[i], rgba[i]);
+   }
+}
+
+
+static void
+sample_1d_array_nearest_mipmap_linear(GLcontext *ctx,
+                                      const struct gl_texture_object *tObj,
+                                      GLuint n, const GLfloat texcoord[][4],
+                                      const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = linear_mipmap_level(tObj, lambda[i]);
+      if (level >= tObj->_MaxLevel) {
+         sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+                                 texcoord[i], rgba[i]);
+      }
+      else {
+         GLchan t0[4], t1[4];  /* texels */
+         const GLfloat f = FRAC(lambda[i]);
+         sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level  ], texcoord[i], t0);
+         sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+         lerp_rgba(rgba[i], f, t0, t1);
+      }
+   }
+}
+
+
+static void
+sample_1d_array_linear_mipmap_linear(GLcontext *ctx,
+                               const struct gl_texture_object *tObj,
+                               GLuint n, const GLfloat texcoord[][4],
+                               const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   ASSERT(lambda != NULL);
+   for (i = 0; i < n; i++) {
+      GLint level = linear_mipmap_level(tObj, lambda[i]);
+      if (level >= tObj->_MaxLevel) {
+         sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+                          texcoord[i], rgba[i]);
+      }
+      else {
+         GLchan t0[4], t1[4];  /* texels */
+         const GLfloat f = FRAC(lambda[i]);
+         sample_1d_array_linear(ctx, tObj, tObj->Image[0][level  ], texcoord[i], t0);
+         sample_1d_array_linear(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+         lerp_rgba(rgba[i], f, t0, t1);
+      }
+   }
+}
+
+
+static void
+sample_nearest_1d_array(GLcontext *ctx,
+                  const struct gl_texture_object *tObj, GLuint n,
+                  const GLfloat texcoords[][4], const GLfloat lambda[],
+                  GLchan rgba[][4])
+{
+   GLuint i;
+   struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+   (void) lambda;
+   for (i=0;i<n;i++) {
+      sample_1d_array_nearest(ctx, tObj, image, texcoords[i], rgba[i]);
+   }
+}
+
+
+
+static void
+sample_linear_1d_array(GLcontext *ctx,
+                       const struct gl_texture_object *tObj, GLuint n,
+                       const GLfloat texcoords[][4],
+                       const GLfloat lambda[], GLchan rgba[][4])
+{
+   GLuint i;
+   struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+   (void) lambda;
+   for (i=0;i<n;i++) {
+      sample_1d_array_linear(ctx, tObj, image, texcoords[i], rgba[i]);
+   }
+}
+
+
+/*
+ * Given an (s,t,r) texture coordinate and lambda (level of detail) value,
+ * return a texture sample.
+ */
+static void
+sample_lambda_1d_array(GLcontext *ctx,
+                       const struct gl_texture_object *tObj, GLuint n,
+                       const GLfloat texcoords[][4], const GLfloat lambda[],
+                       GLchan rgba[][4])
+{
+   GLuint minStart, minEnd;  /* texels with minification */
+   GLuint magStart, magEnd;  /* texels with magnification */
+   GLuint i;
+
+   ASSERT(lambda != NULL);
+   compute_min_mag_ranges(tObj, n, lambda,
+                          &minStart, &minEnd, &magStart, &magEnd);
+
+   if (minStart < minEnd) {
+      /* do the minified texels */
+      GLuint m = minEnd - minStart;
+      switch (tObj->MinFilter) {
+      case GL_NEAREST:
+         for (i = minStart; i < minEnd; i++)
+            sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                    texcoords[i], rgba[i]);
+         break;
+      case GL_LINEAR:
+         for (i = minStart; i < minEnd; i++)
+            sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                   texcoords[i], rgba[i]);
+         break;
+      case GL_NEAREST_MIPMAP_NEAREST:
+         sample_1d_array_nearest_mipmap_nearest(ctx, tObj, m, texcoords + minStart,
+                                                lambda + minStart, rgba + minStart);
+         break;
+      case GL_LINEAR_MIPMAP_NEAREST:
+         sample_1d_array_linear_mipmap_nearest(ctx, tObj, m, 
+                                               texcoords + minStart,
+                                               lambda + minStart,
+                                               rgba + minStart);
+         break;
+      case GL_NEAREST_MIPMAP_LINEAR:
+         sample_1d_array_nearest_mipmap_linear(ctx, tObj, m, texcoords + minStart,
+                                               lambda + minStart, rgba + minStart);
+         break;
+      case GL_LINEAR_MIPMAP_LINEAR:
+         sample_1d_array_linear_mipmap_linear(ctx, tObj, m, 
+                                              texcoords + minStart,
+                                              lambda + minStart, 
+                                              rgba + minStart);
+         break;
+      default:
+         _mesa_problem(ctx, "Bad min filter in sample_1d_array_texture");
+         return;
+      }
+   }
+
+   if (magStart < magEnd) {
+      /* do the magnified texels */
+      switch (tObj->MagFilter) {
+      case GL_NEAREST:
+         for (i = magStart; i < magEnd; i++)
+            sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                              texcoords[i], rgba[i]);
+         break;
+      case GL_LINEAR:
+         for (i = magStart; i < magEnd; i++)
+            sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+                                   texcoords[i], rgba[i]);
+         break;
+      default:
+         _mesa_problem(ctx, "Bad mag filter in sample_1d_array_texture");
+         return;
+      }
+   }
+}
+
+
+
+
 /*
  * Sample a shadow/depth texture.
  */
@@ -2280,6 +2871,9 @@ sample_depth_texture( GLcontext *ctx,
    const struct gl_texture_image *img = tObj->Image[0][baseLevel];
    const GLint width = img->Width;
    const GLint height = img->Height;
+   const GLint depth = img->Depth;
+   const GLuint compare_coord = (tObj->Target == GL_TEXTURE_2D_ARRAY_EXT)
+       ? 3 : 2;
    GLchan ambient;
    GLenum function;
    GLchan result;
@@ -2291,7 +2885,9 @@ sample_depth_texture( GLcontext *ctx,
 
    ASSERT(tObj->Target == GL_TEXTURE_1D ||
           tObj->Target == GL_TEXTURE_2D ||
-          tObj->Target == GL_TEXTURE_RECTANGLE_NV);
+          tObj->Target == GL_TEXTURE_RECTANGLE_NV ||
+          tObj->Target == GL_TEXTURE_1D_ARRAY_EXT ||
+          tObj->Target == GL_TEXTURE_2D_ARRAY_EXT);
 
    UNCLAMPED_FLOAT_TO_CHAN(ambient, tObj->ShadowAmbient);
 
@@ -2320,20 +2916,48 @@ sample_depth_texture( GLcontext *ctx,
       GLuint i;
       for (i = 0; i < n; i++) {
          GLfloat depthSample;
-         GLint col, row;
+         GLint col, row, slice;
 
-         if (tObj->Target == GL_TEXTURE_RECTANGLE_ARB) {
+         switch (tObj->Target) {
+         case GL_TEXTURE_RECTANGLE_ARB:
             col = clamp_rect_coord_nearest(tObj->WrapS, texcoords[i][0], width);
             row = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
-         }
-         else {
+            slice = 0;
+            break;
+            
+         case GL_TEXTURE_1D:
+            COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+                                           width, col);
+            row = 0;
+            slice = 0;
+            break;
+
+         case GL_TEXTURE_2D:
             COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
                                            width, col);
             COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoords[i][1],
                                            height, row);
+            slice = 0;
+            break;
+
+         case GL_TEXTURE_1D_ARRAY_EXT:
+            COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+                                           width, col);
+            row = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
+            slice = 0;
+
+         case GL_TEXTURE_2D_ARRAY_EXT:
+            COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+                                           width, col);
+            COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoords[i][1],
+                                           height, row);
+            slice = clamp_rect_coord_nearest(tObj->WrapR, texcoords[i][2], depth);
+            break;
          }
-         if (col >= 0 && row >= 0 && col < width && row < height) {
-            img->FetchTexelf(img, col, row, 0, &depthSample);
+
+         if (col >= 0 && row >= 0 && col < width && row < height && 
+             slice >= 0 && slice < depth) {
+            img->FetchTexelf(img, col, row, slice, &depthSample);
          }
          else {
             depthSample = tObj->BorderColor[0];
@@ -2341,22 +2965,22 @@ sample_depth_texture( GLcontext *ctx,
 
          switch (function) {
          case GL_LEQUAL:
-            result = (texcoords[i][2] <= depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] <= depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_GEQUAL:
-            result = (texcoords[i][2] >= depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] >= depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_LESS:
-            result = (texcoords[i][2] < depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] < depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_GREATER:
-            result = (texcoords[i][2] > depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] > depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_EQUAL:
-            result = (texcoords[i][2] == depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] == depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_NOTEQUAL:
-            result = (texcoords[i][2] != depthSample) ? CHAN_MAX : ambient;
+            result = (texcoords[i][compare_coord] != depthSample) ? CHAN_MAX : ambient;
             break;
          case GL_ALWAYS:
             result = CHAN_MAX;
@@ -2402,28 +3026,52 @@ sample_depth_texture( GLcontext *ctx,
       for (i = 0; i < n; i++) {
          GLfloat depth00, depth01, depth10, depth11;
          GLint i0, i1, j0, j1;
+         GLint slice;
          GLfloat u, v;
          GLuint useBorderTexel;
 
-         if (tObj->Target == GL_TEXTURE_RECTANGLE_ARB) {
+         switch (tObj->Target) {
+         case GL_TEXTURE_RECTANGLE_ARB:
             clamp_rect_coord_linear(tObj->WrapS, texcoords[i][0],
                                     width, &i0, &i1);
             clamp_rect_coord_linear(tObj->WrapT, texcoords[i][1],
                                     height, &j0, &j1);
-         }
-         else {
+            slice = 0;
+            break;
+
+         case GL_TEXTURE_1D:
+         case GL_TEXTURE_2D:
             COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
                                            u, width, i0, i1);
             COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoords[i][1],
                                            v, height,j0, j1);
+            slice = 0;
+            break;
+
+         case GL_TEXTURE_1D_ARRAY_EXT:
+            COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
+                                           u, width, i0, i1);
+            j0 = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
+            j1 = j0;
+            slice = 0;
+
+         case GL_TEXTURE_2D_ARRAY_EXT:
+            COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
+                                           u, width, i0, i1);
+            COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoords[i][1],
+                                           v, height,j0, j1);
+            slice = clamp_rect_coord_nearest(tObj->WrapR, texcoords[i][2], depth);
+            break;
          }
 
          useBorderTexel = 0;
          if (img->Border) {
             i0 += img->Border;
             i1 += img->Border;
-            j0 += img->Border;
-            j1 += img->Border;
+            if (tObj->Target != GL_TEXTURE_1D_ARRAY_EXT) {
+               j0 += img->Border;
+               j1 += img->Border;
+            }
          }
          else {
             if (i0 < 0 || i0 >= (GLint) width)   useBorderTexel |= I0BIT;
@@ -2432,30 +3080,45 @@ sample_depth_texture( GLcontext *ctx,
             if (j1 < 0 || j1 >= (GLint) height)  useBorderTexel |= J1BIT;
          }
 
-         /* get four depth samples from the texture */
-         if (useBorderTexel & (I0BIT | J0BIT)) {
+         if (slice < 0 || slice >= (GLint) depth) {
             depth00 = tObj->BorderColor[0];
-         }
-         else {
-            img->FetchTexelf(img, i0, j0, 0, &depth00);
-         }
-         if (useBorderTexel & (I1BIT | J0BIT)) {
-            depth10 = tObj->BorderColor[0];
-         }
-         else {
-            img->FetchTexelf(img, i1, j0, 0, &depth10);
-         }
-         if (useBorderTexel & (I0BIT | J1BIT)) {
             depth01 = tObj->BorderColor[0];
-         }
-         else {
-            img->FetchTexelf(img, i0, j1, 0, &depth01);
-         }
-         if (useBorderTexel & (I1BIT | J1BIT)) {
+            depth10 = tObj->BorderColor[0];
             depth11 = tObj->BorderColor[0];
          }
          else {
-            img->FetchTexelf(img, i1, j1, 0, &depth11);
+            /* get four depth samples from the texture */
+            if (useBorderTexel & (I0BIT | J0BIT)) {
+               depth00 = tObj->BorderColor[0];
+            }
+            else {
+               img->FetchTexelf(img, i0, j0, slice, &depth00);
+            }
+            if (useBorderTexel & (I1BIT | J0BIT)) {
+               depth10 = tObj->BorderColor[0];
+            }
+            else {
+               img->FetchTexelf(img, i1, j0, slice, &depth10);
+            }
+
+            if (tObj->Target != GL_TEXTURE_1D_ARRAY_EXT) {
+               if (useBorderTexel & (I0BIT | J1BIT)) {
+                  depth01 = tObj->BorderColor[0];
+               }
+               else {
+                  img->FetchTexelf(img, i0, j1, slice, &depth01);
+               }
+               if (useBorderTexel & (I1BIT | J1BIT)) {
+                  depth11 = tObj->BorderColor[0];
+               }
+               else {
+                  img->FetchTexelf(img, i1, j1, slice, &depth11);
+               }
+            }
+            else {
+               depth01 = depth00;
+               depth11 = depth10;
+            }
          }
 
          if (0) {
@@ -2464,8 +3127,8 @@ sample_depth_texture( GLcontext *ctx,
             const GLfloat b = FRAC(v + 1.0F);
             const GLfloat depthSample
                = lerp_2d(a, b, depth00, depth10, depth01, depth11);
-            if ((depthSample <= texcoords[i][2] && function == GL_LEQUAL) ||
-                (depthSample >= texcoords[i][2] && function == GL_GEQUAL)) {
+            if ((depthSample <= texcoords[i][compare_coord] && function == GL_LEQUAL) ||
+                (depthSample >= texcoords[i][compare_coord] && function == GL_GEQUAL)) {
                result  = ambient;
             }
             else {
@@ -2482,45 +3145,45 @@ sample_depth_texture( GLcontext *ctx,
 
             switch (function) {
             case GL_LEQUAL:
-               if (depth00 <= texcoords[i][2])  luminance -= d;
-               if (depth01 <= texcoords[i][2])  luminance -= d;
-               if (depth10 <= texcoords[i][2])  luminance -= d;
-               if (depth11 <= texcoords[i][2])  luminance -= d;
+               if (depth00 <= texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 <= texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 <= texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 <= texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_GEQUAL:
-               if (depth00 >= texcoords[i][2])  luminance -= d;
-               if (depth01 >= texcoords[i][2])  luminance -= d;
-               if (depth10 >= texcoords[i][2])  luminance -= d;
-               if (depth11 >= texcoords[i][2])  luminance -= d;
+               if (depth00 >= texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 >= texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 >= texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 >= texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_LESS:
-               if (depth00 < texcoords[i][2])  luminance -= d;
-               if (depth01 < texcoords[i][2])  luminance -= d;
-               if (depth10 < texcoords[i][2])  luminance -= d;
-               if (depth11 < texcoords[i][2])  luminance -= d;
+               if (depth00 < texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 < texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 < texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 < texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_GREATER:
-               if (depth00 > texcoords[i][2])  luminance -= d;
-               if (depth01 > texcoords[i][2])  luminance -= d;
-               if (depth10 > texcoords[i][2])  luminance -= d;
-               if (depth11 > texcoords[i][2])  luminance -= d;
+               if (depth00 > texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 > texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 > texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 > texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_EQUAL:
-               if (depth00 == texcoords[i][2])  luminance -= d;
-               if (depth01 == texcoords[i][2])  luminance -= d;
-               if (depth10 == texcoords[i][2])  luminance -= d;
-               if (depth11 == texcoords[i][2])  luminance -= d;
+               if (depth00 == texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 == texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 == texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 == texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_NOTEQUAL:
-               if (depth00 != texcoords[i][2])  luminance -= d;
-               if (depth01 != texcoords[i][2])  luminance -= d;
-               if (depth10 != texcoords[i][2])  luminance -= d;
-               if (depth11 != texcoords[i][2])  luminance -= d;
+               if (depth00 != texcoords[i][compare_coord])  luminance -= d;
+               if (depth01 != texcoords[i][compare_coord])  luminance -= d;
+               if (depth10 != texcoords[i][compare_coord])  luminance -= d;
+               if (depth11 != texcoords[i][compare_coord])  luminance -= d;
                result = (GLchan) luminance;
                break;
             case GL_ALWAYS:
@@ -2792,6 +3455,28 @@ _swrast_choose_texture_sample_func( GLcontext *ctx,
             ASSERT(t->MinFilter == GL_NEAREST);
             return &sample_nearest_rect;
          }
+      case GL_TEXTURE_1D_ARRAY_EXT:
+         if (needLambda) {
+            return &sample_lambda_1d_array;
+         }
+         else if (t->MinFilter == GL_LINEAR) {
+            return &sample_linear_1d_array;
+         }
+         else {
+            ASSERT(t->MinFilter == GL_NEAREST);
+            return &sample_nearest_1d_array;
+         }
+      case GL_TEXTURE_2D_ARRAY_EXT:
+         if (needLambda) {
+            return &sample_lambda_2d_array;
+         }
+         else if (t->MinFilter == GL_LINEAR) {
+            return &sample_linear_2d_array;
+         }
+         else {
+            ASSERT(t->MinFilter == GL_NEAREST);
+            return &sample_nearest_2d_array;
+         }
       default:
          _mesa_problem(ctx,
                        "invalid target in _swrast_choose_texture_sample_func");
index eb54ba4848ff254e0587f6ccdb9789526a129e49..e62dde8a2f7af19daac401538b8a1a69a611a71a 100644 (file)
@@ -29071,10 +29071,9 @@ GL_PREFIX(_dispatch_stub_767):
        .size   GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767)
 
        .p2align        4,,15
-       .globl  GL_PREFIX(_dispatch_stub_768)
-       .type   GL_PREFIX(_dispatch_stub_768), @function
-       HIDDEN(GL_PREFIX(_dispatch_stub_768))
-GL_PREFIX(_dispatch_stub_768):
+       .globl  GL_PREFIX(FramebufferTextureLayerEXT)
+       .type   GL_PREFIX(FramebufferTextureLayerEXT), @function
+GL_PREFIX(FramebufferTextureLayerEXT):
 #if defined(GLX_USE_TLS)
        call    _x86_64_get_dispatch@PLT
        movq    6144(%rax), %r11
@@ -29084,9 +29083,9 @@ GL_PREFIX(_dispatch_stub_768):
        pushq   %rsi
        pushq   %rdx
        pushq   %rcx
-       pushq   %rbp
+       pushq   %r8
        call    _x86_64_get_dispatch@PLT
-       popq    %rbp
+       popq    %r8
        popq    %rcx
        popq    %rdx
        popq    %rsi
@@ -29104,9 +29103,9 @@ GL_PREFIX(_dispatch_stub_768):
        pushq   %rsi
        pushq   %rdx
        pushq   %rcx
-       pushq   %rbp
+       pushq   %r8
        call    _glapi_get_dispatch
-       popq    %rbp
+       popq    %r8
        popq    %rcx
        popq    %rdx
        popq    %rsi
@@ -29114,7 +29113,7 @@ GL_PREFIX(_dispatch_stub_768):
        movq    6144(%rax), %r11
        jmp     *%r11
 #endif /* defined(GLX_USE_TLS) */
-       .size   GL_PREFIX(_dispatch_stub_768), .-GL_PREFIX(_dispatch_stub_768)
+       .size   GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT)
 
        .p2align        4,,15
        .globl  GL_PREFIX(_dispatch_stub_769)
@@ -29175,7 +29174,11 @@ GL_PREFIX(_dispatch_stub_770):
        pushq   %rdi
        pushq   %rsi
        pushq   %rdx
+       pushq   %rcx
+       pushq   %rbp
        call    _x86_64_get_dispatch@PLT
+       popq    %rbp
+       popq    %rcx
        popq    %rdx
        popq    %rsi
        popq    %rdi
@@ -29191,7 +29194,11 @@ GL_PREFIX(_dispatch_stub_770):
        pushq   %rdi
        pushq   %rsi
        pushq   %rdx
+       pushq   %rcx
+       pushq   %rbp
        call    _glapi_get_dispatch
+       popq    %rbp
+       popq    %rcx
        popq    %rdx
        popq    %rsi
        popq    %rdi
@@ -29238,6 +29245,44 @@ GL_PREFIX(_dispatch_stub_771):
 #endif /* defined(GLX_USE_TLS) */
        .size   GL_PREFIX(_dispatch_stub_771), .-GL_PREFIX(_dispatch_stub_771)
 
+       .p2align        4,,15
+       .globl  GL_PREFIX(_dispatch_stub_772)
+       .type   GL_PREFIX(_dispatch_stub_772), @function
+       HIDDEN(GL_PREFIX(_dispatch_stub_772))
+GL_PREFIX(_dispatch_stub_772):
+#if defined(GLX_USE_TLS)
+       call    _x86_64_get_dispatch@PLT
+       movq    6176(%rax), %r11
+       jmp     *%r11
+#elif defined(PTHREADS)
+       pushq   %rdi
+       pushq   %rsi
+       pushq   %rdx
+       call    _x86_64_get_dispatch@PLT
+       popq    %rdx
+       popq    %rsi
+       popq    %rdi
+       movq    6176(%rax), %r11
+       jmp     *%r11
+#else
+       movq    _glapi_Dispatch(%rip), %rax
+       testq   %rax, %rax
+       je      1f
+       movq    6176(%rax), %r11
+       jmp     *%r11
+1:
+       pushq   %rdi
+       pushq   %rsi
+       pushq   %rdx
+       call    _glapi_get_dispatch
+       popq    %rdx
+       popq    %rsi
+       popq    %rdi
+       movq    6176(%rax), %r11
+       jmp     *%r11
+#endif /* defined(GLX_USE_TLS) */
+       .size   GL_PREFIX(_dispatch_stub_772), .-GL_PREFIX(_dispatch_stub_772)
+
        .globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement)
        .globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture)
        .globl GL_PREFIX(DrawArraysEXT) ; .set GL_PREFIX(DrawArraysEXT), GL_PREFIX(DrawArrays)
index 1106eeede8746a029f16d8e358790f5ada8bddac..bdf42ac0887970502d609c89206394dd0b40e8af 100644 (file)
@@ -938,14 +938,15 @@ GLNAME(gl_dispatch_functions_start):
        GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16)
        GL_STUB(_dispatch_stub_767, _gloffset_BlitFramebufferEXT, _dispatch_stub_767@40)
        HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@40))
-       GL_STUB(_dispatch_stub_768, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_768@16)
-       HIDDEN(GL_PREFIX(_dispatch_stub_768, _dispatch_stub_768@16))
-       GL_STUB(_dispatch_stub_769, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_769@16)
+       GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20)
+       GL_STUB(_dispatch_stub_769, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_769@16)
        HIDDEN(GL_PREFIX(_dispatch_stub_769, _dispatch_stub_769@16))
-       GL_STUB(_dispatch_stub_770, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_770@12)
-       HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@12))
-       GL_STUB(_dispatch_stub_771, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_771@12)
+       GL_STUB(_dispatch_stub_770, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_770@16)
+       HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@16))
+       GL_STUB(_dispatch_stub_771, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_771@12)
        HIDDEN(GL_PREFIX(_dispatch_stub_771, _dispatch_stub_771@12))
+       GL_STUB(_dispatch_stub_772, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_772@12)
+       HIDDEN(GL_PREFIX(_dispatch_stub_772, _dispatch_stub_772@12))
        GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4)
        GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8)
        GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12)