Sort the enums in the Python code, instead of at runtime. (Zack Rusin)
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 23 Feb 2005 16:36:17 +0000 (16:36 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 23 Feb 2005 16:36:17 +0000 (16:36 +0000)
src/mesa/glapi/gl_enums.py
src/mesa/main/enums.c

index 509afec381eec6117bed8a895d7e09977d55d09f..776f814b5b6d9c9c54f957daae5747ff58e56409 100644 (file)
@@ -53,11 +53,11 @@ class PrintGlEnums(gl_XML.FilterGLAPISpecBase):
                print '   int n;'
                print '} enum_elt;'
                print ''
-               print 'static enum_elt all_enums[] ='
+               print 'static const enum_elt all_enums[] ='
                print '{'
                return
 
-       def printRealFooter(self):
+       def printBody(self):
                print """
 };
 
@@ -65,92 +65,72 @@ class PrintGlEnums(gl_XML.FilterGLAPISpecBase):
 
 typedef int (*cfunc)(const void *, const void *);
 
-static enum_elt **index1;
-static int sorted;
-
-static int compar_name( const enum_elt *a, const enum_elt *b )
-{
-   return _mesa_strcmp(a->c, b->c);
-}
-
-
 /* note the extra level of indirection
  */
-static int compar_nr( const enum_elt **a, const enum_elt **b )
+static int compar_name( const enum_elt **a, const enum_elt **b )
 {
-   return (*a)->n - (*b)->n;
+   return _mesa_strcmp((*a)->c, (*b)->c);
 }
 
-
-static void sort_enums( void )
+static int compar_nr( const enum_elt *a, const enum_elt *b )
 {
-   GLuint i;
-   index1 = (enum_elt **)MALLOC( Elements(all_enums) * sizeof(enum_elt *) );
-   sorted = 1;
-
-   if (!index1)
-      return;  /* what else can we do? */
-
-   qsort( all_enums, Elements(all_enums), sizeof(*all_enums),
-         (cfunc) compar_name );
-
-   for (i = 0 ; i < Elements(all_enums) ; i++)
-      index1[i] = &all_enums[i];
-
-   qsort( index1, Elements(all_enums), sizeof(*index1), (cfunc) compar_nr );
+   return a->n - b->n;
 }
 
 
+static char token_tmp[20];
 
-int _mesa_lookup_enum_by_name( const char *symbol )
+const char *_mesa_lookup_enum_by_nr( int nr )
 {
-   enum_elt tmp;
-   enum_elt *e;
+   enum_elt tmp, *e;
 
-   if (!sorted)
-      sort_enums();
-
-   if (!symbol)
-      return 0;
+   tmp.n = nr;
 
-   tmp.c = symbol;
    e = (enum_elt *)bsearch( &tmp, all_enums, Elements(all_enums),
-                           sizeof(*all_enums), (cfunc) compar_name );
+                            sizeof(*all_enums), (cfunc) compar_nr );
 
-   return e ? e->n : -1;
+   if (e) {
+      return e->c;
+   }
+   else {
+      /* this isn't re-entrant safe, no big deal here */
+      _mesa_sprintf(token_tmp, "0x%x", nr);
+      return token_tmp;
+   }
 }
 
-
-static char token_tmp[20];
-
-const char *_mesa_lookup_enum_by_nr( int nr )
+int _mesa_lookup_enum_by_name( const char *symbol )
 {
    enum_elt tmp, *e, **f;
+   static const enum_elt * const index1[] = {"""
 
-   if (!sorted)
-      sort_enums();
+       def printRealFooter(self):
+               print """   };
 
-   tmp.n = nr;
+   if (!symbol)
+      return 0;
+
+   tmp.c = symbol;
    e = &tmp;
 
    f = (enum_elt **)bsearch( &e, index1, Elements(all_enums),
-                            sizeof(*index1), (cfunc) compar_nr );
+                           sizeof(*index1), (cfunc) compar_name );
 
-   if (f) {
-      return (*f)->c;
-   }
-   else {
-      /* this isn't re-entrant safe, no big deal here */
-      _mesa_sprintf(token_tmp, "0x%x", nr);
-      return token_tmp;
-   }
+   return f ? (*f)->n : -1;
 }
+
 """
                return
 
        def printFunctions(self):
+               self.enums.sort(lambda x,y: x.value - y.value)
                for enum in self.enums:
                        print '   { "%s", 0x%X },' % (enum.name, enum.value)
+               nameEnums = self.enums[:]
+               self.printBody();
+               self.enums.sort(lambda x,y: cmp(x.name, y.name))
+               for enum in self.enums:
+                       print '      &all_enums[%d], ' % (nameEnums.index(enum))
                return
 
 
index 99c40c41c7afdc0e0e3453067f4e2d88948f1031..21b4cc41e3e179af4879a72d0831d05cdd441528 100644 (file)
@@ -34,30 +34,44 @@ typedef struct {
    int n;
 } enum_elt;
 
-static enum_elt all_enums[] =
+static const enum_elt all_enums[] =
 {
-   { "GL_FALSE", 0x0 },
-   { "GL_TRUE", 0x1 },
+   { "GL_ALL_CLIENT_ATTRIB_BITS", 0xFFFFFFFF },
+   { "GL_CLIENT_ALL_ATTRIB_BITS", 0xFFFFFFFF },
    { "GL_ZERO", 0x0 },
-   { "GL_ONE", 0x1 },
-   { "GL_NONE", 0x0 },
    { "GL_NO_ERROR", 0x0 },
    { "GL_POINTS", 0x0 },
+   { "GL_NONE", 0x0 },
+   { "GL_FALSE", 0x0 },
+   { "GL_CURRENT_BIT", 0x1 },
+   { "GL_CLIENT_PIXEL_STORE_BIT", 0x1 },
    { "GL_LINES", 0x1 },
+   { "GL_TRUE", 0x1 },
+   { "GL_ONE", 0x1 },
    { "GL_LINE_LOOP", 0x2 },
+   { "GL_POINT_BIT", 0x2 },
+   { "GL_CLIENT_VERTEX_ARRAY_BIT", 0x2 },
    { "GL_LINE_STRIP", 0x3 },
    { "GL_TRIANGLES", 0x4 },
+   { "GL_LINE_BIT", 0x4 },
    { "GL_TRIANGLE_STRIP", 0x5 },
    { "GL_TRIANGLE_FAN", 0x6 },
    { "GL_QUADS", 0x7 },
+   { "GL_POLYGON_BIT", 0x8 },
    { "GL_QUAD_STRIP", 0x8 },
    { "GL_POLYGON", 0x9 },
+   { "GL_POLYGON_STIPPLE_BIT", 0x10 },
+   { "GL_PIXEL_MODE_BIT", 0x20 },
+   { "GL_LIGHTING_BIT", 0x40 },
+   { "GL_FOG_BIT", 0x80 },
+   { "GL_DEPTH_BUFFER_BIT", 0x100 },
    { "GL_ACCUM", 0x100 },
    { "GL_LOAD", 0x101 },
    { "GL_RETURN", 0x102 },
    { "GL_MULT", 0x103 },
    { "GL_ADD", 0x104 },
    { "GL_NEVER", 0x200 },
+   { "GL_ACCUM_BUFFER_BIT", 0x200 },
    { "GL_LESS", 0x201 },
    { "GL_EQUAL", 0x202 },
    { "GL_LEQUAL", 0x203 },
@@ -75,6 +89,7 @@ static enum_elt all_enums[] =
    { "GL_ONE_MINUS_DST_COLOR", 0x307 },
    { "GL_SRC_ALPHA_SATURATE", 0x308 },
    { "GL_FRONT_LEFT", 0x400 },
+   { "GL_STENCIL_BUFFER_BIT", 0x400 },
    { "GL_FRONT_RIGHT", 0x401 },
    { "GL_BACK_LEFT", 0x402 },
    { "GL_BACK_RIGHT", 0x403 },
@@ -87,12 +102,13 @@ static enum_elt all_enums[] =
    { "GL_AUX1", 0x40A },
    { "GL_AUX2", 0x40B },
    { "GL_AUX3", 0x40C },
-   { "GL_INVALID_VALUE", 0x501 },
    { "GL_INVALID_ENUM", 0x500 },
+   { "GL_INVALID_VALUE", 0x501 },
    { "GL_INVALID_OPERATION", 0x502 },
    { "GL_STACK_OVERFLOW", 0x503 },
    { "GL_STACK_UNDERFLOW", 0x504 },
    { "GL_OUT_OF_MEMORY", 0x505 },
+   { "GL_INVALID_FRAMEBUFFER_OPERATION_EXT", 0x506 },
    { "GL_2D", 0x600 },
    { "GL_3D", 0x601 },
    { "GL_3D_COLOR", 0x602 },
@@ -106,6 +122,7 @@ static enum_elt all_enums[] =
    { "GL_DRAW_PIXEL_TOKEN", 0x705 },
    { "GL_COPY_PIXEL_TOKEN", 0x706 },
    { "GL_LINE_RESET_TOKEN", 0x707 },
+   { "GL_VIEWPORT_BIT", 0x800 },
    { "GL_EXP", 0x800 },
    { "GL_EXP2", 0x801 },
    { "GL_CW", 0x900 },
@@ -126,10 +143,14 @@ static enum_elt all_enums[] =
    { "GL_POINT_SMOOTH", 0xB10 },
    { "GL_POINT_SIZE", 0xB11 },
    { "GL_POINT_SIZE_RANGE", 0xB12 },
+   { "GL_SMOOTH_POINT_SIZE_RANGE", 0xB12 },
    { "GL_POINT_SIZE_GRANULARITY", 0xB13 },
+   { "GL_SMOOTH_POINT_SIZE_GRANULARITY", 0xB13 },
    { "GL_LINE_SMOOTH", 0xB20 },
    { "GL_LINE_WIDTH", 0xB21 },
+   { "GL_SMOOTH_LINE_WIDTH_RANGE", 0xB22 },
    { "GL_LINE_WIDTH_RANGE", 0xB22 },
+   { "GL_SMOOTH_LINE_WIDTH_GRANULARITY", 0xB23 },
    { "GL_LINE_WIDTH_GRANULARITY", 0xB23 },
    { "GL_LINE_STIPPLE", 0xB24 },
    { "GL_LINE_STIPPLE_PATTERN", 0xB25 },
@@ -195,6 +216,8 @@ static enum_elt all_enums[] =
    { "GL_BLEND", 0xBE2 },
    { "GL_LOGIC_OP_MODE", 0xBF0 },
    { "GL_LOGIC_OP", 0xBF1 },
+   { "GL_INDEX_LOGIC_OP", 0xBF1 },
+   { "GL_COLOR_LOGIC_OP", 0xBF2 },
    { "GL_AUX_BUFFERS", 0xC00 },
    { "GL_DRAW_BUFFER", 0xC01 },
    { "GL_READ_BUFFER", 0xC02 },
@@ -241,8 +264,8 @@ static enum_elt all_enums[] =
    { "GL_UNPACK_SWAP_BYTES", 0xCF0 },
    { "GL_UNPACK_LSB_FIRST", 0xCF1 },
    { "GL_UNPACK_ROW_LENGTH", 0xCF2 },
-   { "GL_UNPACK_SKIP_PIXELS", 0xCF4 },
    { "GL_UNPACK_SKIP_ROWS", 0xCF3 },
+   { "GL_UNPACK_SKIP_PIXELS", 0xCF4 },
    { "GL_UNPACK_ALIGNMENT", 0xCF5 },
    { "GL_PACK_SWAP_BYTES", 0xD00 },
    { "GL_PACK_LSB_FIRST", 0xD01 },
@@ -322,10 +345,12 @@ static enum_elt all_enums[] =
    { "GL_SELECTION_BUFFER_POINTER", 0xDF3 },
    { "GL_SELECTION_BUFFER_SIZE", 0xDF4 },
    { "GL_TEXTURE_WIDTH", 0x1000 },
+   { "GL_TRANSFORM_BIT", 0x1000 },
    { "GL_TEXTURE_HEIGHT", 0x1001 },
-   { "GL_TEXTURE_BORDER", 0x1005 },
    { "GL_TEXTURE_COMPONENTS", 0x1003 },
+   { "GL_TEXTURE_INTERNAL_FORMAT", 0x1003 },
    { "GL_TEXTURE_BORDER_COLOR", 0x1004 },
+   { "GL_TEXTURE_BORDER", 0x1005 },
    { "GL_DONT_CARE", 0x1100 },
    { "GL_FASTEST", 0x1101 },
    { "GL_NICEST", 0x1102 },
@@ -351,6 +376,7 @@ static enum_elt all_enums[] =
    { "GL_2_BYTES", 0x1407 },
    { "GL_3_BYTES", 0x1408 },
    { "GL_4_BYTES", 0x1409 },
+   { "GL_DOUBLE", 0x140A },
    { "GL_CLEAR", 0x1500 },
    { "GL_AND", 0x1501 },
    { "GL_AND_REVERSE", 0x1502 },
@@ -371,6 +397,7 @@ static enum_elt all_enums[] =
    { "GL_SHININESS", 0x1601 },
    { "GL_AMBIENT_AND_DIFFUSE", 0x1602 },
    { "GL_COLOR_INDEXES", 0x1603 },
+   { "GL_MODELVIEW0_ARB", 0x1700 },
    { "GL_MODELVIEW", 0x1700 },
    { "GL_PROJECTION", 0x1701 },
    { "GL_TEXTURE", 0x1702 },
@@ -384,16 +411,16 @@ static enum_elt all_enums[] =
    { "GL_GREEN", 0x1904 },
    { "GL_BLUE", 0x1905 },
    { "GL_ALPHA", 0x1906 },
-   { "GL_RGBA", 0x1908 },
    { "GL_RGB", 0x1907 },
+   { "GL_RGBA", 0x1908 },
    { "GL_LUMINANCE", 0x1909 },
    { "GL_LUMINANCE_ALPHA", 0x190A },
    { "GL_BITMAP", 0x1A00 },
    { "GL_POINT", 0x1B00 },
    { "GL_LINE", 0x1B01 },
    { "GL_FILL", 0x1B02 },
-   { "GL_FEEDBACK", 0x1C01 },
    { "GL_RENDER", 0x1C00 },
+   { "GL_FEEDBACK", 0x1C01 },
    { "GL_SELECT", 0x1C02 },
    { "GL_FLAT", 0x1D00 },
    { "GL_SMOOTH", 0x1D01 },
@@ -405,6 +432,7 @@ static enum_elt all_enums[] =
    { "GL_RENDERER", 0x1F01 },
    { "GL_VERSION", 0x1F02 },
    { "GL_EXTENSIONS", 0x1F03 },
+   { "GL_ENABLE_BIT", 0x2000 },
    { "GL_S", 0x2000 },
    { "GL_T", 0x2001 },
    { "GL_R", 0x2002 },
@@ -432,45 +460,6 @@ static enum_elt all_enums[] =
    { "GL_TEXTURE_WRAP_T", 0x2803 },
    { "GL_CLAMP", 0x2900 },
    { "GL_REPEAT", 0x2901 },
-   { "GL_CLIP_PLANE0", 0x3000 },
-   { "GL_CLIP_PLANE1", 0x3001 },
-   { "GL_CLIP_PLANE2", 0x3002 },
-   { "GL_CLIP_PLANE3", 0x3003 },
-   { "GL_CLIP_PLANE4", 0x3004 },
-   { "GL_CLIP_PLANE5", 0x3005 },
-   { "GL_LIGHT0", 0x4000 },
-   { "GL_LIGHT1", 0x4001 },
-   { "GL_LIGHT2", 0x4002 },
-   { "GL_LIGHT3", 0x4003 },
-   { "GL_LIGHT4", 0x4004 },
-   { "GL_LIGHT5", 0x4005 },
-   { "GL_LIGHT6", 0x4006 },
-   { "GL_LIGHT7", 0x4007 },
-   { "GL_CURRENT_BIT", 0x1 },
-   { "GL_POINT_BIT", 0x2 },
-   { "GL_LINE_BIT", 0x4 },
-   { "GL_POLYGON_BIT", 0x8 },
-   { "GL_POLYGON_STIPPLE_BIT", 0x10 },
-   { "GL_PIXEL_MODE_BIT", 0x20 },
-   { "GL_LIGHTING_BIT", 0x40 },
-   { "GL_FOG_BIT", 0x80 },
-   { "GL_DEPTH_BUFFER_BIT", 0x100 },
-   { "GL_ACCUM_BUFFER_BIT", 0x200 },
-   { "GL_STENCIL_BUFFER_BIT", 0x400 },
-   { "GL_VIEWPORT_BIT", 0x800 },
-   { "GL_TRANSFORM_BIT", 0x1000 },
-   { "GL_ENABLE_BIT", 0x2000 },
-   { "GL_COLOR_BUFFER_BIT", 0x4000 },
-   { "GL_HINT_BIT", 0x8000 },
-   { "GL_EVAL_BIT", 0x10000 },
-   { "GL_LIST_BIT", 0x20000 },
-   { "GL_TEXTURE_BIT", 0x40000 },
-   { "GL_SCISSOR_BIT", 0x80000 },
-   { "GL_ALL_ATTRIB_BITS", 0xFFFFF },
-   { "GL_INDEX_LOGIC_OP", 0xBF1 },
-   { "GL_COLOR_LOGIC_OP", 0xBF2 },
-   { "GL_TEXTURE_INTERNAL_FORMAT", 0x1003 },
-   { "GL_DOUBLE", 0x140A },
    { "GL_POLYGON_OFFSET_UNITS", 0x2A00 },
    { "GL_POLYGON_OFFSET_POINT", 0x2A01 },
    { "GL_POLYGON_OFFSET_LINE", 0x2A02 },
@@ -489,53 +478,195 @@ static enum_elt all_enums[] =
    { "GL_T2F_N3F_V3F", 0x2A2B },
    { "GL_T2F_C4F_N3F_V3F", 0x2A2C },
    { "GL_T4F_C4F_N3F_V4F", 0x2A2D },
+   { "GL_CLIP_PLANE0", 0x3000 },
+   { "GL_CLIP_PLANE1", 0x3001 },
+   { "GL_CLIP_PLANE2", 0x3002 },
+   { "GL_CLIP_PLANE3", 0x3003 },
+   { "GL_CLIP_PLANE4", 0x3004 },
+   { "GL_CLIP_PLANE5", 0x3005 },
+   { "GL_LIGHT0", 0x4000 },
+   { "GL_COLOR_BUFFER_BIT", 0x4000 },
+   { "GL_LIGHT1", 0x4001 },
+   { "GL_LIGHT2", 0x4002 },
+   { "GL_LIGHT3", 0x4003 },
+   { "GL_LIGHT4", 0x4004 },
+   { "GL_LIGHT5", 0x4005 },
+   { "GL_LIGHT6", 0x4006 },
+   { "GL_LIGHT7", 0x4007 },
+   { "GL_HINT_BIT", 0x8000 },
+   { "GL_CONSTANT_COLOR_EXT", 0x8001 },
+   { "GL_ONE_MINUS_CONSTANT_COLOR_EXT", 0x8002 },
+   { "GL_CONSTANT_ALPHA_EXT", 0x8003 },
+   { "GL_ONE_MINUS_CONSTANT_ALPHA_EXT", 0x8004 },
+   { "GL_BLEND_COLOR_EXT", 0x8005 },
+   { "GL_CONVOLUTION_BORDER_MODE", 0x8013 },
+   { "GL_CONVOLUTION_BORDER_MODE_EXT", 0x8013 },
+   { "GL_CONVOLUTION_FILTER_SCALE", 0x8014 },
+   { "GL_CONVOLUTION_FILTER_SCALE_EXT", 0x8014 },
+   { "GL_CONVOLUTION_FILTER_BIAS_EXT", 0x8015 },
+   { "GL_CONVOLUTION_FILTER_BIAS", 0x8015 },
+   { "GL_REDUCE", 0x8016 },
+   { "GL_REDUCE_EXT", 0x8016 },
+   { "GL_CONVOLUTION_FORMAT", 0x8017 },
+   { "GL_CONVOLUTION_FORMAT_EXT", 0x8017 },
+   { "GL_CONVOLUTION_WIDTH", 0x8018 },
+   { "GL_CONVOLUTION_WIDTH_EXT", 0x8018 },
+   { "GL_CONVOLUTION_HEIGHT", 0x8019 },
+   { "GL_CONVOLUTION_HEIGHT_EXT", 0x8019 },
+   { "GL_MAX_CONVOLUTION_WIDTH", 0x801A },
+   { "GL_MAX_CONVOLUTION_WIDTH_EXT", 0x801A },
+   { "GL_MAX_CONVOLUTION_HEIGHT", 0x801B },
+   { "GL_MAX_CONVOLUTION_HEIGHT_EXT", 0x801B },
+   { "GL_POST_CONVOLUTION_RED_SCALE", 0x801C },
+   { "GL_POST_CONVOLUTION_RED_SCALE_EXT", 0x801C },
+   { "GL_POST_CONVOLUTION_GREEN_SCALE", 0x801D },
+   { "GL_POST_CONVOLUTION_GREEN_SCALE_EXT", 0x801D },
+   { "GL_POST_CONVOLUTION_BLUE_SCALE", 0x801E },
+   { "GL_POST_CONVOLUTION_BLUE_SCALE_EXT", 0x801E },
+   { "GL_POST_CONVOLUTION_ALPHA_SCALE", 0x801F },
+   { "GL_POST_CONVOLUTION_ALPHA_SCALE_EXT", 0x801F },
+   { "GL_POST_CONVOLUTION_RED_BIAS", 0x8020 },
+   { "GL_POST_CONVOLUTION_RED_BIAS_EXT", 0x8020 },
+   { "GL_POST_CONVOLUTION_GREEN_BIAS", 0x8021 },
+   { "GL_POST_CONVOLUTION_GREEN_BIAS_EXT", 0x8021 },
+   { "GL_POST_CONVOLUTION_BLUE_BIAS", 0x8022 },
+   { "GL_POST_CONVOLUTION_BLUE_BIAS_EXT", 0x8022 },
+   { "GL_POST_CONVOLUTION_ALPHA_BIAS_EXT", 0x8023 },
+   { "GL_POST_CONVOLUTION_ALPHA_BIAS", 0x8023 },
+   { "GL_HISTOGRAM", 0x8024 },
+   { "GL_HISTOGRAM_EXT", 0x8024 },
+   { "GL_PROXY_HISTOGRAM", 0x8025 },
+   { "GL_PROXY_HISTOGRAM_EXT", 0x8025 },
+   { "GL_HISTOGRAM_WIDTH_EXT", 0x8026 },
+   { "GL_HISTOGRAM_WIDTH", 0x8026 },
+   { "GL_HISTOGRAM_FORMAT", 0x8027 },
+   { "GL_HISTOGRAM_FORMAT_EXT", 0x8027 },
+   { "GL_HISTOGRAM_RED_SIZE", 0x8028 },
+   { "GL_HISTOGRAM_RED_SIZE_EXT", 0x8028 },
+   { "GL_HISTOGRAM_GREEN_SIZE", 0x8029 },
+   { "GL_HISTOGRAM_GREEN_SIZE_EXT", 0x8029 },
+   { "GL_HISTOGRAM_BLUE_SIZE_EXT", 0x802A },
+   { "GL_HISTOGRAM_BLUE_SIZE", 0x802A },
+   { "GL_HISTOGRAM_ALPHA_SIZE", 0x802B },
+   { "GL_HISTOGRAM_ALPHA_SIZE_EXT", 0x802B },
+   { "GL_HISTOGRAM_LUMINANCE_SIZE", 0x802C },
+   { "GL_HISTOGRAM_LUMINANCE_SIZE_EXT", 0x802C },
+   { "GL_HISTOGRAM_SINK", 0x802D },
+   { "GL_HISTOGRAM_SINK_EXT", 0x802D },
+   { "GL_MINMAX", 0x802E },
+   { "GL_MINMAX_EXT", 0x802E },
+   { "GL_MINMAX_FORMAT", 0x802F },
+   { "GL_MINMAX_FORMAT_EXT", 0x802F },
+   { "GL_MINMAX_SINK", 0x8030 },
+   { "GL_MINMAX_SINK_EXT", 0x8030 },
+   { "GL_TABLE_TOO_LARGE_EXT", 0x8031 },
+   { "GL_UNSIGNED_BYTE_3_3_2", 0x8032 },
+   { "GL_UNSIGNED_SHORT_4_4_4_4", 0x8033 },
+   { "GL_UNSIGNED_SHORT_5_5_5_1", 0x8034 },
+   { "GL_UNSIGNED_INT_8_8_8_8", 0x8035 },
+   { "GL_UNSIGNED_INT_10_10_10_2", 0x8036 },
    { "GL_POLYGON_OFFSET_FILL", 0x8037 },
    { "GL_POLYGON_OFFSET_FACTOR", 0x8038 },
    { "GL_POLYGON_OFFSET_BIAS", 0x8039 },
+   { "GL_RESCALE_NORMAL", 0x803A },
+   { "GL_RESCALE_NORMAL_EXT", 0x803A },
    { "GL_ALPHA4", 0x803B },
+   { "GL_ALPHA4_EXT", 0x803B },
    { "GL_ALPHA8", 0x803C },
+   { "GL_ALPHA8_EXT", 0x803C },
+   { "GL_ALPHA12_EXT", 0x803D },
    { "GL_ALPHA12", 0x803D },
    { "GL_ALPHA16", 0x803E },
+   { "GL_ALPHA16_EXT", 0x803E },
    { "GL_LUMINANCE4", 0x803F },
+   { "GL_LUMINANCE4_EXT", 0x803F },
    { "GL_LUMINANCE8", 0x8040 },
+   { "GL_LUMINANCE8_EXT", 0x8040 },
    { "GL_LUMINANCE12", 0x8041 },
+   { "GL_LUMINANCE12_EXT", 0x8041 },
    { "GL_LUMINANCE16", 0x8042 },
+   { "GL_LUMINANCE16_EXT", 0x8042 },
    { "GL_LUMINANCE4_ALPHA4", 0x8043 },
+   { "GL_LUMINANCE4_ALPHA4_EXT", 0x8043 },
    { "GL_LUMINANCE6_ALPHA2", 0x8044 },
+   { "GL_LUMINANCE6_ALPHA2_EXT", 0x8044 },
    { "GL_LUMINANCE8_ALPHA8", 0x8045 },
+   { "GL_LUMINANCE8_ALPHA8_EXT", 0x8045 },
    { "GL_LUMINANCE12_ALPHA4", 0x8046 },
+   { "GL_LUMINANCE12_ALPHA4_EXT", 0x8046 },
+   { "GL_LUMINANCE12_ALPHA12_EXT", 0x8047 },
    { "GL_LUMINANCE12_ALPHA12", 0x8047 },
+   { "GL_LUMINANCE16_ALPHA16_EXT", 0x8048 },
    { "GL_LUMINANCE16_ALPHA16", 0x8048 },
+   { "GL_INTENSITY_EXT", 0x8049 },
    { "GL_INTENSITY", 0x8049 },
+   { "GL_INTENSITY4_EXT", 0x804A },
    { "GL_INTENSITY4", 0x804A },
+   { "GL_INTENSITY8_EXT", 0x804B },
    { "GL_INTENSITY8", 0x804B },
    { "GL_INTENSITY12", 0x804C },
+   { "GL_INTENSITY12_EXT", 0x804C },
+   { "GL_INTENSITY16_EXT", 0x804D },
    { "GL_INTENSITY16", 0x804D },
+   { "GL_RGB2_EXT", 0x804E },
    { "GL_RGB4", 0x804F },
+   { "GL_RGB4_EXT", 0x804F },
    { "GL_RGB5", 0x8050 },
+   { "GL_RGB5_EXT", 0x8050 },
    { "GL_RGB8", 0x8051 },
+   { "GL_RGB8_EXT", 0x8051 },
    { "GL_RGB10", 0x8052 },
+   { "GL_RGB10_EXT", 0x8052 },
    { "GL_RGB12", 0x8053 },
+   { "GL_RGB12_EXT", 0x8053 },
    { "GL_RGB16", 0x8054 },
+   { "GL_RGB16_EXT", 0x8054 },
    { "GL_RGBA2", 0x8055 },
+   { "GL_RGBA2_EXT", 0x8055 },
    { "GL_RGBA4", 0x8056 },
+   { "GL_RGBA4_EXT", 0x8056 },
    { "GL_RGB5_A1", 0x8057 },
+   { "GL_RGB5_A1_EXT", 0x8057 },
+   { "GL_RGBA8_EXT", 0x8058 },
    { "GL_RGBA8", 0x8058 },
+   { "GL_RGB10_A2_EXT", 0x8059 },
    { "GL_RGB10_A2", 0x8059 },
    { "GL_RGBA12", 0x805A },
+   { "GL_RGBA12_EXT", 0x805A },
    { "GL_RGBA16", 0x805B },
+   { "GL_RGBA16_EXT", 0x805B },
    { "GL_TEXTURE_RED_SIZE", 0x805C },
+   { "GL_TEXTURE_RED_SIZE_EXT", 0x805C },
+   { "GL_TEXTURE_GREEN_SIZE_EXT", 0x805D },
    { "GL_TEXTURE_GREEN_SIZE", 0x805D },
+   { "GL_TEXTURE_BLUE_SIZE_EXT", 0x805E },
    { "GL_TEXTURE_BLUE_SIZE", 0x805E },
+   { "GL_TEXTURE_ALPHA_SIZE_EXT", 0x805F },
    { "GL_TEXTURE_ALPHA_SIZE", 0x805F },
    { "GL_TEXTURE_LUMINANCE_SIZE", 0x8060 },
+   { "GL_TEXTURE_LUMINANCE_SIZE_EXT", 0x8060 },
    { "GL_TEXTURE_INTENSITY_SIZE", 0x8061 },
+   { "GL_TEXTURE_INTENSITY_SIZE_EXT", 0x8061 },
+   { "GL_REPLACE_EXT", 0x8062 },
    { "GL_PROXY_TEXTURE_1D", 0x8063 },
+   { "GL_PROXY_TEXTURE_1D_EXT", 0x8063 },
    { "GL_PROXY_TEXTURE_2D", 0x8064 },
+   { "GL_PROXY_TEXTURE_2D_EXT", 0x8064 },
+   { "GL_TEXTURE_TOO_LARGE_EXT", 0x8065 },
    { "GL_TEXTURE_PRIORITY", 0x8066 },
    { "GL_TEXTURE_RESIDENT", 0x8067 },
    { "GL_TEXTURE_BINDING_1D", 0x8068 },
    { "GL_TEXTURE_BINDING_2D", 0x8069 },
+   { "GL_TEXTURE_BINDING_3D", 0x806A },
+   { "GL_PACK_SKIP_IMAGES", 0x806B },
+   { "GL_PACK_IMAGE_HEIGHT", 0x806C },
+   { "GL_UNPACK_SKIP_IMAGES", 0x806D },
+   { "GL_UNPACK_IMAGE_HEIGHT", 0x806E },
+   { "GL_TEXTURE_3D", 0x806F },
+   { "GL_PROXY_TEXTURE_3D", 0x8070 },
+   { "GL_TEXTURE_DEPTH", 0x8071 },
+   { "GL_TEXTURE_WRAP_R", 0x8072 },
+   { "GL_MAX_3D_TEXTURE_SIZE", 0x8073 },
    { "GL_VERTEX_ARRAY", 0x8074 },
    { "GL_NORMAL_ARRAY", 0x8075 },
    { "GL_COLOR_ARRAY", 0x8076 },
@@ -568,377 +699,491 @@ static enum_elt all_enums[] =
    { "GL_INDEX_ARRAY_POINTER", 0x8091 },
    { "GL_TEXTURE_COORD_ARRAY_POINTER", 0x8092 },
    { "GL_EDGE_FLAG_ARRAY_POINTER", 0x8093 },
-   { "GL_CLIENT_PIXEL_STORE_BIT", 0x1 },
-   { "GL_CLIENT_VERTEX_ARRAY_BIT", 0x2 },
-   { "GL_ALL_CLIENT_ATTRIB_BITS", 0xFFFFFFFF },
-   { "GL_CLIENT_ALL_ATTRIB_BITS", 0xFFFFFFFF },
-   { "GL_UNSIGNED_BYTE_3_3_2", 0x8032 },
-   { "GL_UNSIGNED_SHORT_4_4_4_4", 0x8033 },
-   { "GL_UNSIGNED_SHORT_5_5_5_1", 0x8034 },
-   { "GL_UNSIGNED_INT_8_8_8_8", 0x8035 },
-   { "GL_UNSIGNED_INT_10_10_10_2", 0x8036 },
-   { "GL_RESCALE_NORMAL", 0x803A },
-   { "GL_TEXTURE_BINDING_3D", 0x806A },
-   { "GL_PACK_SKIP_IMAGES", 0x806B },
-   { "GL_PACK_IMAGE_HEIGHT", 0x806C },
-   { "GL_UNPACK_SKIP_IMAGES", 0x806D },
-   { "GL_UNPACK_IMAGE_HEIGHT", 0x806E },
-   { "GL_TEXTURE_3D", 0x806F },
-   { "GL_PROXY_TEXTURE_3D", 0x8070 },
-   { "GL_TEXTURE_DEPTH", 0x8071 },
-   { "GL_TEXTURE_WRAP_R", 0x8072 },
-   { "GL_MAX_3D_TEXTURE_SIZE", 0x8073 },
-   { "GL_UNSIGNED_BYTE_2_3_3_REV", 0x8362 },
-   { "GL_UNSIGNED_SHORT_5_6_5", 0x8363 },
-   { "GL_UNSIGNED_SHORT_5_6_5_REV", 0x8364 },
-   { "GL_UNSIGNED_SHORT_4_4_4_4_REV", 0x8365 },
-   { "GL_UNSIGNED_SHORT_1_5_5_5_REV", 0x8366 },
-   { "GL_UNSIGNED_INT_8_8_8_8_REV", 0x8367 },
-   { "GL_UNSIGNED_INT_2_10_10_10_REV", 0x8368 },
-   { "GL_BGR", 0x80E0 },
-   { "GL_BGRA", 0x80E1 },
-   { "GL_MAX_ELEMENTS_VERTICES", 0x80E8 },
-   { "GL_MAX_ELEMENTS_INDICES", 0x80E9 },
-   { "GL_CLAMP_TO_EDGE", 0x812F },
-   { "GL_TEXTURE_MIN_LOD", 0x813A },
-   { "GL_TEXTURE_MAX_LOD", 0x813B },
-   { "GL_TEXTURE_BASE_LEVEL", 0x813C },
-   { "GL_TEXTURE_MAX_LEVEL", 0x813D },
-   { "GL_LIGHT_MODEL_COLOR_CONTROL", 0x81F8 },
-   { "GL_SINGLE_COLOR", 0x81F9 },
-   { "GL_SEPARATE_SPECULAR_COLOR", 0x81FA },
-   { "GL_SMOOTH_POINT_SIZE_RANGE", 0xB12 },
-   { "GL_SMOOTH_POINT_SIZE_GRANULARITY", 0xB13 },
-   { "GL_SMOOTH_LINE_WIDTH_RANGE", 0xB22 },
-   { "GL_SMOOTH_LINE_WIDTH_GRANULARITY", 0xB23 },
-   { "GL_ALIASED_POINT_SIZE_RANGE", 0x846D },
-   { "GL_ALIASED_LINE_WIDTH_RANGE", 0x846E },
-   { "GL_CONVOLUTION_BORDER_MODE", 0x8013 },
-   { "GL_CONVOLUTION_BORDER_COLOR", 0x8154 },
-   { "GL_CONVOLUTION_FILTER_SCALE", 0x8014 },
-   { "GL_CONVOLUTION_FILTER_BIAS", 0x8015 },
-   { "GL_REDUCE", 0x8016 },
-   { "GL_CONVOLUTION_FORMAT", 0x8017 },
-   { "GL_CONVOLUTION_WIDTH", 0x8018 },
-   { "GL_CONVOLUTION_HEIGHT", 0x8019 },
-   { "GL_MAX_CONVOLUTION_WIDTH", 0x801A },
-   { "GL_MAX_CONVOLUTION_HEIGHT", 0x801B },
-   { "GL_POST_CONVOLUTION_RED_SCALE", 0x801C },
-   { "GL_POST_CONVOLUTION_GREEN_SCALE", 0x801D },
-   { "GL_POST_CONVOLUTION_BLUE_SCALE", 0x801E },
-   { "GL_POST_CONVOLUTION_ALPHA_SCALE", 0x801F },
-   { "GL_POST_CONVOLUTION_RED_BIAS", 0x8020 },
-   { "GL_POST_CONVOLUTION_GREEN_BIAS", 0x8021 },
-   { "GL_POST_CONVOLUTION_BLUE_BIAS", 0x8022 },
-   { "GL_POST_CONVOLUTION_ALPHA_BIAS", 0x8023 },
-   { "GL_HISTOGRAM", 0x8024 },
-   { "GL_PROXY_HISTOGRAM", 0x8025 },
-   { "GL_HISTOGRAM_WIDTH", 0x8026 },
-   { "GL_HISTOGRAM_FORMAT", 0x8027 },
-   { "GL_HISTOGRAM_RED_SIZE", 0x8028 },
-   { "GL_HISTOGRAM_GREEN_SIZE", 0x8029 },
-   { "GL_HISTOGRAM_BLUE_SIZE", 0x802A },
-   { "GL_HISTOGRAM_ALPHA_SIZE", 0x802B },
-   { "GL_HISTOGRAM_LUMINANCE_SIZE", 0x802C },
-   { "GL_HISTOGRAM_SINK", 0x802D },
-   { "GL_MINMAX", 0x802E },
-   { "GL_MINMAX_FORMAT", 0x802F },
-   { "GL_MINMAX_SINK", 0x8030 },
+   { "GL_MULTISAMPLE_ARB", 0x809D },
+   { "GL_MULTISAMPLE", 0x809D },
+   { "GL_SAMPLE_ALPHA_TO_COVERAGE", 0x809E },
+   { "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB", 0x809E },
+   { "GL_SAMPLE_ALPHA_TO_ONE", 0x809F },
+   { "GL_SAMPLE_ALPHA_TO_ONE_ARB", 0x809F },
+   { "GL_SAMPLE_COVERAGE", 0x80A0 },
+   { "GL_SAMPLE_COVERAGE_ARB", 0x80A0 },
+   { "GL_SAMPLE_BUFFERS", 0x80A8 },
+   { "GL_SAMPLE_BUFFERS_ARB", 0x80A8 },
+   { "GL_SAMPLES", 0x80A9 },
+   { "GL_SAMPLES_ARB", 0x80A9 },
+   { "GL_SAMPLE_COVERAGE_VALUE", 0x80AA },
+   { "GL_SAMPLE_COVERAGE_VALUE_ARB", 0x80AA },
+   { "GL_SAMPLE_COVERAGE_INVERT", 0x80AB },
+   { "GL_SAMPLE_COVERAGE_INVERT_ARB", 0x80AB },
+   { "GL_COLOR_MATRIX_SGI", 0x80B1 },
    { "GL_COLOR_MATRIX", 0x80B1 },
+   { "GL_COLOR_MATRIX_STACK_DEPTH_SGI", 0x80B2 },
    { "GL_COLOR_MATRIX_STACK_DEPTH", 0x80B2 },
    { "GL_MAX_COLOR_MATRIX_STACK_DEPTH", 0x80B3 },
+   { "GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI", 0x80B3 },
+   { "GL_POST_COLOR_MATRIX_RED_SCALE_SGI", 0x80B4 },
    { "GL_POST_COLOR_MATRIX_RED_SCALE", 0x80B4 },
+   { "GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI", 0x80B5 },
    { "GL_POST_COLOR_MATRIX_GREEN_SCALE", 0x80B5 },
+   { "GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI", 0x80B6 },
    { "GL_POST_COLOR_MATRIX_BLUE_SCALE", 0x80B6 },
    { "GL_POST_COLOR_MATRIX_ALPHA_SCALE", 0x80B7 },
+   { "GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI", 0x80B7 },
    { "GL_POST_COLOR_MATRIX_RED_BIAS", 0x80B8 },
+   { "GL_POST_COLOR_MATRIX_RED_BIAS_SGI", 0x80B8 },
+   { "GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI", 0x80B9 },
    { "GL_POST_COLOR_MATRIX_GREEN_BIAS", 0x80B9 },
    { "GL_POST_COLOR_MATRIX_BLUE_BIAS", 0x80BA },
+   { "GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI", 0x80BA },
    { "GL_POST_COLOR_MATRIX_ALPHA_BIAS", 0x80BB },
+   { "GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI", 0x80BB },
+   { "GL_TEXTURE_COLOR_TABLE_SGI", 0x80BC },
+   { "GL_PROXY_TEXTURE_COLOR_TABLE_SGI", 0x80BD },
+   { "GL_SHADOW_AMBIENT_SGIX", 0x80BF },
+   { "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB", 0x80BF },
+   { "GL_BLEND_DST_RGB", 0x80C8 },
+   { "GL_BLEND_SRC_RGB", 0x80C9 },
+   { "GL_BLEND_DST_ALPHA", 0x80CA },
+   { "GL_BLEND_SRC_ALPHA", 0x80CB },
    { "GL_COLOR_TABLE_SCALE", 0x80D6 },
    { "GL_COLOR_TABLE_BIAS", 0x80D7 },
+   { "GL_COLOR_TABLE_FORMAT_EXT", 0x80D8 },
    { "GL_COLOR_TABLE_FORMAT", 0x80D8 },
    { "GL_COLOR_TABLE_WIDTH", 0x80D9 },
+   { "GL_COLOR_TABLE_WIDTH_EXT", 0x80D9 },
+   { "GL_COLOR_TABLE_RED_SIZE_EXT", 0x80DA },
    { "GL_COLOR_TABLE_RED_SIZE", 0x80DA },
+   { "GL_COLOR_TABLE_GREEN_SIZE_EXT", 0x80DB },
    { "GL_COLOR_TABLE_GREEN_SIZE", 0x80DB },
+   { "GL_COLOR_TABLE_BLUE_SIZE_EXT", 0x80DC },
    { "GL_COLOR_TABLE_BLUE_SIZE", 0x80DC },
+   { "GL_COLOR_TABLE_ALPHA_SIZE_EXT", 0x80DD },
    { "GL_COLOR_TABLE_ALPHA_SIZE", 0x80DD },
+   { "GL_COLOR_TABLE_LUMINANCE_SIZE_EXT", 0x80DE },
    { "GL_COLOR_TABLE_LUMINANCE_SIZE", 0x80DE },
+   { "GL_COLOR_TABLE_INTENSITY_SIZE_EXT", 0x80DF },
    { "GL_COLOR_TABLE_INTENSITY_SIZE", 0x80DF },
+   { "GL_BGR", 0x80E0 },
+   { "GL_BGRA", 0x80E1 },
+   { "GL_MAX_ELEMENTS_VERTICES", 0x80E8 },
+   { "GL_MAX_ELEMENTS_INDICES", 0x80E9 },
+   { "GL_TEXTURE_INDEX_SIZE_EXT", 0x80ED },
+   { "GL_CLIP_VOLUME_CLIPPING_HINT_EXT", 0x80F0 },
+   { "GL_POINT_SIZE_MIN", 0x8126 },
+   { "GL_POINT_SIZE_MIN_EXT", 0x8126 },
+   { "GL_POINT_SIZE_MIN_SGIS", 0x8126 },
+   { "GL_POINT_SIZE_MIN_ARB", 0x8126 },
+   { "GL_POINT_SIZE_MIN_EXT", 0x8126 },
+   { "GL_POINT_SIZE_MAX_EXT", 0x8127 },
+   { "GL_POINT_SIZE_MAX_EXT", 0x8127 },
+   { "GL_POINT_SIZE_MAX", 0x8127 },
+   { "GL_POINT_SIZE_MAX_SGIS", 0x8127 },
+   { "GL_POINT_SIZE_MAX_ARB", 0x8127 },
+   { "GL_POINT_FADE_THRESHOLD_SIZE", 0x8128 },
+   { "GL_POINT_FADE_THRESHOLD_SIZE_EXT", 0x8128 },
+   { "GL_POINT_FADE_THRESHOLD_SIZE_EXT", 0x8128 },
+   { "GL_POINT_FADE_THRESHOLD_SIZE_ARB", 0x8128 },
+   { "GL_POINT_FADE_THRESHOLD_SIZE_SGIS", 0x8128 },
+   { "GL_POINT_DISTANCE_ATTENUATION", 0x8129 },
+   { "GL_POINT_DISTANCE_ATTENUATION_EXT", 0x8129 },
+   { "GL_POINT_DISTANCE_ATTENUATION_EXT", 0x8129 },
+   { "GL_POINT_DISTANCE_ATTENUATION_ARB", 0x8129 },
+   { "GL_POINT_DISTANCE_ATTENUATION_SGIS", 0x8129 },
+   { "GL_CLAMP_TO_BORDER_ARB", 0x812D },
+   { "GL_CLAMP_TO_BORDER_SGIS", 0x812D },
+   { "GL_CLAMP_TO_BORDER", 0x812D },
+   { "GL_CLAMP_TO_EDGE_SGIS", 0x812F },
+   { "GL_CLAMP_TO_EDGE", 0x812F },
+   { "GL_TEXTURE_MIN_LOD", 0x813A },
+   { "GL_TEXTURE_MAX_LOD", 0x813B },
+   { "GL_TEXTURE_BASE_LEVEL", 0x813C },
+   { "GL_TEXTURE_MAX_LEVEL", 0x813D },
+   { "GL_IGNORE_BORDER_HP", 0x8150 },
+   { "GL_CONSTANT_BORDER_HP", 0x8151 },
+   { "GL_REPLICATE_BORDER_HP", 0x8153 },
+   { "GL_CONVOLUTION_BORDER_COLOR", 0x8154 },
+   { "GL_CONVOLUTION_BORDER_COLOR_HP", 0x8154 },
+   { "GL_OCCLUSION_TEST_HP", 0x8165 },
+   { "GL_OCCLUSION_TEST_RESULT_HP", 0x8166 },
+   { "GL_LINEAR_CLIPMAP_LINEAR_SGIX", 0x8170 },
+   { "GL_TEXTURE_CLIPMAP_CENTER_SGIX", 0x8171 },
+   { "GL_TEXTURE_CLIPMAP_FRAME_SGIX", 0x8172 },
+   { "GL_TEXTURE_CLIPMAP_OFFSET_SGIX", 0x8173 },
+   { "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX", 0x8174 },
+   { "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX", 0x8175 },
+   { "GL_TEXTURE_CLIPMAP_DEPTH_SGIX", 0x8176 },
+   { "GL_MAX_CLIPMAP_DEPTH_SGIX", 0x8177 },
+   { "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX", 0x8178 },
+   { "GL_POST_TEXTURE_FILTER_BIAS_SGIX", 0x8179 },
+   { "GL_POST_TEXTURE_FILTER_SCALE_SGIX", 0x817A },
+   { "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX", 0x817B },
+   { "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX", 0x817C },
+   { "GL_TEXTURE_LOD_BIAS_S_SGIX", 0x818E },
+   { "GL_TEXTURE_LOD_BIAS_T_SGIX", 0x818F },
+   { "GL_TEXTURE_LOD_BIAS_R_SGIX", 0x8190 },
+   { "GL_GENERATE_MIPMAP_SGIS", 0x8191 },
+   { "GL_GENERATE_MIPMAP", 0x8191 },
+   { "GL_GENERATE_MIPMAP_HINT_SGIS", 0x8192 },
+   { "GL_GENERATE_MIPMAP_HINT", 0x8192 },
+   { "GL_FOG_OFFSET_SGIX", 0x8198 },
+   { "GL_FOG_OFFSET_VALUE_SGIX", 0x8199 },
+   { "GL_TEXTURE_COMPARE_SGIX", 0x819A },
+   { "GL_TEXTURE_COMPARE_OPERATOR_SGIX", 0x819B },
+   { "GL_TEXTURE_LEQUAL_R_SGIX", 0x819C },
+   { "GL_TEXTURE_GEQUAL_R_SGIX", 0x819D },
+   { "GL_DEPTH_COMPONENT16_ARB", 0x81A5 },
+   { "GL_DEPTH_COMPONENT16_SGIX", 0x81A5 },
+   { "GL_DEPTH_COMPONENT16", 0x81A5 },
+   { "GL_DEPTH_COMPONENT24", 0x81A6 },
+   { "GL_DEPTH_COMPONENT24_SGIX", 0x81A6 },
+   { "GL_DEPTH_COMPONENT24_ARB", 0x81A6 },
+   { "GL_DEPTH_COMPONENT32_ARB", 0x81A7 },
+   { "GL_DEPTH_COMPONENT32", 0x81A7 },
+   { "GL_DEPTH_COMPONENT32_SGIX", 0x81A7 },
+   { "GL_CULL_VERTEX_EXT", 0x81AA },
+   { "GL_CULL_VERTEX_OBJECT_POSITION_EXT", 0x81AB },
+   { "GL_CULL_VERTEX_EYE_POSITION_EXT", 0x81AC },
+   { "GL_WRAP_BORDER_SUN", 0x81D4 },
+   { "GL_TEXTURE_COLOR_WRITEMASK_SGIS", 0x81EF },
+   { "GL_LIGHT_MODEL_COLOR_CONTROL_EXT", 0x81F8 },
+   { "GL_LIGHT_MODEL_COLOR_CONTROL", 0x81F8 },
+   { "GL_SINGLE_COLOR", 0x81F9 },
+   { "GL_SINGLE_COLOR_EXT", 0x81F9 },
+   { "GL_SEPARATE_SPECULAR_COLOR_EXT", 0x81FA },
+   { "GL_SEPARATE_SPECULAR_COLOR", 0x81FA },
+   { "GL_SHARED_TEXTURE_PALETTE_EXT", 0x81FB },
+   { "GL_UNSIGNED_BYTE_2_3_3_REV", 0x8362 },
+   { "GL_UNSIGNED_SHORT_5_6_5", 0x8363 },
+   { "GL_UNSIGNED_SHORT_5_6_5_REV", 0x8364 },
+   { "GL_UNSIGNED_SHORT_4_4_4_4_REV", 0x8365 },
+   { "GL_UNSIGNED_SHORT_1_5_5_5_REV", 0x8366 },
+   { "GL_UNSIGNED_INT_8_8_8_8_REV", 0x8367 },
+   { "GL_UNSIGNED_INT_2_10_10_10_REV", 0x8368 },
+   { "GL_TEXTURE_MAX_CLAMP_S_SGIX", 0x8369 },
+   { "GL_TEXTURE_MAX_CLAMP_T_SGIX", 0x836A },
+   { "GL_TEXTURE_MAX_CLAMP_R_SGIX", 0x836B },
+   { "GL_MIRRORED_REPEAT_ARB", 0x8370 },
+   { "GL_MIRRORED_REPEAT", 0x8370 },
+   { "GL_MIRRORED_REPEAT_IBM", 0x8370 },
+   { "GL_RGB_S3TC", 0x83A0 },
+   { "GL_RGB4_S3TC", 0x83A1 },
+   { "GL_RGBA_S3TC", 0x83A2 },
+   { "GL_RGBA4_S3TC", 0x83A3 },
+   { "GL_RGBA_DXT5_S3TC", 0x83A4 },
+   { "GL_RGBA4_DXT5_S3TC", 0x83A5 },
+   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
+   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
+   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", 0x83F2 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", 0x83F2 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", 0x83F3 },
+   { "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", 0x83F3 },
+   { "GL_NEAREST_CLIPMAP_NEAREST_SGIX", 0x844D },
+   { "GL_NEAREST_CLIPMAP_LINEAR_SGIX", 0x844E },
+   { "GL_LINEAR_CLIPMAP_NEAREST_SGIX", 0x844F },
+   { "GL_FOG_COORD_SOURCE", 0x8450 },
+   { "GL_FOG_COORDINATE_SOURCE", 0x8450 },
+   { "GL_FOG_COORD", 0x8451 },
+   { "GL_FOG_COORDINATE", 0x8451 },
+   { "GL_FRAGMENT_DEPTH", 0x8452 },
+   { "GL_CURRENT_FOG_COORD", 0x8453 },
+   { "GL_CURRENT_FOG_COORDINATE", 0x8453 },
+   { "GL_FOG_COORDINATE_ARRAY_TYPE", 0x8454 },
+   { "GL_FOG_COORD_ARRAY_TYPE", 0x8454 },
+   { "GL_FOG_COORD_ARRAY_STRIDE", 0x8455 },
+   { "GL_FOG_COORDINATE_ARRAY_STRIDE", 0x8455 },
+   { "GL_FOG_COORDINATE_ARRAY_POINTER", 0x8456 },
+   { "GL_FOG_COORD_ARRAY_POINTER", 0x8456 },
+   { "GL_FOG_COORD_ARRAY", 0x8457 },
+   { "GL_FOG_COORDINATE_ARRAY", 0x8457 },
+   { "GL_COLOR_SUM_ARB", 0x8458 },
+   { "GL_COLOR_SUM", 0x8458 },
+   { "GL_CURRENT_SECONDARY_COLOR", 0x8459 },
+   { "GL_SECONDARY_COLOR_ARRAY_SIZE", 0x845A },
+   { "GL_SECONDARY_COLOR_ARRAY_TYPE", 0x845B },
+   { "GL_SECONDARY_COLOR_ARRAY_STRIDE", 0x845C },
+   { "GL_SECONDARY_COLOR_ARRAY_POINTER", 0x845D },
+   { "GL_SECONDARY_COLOR_ARRAY", 0x845E },
+   { "GL_ALIASED_POINT_SIZE_RANGE", 0x846D },
+   { "GL_ALIASED_LINE_WIDTH_RANGE", 0x846E },
+   { "GL_TEXTURE0_ARB", 0x84C0 },
    { "GL_TEXTURE0", 0x84C0 },
+   { "GL_TEXTURE1_ARB", 0x84C1 },
    { "GL_TEXTURE1", 0x84C1 },
    { "GL_TEXTURE2", 0x84C2 },
+   { "GL_TEXTURE2_ARB", 0x84C2 },
    { "GL_TEXTURE3", 0x84C3 },
+   { "GL_TEXTURE3_ARB", 0x84C3 },
    { "GL_TEXTURE4", 0x84C4 },
+   { "GL_TEXTURE4_ARB", 0x84C4 },
    { "GL_TEXTURE5", 0x84C5 },
+   { "GL_TEXTURE5_ARB", 0x84C5 },
    { "GL_TEXTURE6", 0x84C6 },
+   { "GL_TEXTURE6_ARB", 0x84C6 },
    { "GL_TEXTURE7", 0x84C7 },
+   { "GL_TEXTURE7_ARB", 0x84C7 },
    { "GL_TEXTURE8", 0x84C8 },
+   { "GL_TEXTURE8_ARB", 0x84C8 },
+   { "GL_TEXTURE9_ARB", 0x84C9 },
    { "GL_TEXTURE9", 0x84C9 },
    { "GL_TEXTURE10", 0x84CA },
+   { "GL_TEXTURE10_ARB", 0x84CA },
    { "GL_TEXTURE11", 0x84CB },
+   { "GL_TEXTURE11_ARB", 0x84CB },
    { "GL_TEXTURE12", 0x84CC },
+   { "GL_TEXTURE12_ARB", 0x84CC },
+   { "GL_TEXTURE13_ARB", 0x84CD },
    { "GL_TEXTURE13", 0x84CD },
    { "GL_TEXTURE14", 0x84CE },
+   { "GL_TEXTURE14_ARB", 0x84CE },
+   { "GL_TEXTURE15_ARB", 0x84CF },
    { "GL_TEXTURE15", 0x84CF },
    { "GL_TEXTURE16", 0x84D0 },
+   { "GL_TEXTURE16_ARB", 0x84D0 },
+   { "GL_TEXTURE17_ARB", 0x84D1 },
    { "GL_TEXTURE17", 0x84D1 },
    { "GL_TEXTURE18", 0x84D2 },
+   { "GL_TEXTURE18_ARB", 0x84D2 },
+   { "GL_TEXTURE19_ARB", 0x84D3 },
    { "GL_TEXTURE19", 0x84D3 },
+   { "GL_TEXTURE20_ARB", 0x84D4 },
    { "GL_TEXTURE20", 0x84D4 },
+   { "GL_TEXTURE21_ARB", 0x84D5 },
    { "GL_TEXTURE21", 0x84D5 },
+   { "GL_TEXTURE22_ARB", 0x84D6 },
    { "GL_TEXTURE22", 0x84D6 },
    { "GL_TEXTURE23", 0x84D7 },
+   { "GL_TEXTURE23_ARB", 0x84D7 },
    { "GL_TEXTURE24", 0x84D8 },
+   { "GL_TEXTURE24_ARB", 0x84D8 },
+   { "GL_TEXTURE25_ARB", 0x84D9 },
    { "GL_TEXTURE25", 0x84D9 },
+   { "GL_TEXTURE26_ARB", 0x84DA },
    { "GL_TEXTURE26", 0x84DA },
+   { "GL_TEXTURE27_ARB", 0x84DB },
    { "GL_TEXTURE27", 0x84DB },
+   { "GL_TEXTURE28_ARB", 0x84DC },
    { "GL_TEXTURE28", 0x84DC },
+   { "GL_TEXTURE29_ARB", 0x84DD },
    { "GL_TEXTURE29", 0x84DD },
    { "GL_TEXTURE30", 0x84DE },
+   { "GL_TEXTURE30_ARB", 0x84DE },
    { "GL_TEXTURE31", 0x84DF },
+   { "GL_TEXTURE31_ARB", 0x84DF },
    { "GL_ACTIVE_TEXTURE", 0x84E0 },
+   { "GL_ACTIVE_TEXTURE_ARB", 0x84E0 },
+   { "GL_CLIENT_ACTIVE_TEXTURE_ARB", 0x84E1 },
    { "GL_CLIENT_ACTIVE_TEXTURE", 0x84E1 },
+   { "GL_MAX_TEXTURE_UNITS_ARB", 0x84E2 },
    { "GL_MAX_TEXTURE_UNITS", 0x84E2 },
+   { "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB", 0x84E3 },
    { "GL_TRANSPOSE_MODELVIEW_MATRIX", 0x84E3 },
+   { "GL_TRANSPOSE_PROJECTION_MATRIX_ARB", 0x84E4 },
    { "GL_TRANSPOSE_PROJECTION_MATRIX", 0x84E4 },
    { "GL_TRANSPOSE_TEXTURE_MATRIX", 0x84E5 },
+   { "GL_TRANSPOSE_TEXTURE_MATRIX_ARB", 0x84E5 },
    { "GL_TRANSPOSE_COLOR_MATRIX", 0x84E6 },
-   { "GL_MULTISAMPLE", 0x809D },
-   { "GL_SAMPLE_ALPHA_TO_COVERAGE", 0x809E },
-   { "GL_SAMPLE_ALPHA_TO_ONE", 0x809F },
-   { "GL_SAMPLE_COVERAGE", 0x80A0 },
-   { "GL_SAMPLE_BUFFERS", 0x80A8 },
-   { "GL_SAMPLES", 0x80A9 },
-   { "GL_SAMPLE_COVERAGE_VALUE", 0x80AA },
-   { "GL_SAMPLE_COVERAGE_INVERT", 0x80AB },
-   { "GL_MULTISAMPLE_BIT", 0x20000000 },
+   { "GL_TRANSPOSE_COLOR_MATRIX_ARB", 0x84E6 },
+   { "GL_SUBTRACT", 0x84E7 },
+   { "GL_SUBTRACT_ARB", 0x84E7 },
+   { "GL_MAX_RENDERBUFFER_SIZE_EXT", 0x84E8 },
+   { "GL_COMPRESSED_ALPHA_ARB", 0x84E9 },
+   { "GL_COMPRESSED_ALPHA", 0x84E9 },
+   { "GL_COMPRESSED_LUMINANCE_ARB", 0x84EA },
+   { "GL_COMPRESSED_LUMINANCE", 0x84EA },
+   { "GL_COMPRESSED_LUMINANCE_ALPHA", 0x84EB },
+   { "GL_COMPRESSED_LUMINANCE_ALPHA_ARB", 0x84EB },
+   { "GL_COMPRESSED_INTENSITY", 0x84EC },
+   { "GL_COMPRESSED_INTENSITY_ARB", 0x84EC },
+   { "GL_COMPRESSED_RGB", 0x84ED },
+   { "GL_COMPRESSED_RGB_ARB", 0x84ED },
+   { "GL_COMPRESSED_RGBA", 0x84EE },
+   { "GL_COMPRESSED_RGBA_ARB", 0x84EE },
+   { "GL_TEXTURE_COMPRESSION_HINT", 0x84EF },
+   { "GL_TEXTURE_COMPRESSION_HINT_ARB", 0x84EF },
+   { "GL_TEXTURE_RECTANGLE_NV", 0x84F5 },
+   { "GL_TEXTURE_RECTANGLE_ARB", 0x84F5 },
+   { "GL_TEXTURE_BINDING_RECTANGLE_NV", 0x84F6 },
+   { "GL_TEXTURE_BINDING_RECTANGLE_ARB", 0x84F6 },
+   { "GL_PROXY_TEXTURE_RECTANGLE_ARB", 0x84F7 },
+   { "GL_PROXY_TEXTURE_RECTANGLE_NV", 0x84F7 },
+   { "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV", 0x84F8 },
+   { "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB", 0x84F8 },
+   { "GL_DEPTH_STENCIL_NV", 0x84F9 },
+   { "GL_UNSIGNED_INT_24_8_NV", 0x84FA },
+   { "GL_MAX_TEXTURE_LOD_BIAS", 0x84FD },
+   { "GL_TEXTURE_MAX_ANISOTROPY_EXT", 0x84FE },
+   { "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", 0x84FF },
+   { "GL_TEXTURE_FILTER_CONTROL", 0x8500 },
+   { "GL_TEXTURE_LOD_BIAS", 0x8501 },
+   { "GL_TEXTURE_LOD_BIAS_EXT", 0x8501 },
+   { "GL_COMBINE4", 0x8503 },
+   { "GL_MAX_SHININESS_NV", 0x8504 },
+   { "GL_MAX_SPOT_EXPONENT_NV", 0x8505 },
+   { "GL_INCR_WRAP_EXT", 0x8507 },
+   { "GL_INCR_WRAP", 0x8507 },
+   { "GL_DECR_WRAP", 0x8508 },
+   { "GL_DECR_WRAP_EXT", 0x8508 },
+   { "GL_MODELVIEW1_ARB", 0x850A },
    { "GL_NORMAL_MAP", 0x8511 },
+   { "GL_NORMAL_MAP_NV", 0x8511 },
+   { "GL_NORMAL_MAP_ARB", 0x8511 },
+   { "GL_REFLECTION_MAP_NV", 0x8512 },
+   { "GL_REFLECTION_MAP_ARB", 0x8512 },
    { "GL_REFLECTION_MAP", 0x8512 },
+   { "GL_TEXTURE_CUBE_MAP_ARB", 0x8513 },
    { "GL_TEXTURE_CUBE_MAP", 0x8513 },
+   { "GL_TEXTURE_BINDING_CUBE_MAP_ARB", 0x8514 },
    { "GL_TEXTURE_BINDING_CUBE_MAP", 0x8514 },
+   { "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB", 0x8515 },
    { "GL_TEXTURE_CUBE_MAP_POSITIVE_X", 0x8515 },
+   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB", 0x8516 },
    { "GL_TEXTURE_CUBE_MAP_NEGATIVE_X", 0x8516 },
+   { "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB", 0x8517 },
    { "GL_TEXTURE_CUBE_MAP_POSITIVE_Y", 0x8517 },
    { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y", 0x8518 },
+   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB", 0x8518 },
    { "GL_TEXTURE_CUBE_MAP_POSITIVE_Z", 0x8519 },
+   { "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB", 0x8519 },
    { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z", 0x851A },
+   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB", 0x851A },
    { "GL_PROXY_TEXTURE_CUBE_MAP", 0x851B },
+   { "GL_PROXY_TEXTURE_CUBE_MAP_ARB", 0x851B },
    { "GL_MAX_CUBE_MAP_TEXTURE_SIZE", 0x851C },
-   { "GL_COMPRESSED_ALPHA", 0x84E9 },
-   { "GL_COMPRESSED_LUMINANCE", 0x84EA },
-   { "GL_COMPRESSED_LUMINANCE_ALPHA", 0x84EB },
-   { "GL_COMPRESSED_INTENSITY", 0x84EC },
-   { "GL_COMPRESSED_RGB", 0x84ED },
-   { "GL_COMPRESSED_RGBA", 0x84EE },
-   { "GL_TEXTURE_COMPRESSION_HINT", 0x84EF },
-   { "GL_TEXTURE_COMPRESSED_IMAGE_SIZE", 0x86A0 },
-   { "GL_TEXTURE_COMPRESSED", 0x86A1 },
-   { "GL_NUM_COMPRESSED_TEXTURE_FORMATS", 0x86A2 },
-   { "GL_COMPRESSED_TEXTURE_FORMATS", 0x86A3 },
-   { "GL_CLAMP_TO_BORDER", 0x812D },
+   { "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB", 0x851C },
+   { "GL_MULTISAMPLE_FILTER_HINT_NV", 0x8534 },
+   { "GL_FOG_DISTANCE_MODE_NV", 0x855A },
+   { "GL_EYE_RADIAL_NV", 0x855B },
+   { "GL_EYE_PLANE_ABSOLUTE_NV", 0x855C },
+   { "GL_COMBINE_EXT", 0x8570 },
    { "GL_COMBINE", 0x8570 },
+   { "GL_COMBINE_ARB", 0x8570 },
+   { "GL_COMBINE_RGB_ARB", 0x8571 },
+   { "GL_COMBINE_RGB_EXT", 0x8571 },
    { "GL_COMBINE_RGB", 0x8571 },
    { "GL_COMBINE_ALPHA", 0x8572 },
+   { "GL_COMBINE_ALPHA_EXT", 0x8572 },
+   { "GL_COMBINE_ALPHA_ARB", 0x8572 },
+   { "GL_RGB_SCALE", 0x8573 },
+   { "GL_RGB_SCALE_ARB", 0x8573 },
+   { "GL_RGB_SCALE_EXT", 0x8573 },
+   { "GL_ADD_SIGNED", 0x8574 },
+   { "GL_ADD_SIGNED_EXT", 0x8574 },
+   { "GL_ADD_SIGNED_ARB", 0x8574 },
+   { "GL_INTERPOLATE", 0x8575 },
+   { "GL_INTERPOLATE_EXT", 0x8575 },
+   { "GL_INTERPOLATE_ARB", 0x8575 },
+   { "GL_CONSTANT", 0x8576 },
+   { "GL_CONSTANT_EXT", 0x8576 },
+   { "GL_CONSTANT_ARB", 0x8576 },
+   { "GL_PRIMARY_COLOR_ARB", 0x8577 },
+   { "GL_PRIMARY_COLOR_EXT", 0x8577 },
+   { "GL_PRIMARY_COLOR", 0x8577 },
+   { "GL_PREVIOUS_ARB", 0x8578 },
+   { "GL_PREVIOUS_EXT", 0x8578 },
+   { "GL_PREVIOUS", 0x8578 },
+   { "GL_SOURCE0_RGB_EXT", 0x8580 },
    { "GL_SOURCE0_RGB", 0x8580 },
+   { "GL_SOURCE0_RGB_ARB", 0x8580 },
+   { "GL_SRC0_RGB", 0x8580 },
+   { "GL_SOURCE1_RGB_ARB", 0x8581 },
    { "GL_SOURCE1_RGB", 0x8581 },
+   { "GL_SRC1_RGB", 0x8581 },
+   { "GL_SOURCE1_RGB_EXT", 0x8581 },
+   { "GL_SOURCE2_RGB_ARB", 0x8582 },
+   { "GL_SOURCE2_RGB_EXT", 0x8582 },
+   { "GL_SRC2_RGB", 0x8582 },
    { "GL_SOURCE2_RGB", 0x8582 },
+   { "GL_SOURCE3_RGB_NV", 0x8583 },
+   { "GL_SOURCE0_ALPHA_ARB", 0x8588 },
+   { "GL_SOURCE0_ALPHA_EXT", 0x8588 },
+   { "GL_SRC0_ALPHA", 0x8588 },
    { "GL_SOURCE0_ALPHA", 0x8588 },
+   { "GL_SOURCE1_ALPHA_ARB", 0x8589 },
    { "GL_SOURCE1_ALPHA", 0x8589 },
+   { "GL_SRC1_ALPHA", 0x8589 },
+   { "GL_SOURCE1_ALPHA_EXT", 0x8589 },
+   { "GL_SOURCE2_ALPHA_ARB", 0x858A },
    { "GL_SOURCE2_ALPHA", 0x858A },
+   { "GL_SRC2_ALPHA", 0x858A },
+   { "GL_SOURCE2_ALPHA_EXT", 0x858A },
+   { "GL_SOURCE3_ALPHA_NV", 0x858B },
    { "GL_OPERAND0_RGB", 0x8590 },
+   { "GL_OPERAND0_RGB_EXT", 0x8590 },
+   { "GL_OPERAND0_RGB_ARB", 0x8590 },
    { "GL_OPERAND1_RGB", 0x8591 },
+   { "GL_OPERAND1_RGB_EXT", 0x8591 },
+   { "GL_OPERAND1_RGB_ARB", 0x8591 },
    { "GL_OPERAND2_RGB", 0x8592 },
+   { "GL_OPERAND2_RGB_EXT", 0x8592 },
+   { "GL_OPERAND2_RGB_ARB", 0x8592 },
+   { "GL_OPERAND3_RGB_NV", 0x8593 },
+   { "GL_OPERAND0_ALPHA_EXT", 0x8598 },
    { "GL_OPERAND0_ALPHA", 0x8598 },
+   { "GL_OPERAND0_ALPHA_ARB", 0x8598 },
    { "GL_OPERAND1_ALPHA", 0x8599 },
+   { "GL_OPERAND1_ALPHA_EXT", 0x8599 },
+   { "GL_OPERAND1_ALPHA_ARB", 0x8599 },
    { "GL_OPERAND2_ALPHA", 0x859A },
-   { "GL_RGB_SCALE", 0x8573 },
-   { "GL_ADD_SIGNED", 0x8574 },
-   { "GL_INTERPOLATE", 0x8575 },
-   { "GL_SUBTRACT", 0x84E7 },
-   { "GL_CONSTANT", 0x8576 },
-   { "GL_PRIMARY_COLOR", 0x8577 },
-   { "GL_PREVIOUS", 0x8578 },
+   { "GL_OPERAND2_ALPHA_ARB", 0x859A },
+   { "GL_OPERAND2_ALPHA_EXT", 0x859A },
+   { "GL_OPERAND3_ALPHA_NV", 0x859B },
+   { "GL_YCBCR_422_APPLE", 0x85B9 },
+   { "GL_UNSIGNED_SHORT_8_8_APPLE", 0x85BA },
+   { "GL_UNSIGNED_SHORT_8_8_MESA", 0x85BA },
+   { "GL_UNSIGNED_SHORT_8_8_REV_MESA", 0x85BB },
+   { "GL_UNSIGNED_SHORT_8_8_REV_APPLE", 0x85BB },
+   { "GL_SLICE_ACCUM_SUN", 0x85CC },
+   { "GL_QUAD_MESH_SUN", 0x8614 },
+   { "GL_TRIANGLE_MESH_SUN", 0x8615 },
+   { "GL_VERTEX_PROGRAM_ARB", 0x8620 },
+   { "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB", 0x8622 },
+   { "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB", 0x8623 },
+   { "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB", 0x8624 },
+   { "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB", 0x8625 },
+   { "GL_CURRENT_VERTEX_ATTRIB_ARB", 0x8626 },
+   { "GL_PROGRAM_LENGTH_ARB", 0x8627 },
+   { "GL_PROGRAM_STRING_ARB", 0x8628 },
+   { "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB", 0x862E },
+   { "GL_MAX_PROGRAM_MATRICES_ARB", 0x862F },
+   { "GL_CURRENT_MATRIX_STACK_DEPTH_ARB", 0x8640 },
+   { "GL_CURRENT_MATRIX_ARB", 0x8641 },
+   { "GL_VERTEX_PROGRAM_POINT_SIZE_ARB", 0x8642 },
+   { "GL_VERTEX_PROGRAM_TWO_SIDE_ARB", 0x8643 },
+   { "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB", 0x8645 },
+   { "GL_PROGRAM_ERROR_POSITION_ARB", 0x864B },
+   { "GL_DEPTH_CLAMP_NV", 0x864F },
+   { "GL_PROGRAM_BINDING_ARB", 0x8677 },
+   { "GL_TEXTURE_COMPRESSED_IMAGE_SIZE", 0x86A0 },
+   { "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB", 0x86A0 },
+   { "GL_TEXTURE_COMPRESSED_ARB", 0x86A1 },
+   { "GL_TEXTURE_COMPRESSED", 0x86A1 },
+   { "GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB", 0x86A2 },
+   { "GL_NUM_COMPRESSED_TEXTURE_FORMATS", 0x86A2 },
+   { "GL_TEXTURE_COMPRESSED_FORMATS_ARB", 0x86A3 },
+   { "GL_COMPRESSED_TEXTURE_FORMATS", 0x86A3 },
+   { "GL_MAX_VERTEX_UNITS_ARB", 0x86A4 },
+   { "GL_ACTIVE_VERTEX_UNITS_ARB", 0x86A5 },
+   { "GL_WEIGHT_SUM_UNITY_ARB", 0x86A6 },
+   { "GL_VERTEX_BLEND_ARB", 0x86A7 },
+   { "GL_CURRENT_WEIGHT_ARB", 0x86A8 },
+   { "GL_WEIGHT_ARRAY_TYPE_ARB", 0x86A9 },
+   { "GL_WEIGHT_ARRAY_STRIDE_ARB", 0x86AA },
+   { "GL_WEIGHT_ARRAY_SIZE_ARB", 0x86AB },
+   { "GL_WEIGHT_ARRAY_POINTER_ARB", 0x86AC },
+   { "GL_WEIGHT_ARRAY_ARB", 0x86AD },
+   { "GL_DOT3_RGB_ARB", 0x86AE },
    { "GL_DOT3_RGB", 0x86AE },
+   { "GL_DOT3_RGBA_ARB", 0x86AF },
    { "GL_DOT3_RGBA", 0x86AF },
-   { "GL_BLEND_DST_RGB", 0x80C8 },
-   { "GL_BLEND_SRC_RGB", 0x80C9 },
-   { "GL_BLEND_DST_ALPHA", 0x80CA },
-   { "GL_BLEND_SRC_ALPHA", 0x80CB },
-   { "GL_POINT_SIZE_MIN", 0x8126 },
-   { "GL_POINT_SIZE_MAX", 0x8127 },
-   { "GL_POINT_FADE_THRESHOLD_SIZE", 0x8128 },
-   { "GL_POINT_DISTANCE_ATTENUATION", 0x8129 },
-   { "GL_GENERATE_MIPMAP", 0x8191 },
-   { "GL_GENERATE_MIPMAP_HINT", 0x8192 },
-   { "GL_DEPTH_COMPONENT16", 0x81A5 },
-   { "GL_DEPTH_COMPONENT24", 0x81A6 },
-   { "GL_DEPTH_COMPONENT32", 0x81A7 },
-   { "GL_MIRRORED_REPEAT", 0x8370 },
-   { "GL_FOG_COORDINATE_SOURCE", 0x8450 },
-   { "GL_FOG_COORDINATE", 0x8451 },
-   { "GL_FRAGMENT_DEPTH", 0x8452 },
-   { "GL_CURRENT_FOG_COORDINATE", 0x8453 },
-   { "GL_FOG_COORDINATE_ARRAY_TYPE", 0x8454 },
-   { "GL_FOG_COORDINATE_ARRAY_STRIDE", 0x8455 },
-   { "GL_FOG_COORDINATE_ARRAY_POINTER", 0x8456 },
-   { "GL_FOG_COORDINATE_ARRAY", 0x8457 },
-   { "GL_COLOR_SUM", 0x8458 },
-   { "GL_CURRENT_SECONDARY_COLOR", 0x8459 },
-   { "GL_SECONDARY_COLOR_ARRAY_SIZE", 0x845A },
-   { "GL_SECONDARY_COLOR_ARRAY_TYPE", 0x845B },
-   { "GL_SECONDARY_COLOR_ARRAY_STRIDE", 0x845C },
-   { "GL_SECONDARY_COLOR_ARRAY_POINTER", 0x845D },
-   { "GL_SECONDARY_COLOR_ARRAY", 0x845E },
-   { "GL_MAX_TEXTURE_LOD_BIAS", 0x84FD },
-   { "GL_TEXTURE_FILTER_CONTROL", 0x8500 },
-   { "GL_TEXTURE_LOD_BIAS", 0x8501 },
-   { "GL_INCR_WRAP", 0x8507 },
-   { "GL_DECR_WRAP", 0x8508 },
-   { "GL_TEXTURE_DEPTH_SIZE", 0x884A },
-   { "GL_DEPTH_TEXTURE_MODE", 0x884B },
-   { "GL_TEXTURE_COMPARE_MODE", 0x884C },
-   { "GL_TEXTURE_COMPARE_FUNC", 0x884D },
-   { "GL_COMPARE_R_TO_TEXTURE", 0x884E },
-   { "GL_BUFFER_SIZE", 0x8764 },
-   { "GL_BUFFER_USAGE", 0x8765 },
-   { "GL_QUERY_COUNTER_BITS", 0x8864 },
-   { "GL_CURRENT_QUERY", 0x8865 },
-   { "GL_QUERY_RESULT", 0x8866 },
-   { "GL_QUERY_RESULT_AVAILABLE", 0x8867 },
-   { "GL_ARRAY_BUFFER", 0x8892 },
-   { "GL_ELEMENT_ARRAY_BUFFER", 0x8893 },
-   { "GL_ARRAY_BUFFER_BINDING", 0x8894 },
-   { "GL_ELEMENT_ARRAY_BUFFER_BINDING", 0x8895 },
-   { "GL_VERTEX_ARRAY_BUFFER_BINDING", 0x8896 },
-   { "GL_NORMAL_ARRAY_BUFFER_BINDING", 0x8897 },
-   { "GL_COLOR_ARRAY_BUFFER_BINDING", 0x8898 },
-   { "GL_INDEX_ARRAY_BUFFER_BINDING", 0x8899 },
-   { "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING", 0x889A },
-   { "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING", 0x889B },
-   { "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING", 0x889C },
-   { "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING", 0x889D },
-   { "GL_WEIGHT_ARRAY_BUFFER_BINDING", 0x889E },
-   { "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", 0x889F },
-   { "GL_READ_ONLY", 0x88B8 },
-   { "GL_WRITE_ONLY", 0x88B9 },
-   { "GL_READ_WRITE", 0x88BA },
-   { "GL_BUFFER_ACCESS", 0x88BB },
-   { "GL_BUFFER_MAPPED", 0x88BC },
-   { "GL_BUFFER_MAP_POINTER", 0x88BD },
-   { "GL_STREAM_DRAW", 0x88E0 },
-   { "GL_STREAM_READ", 0x88E1 },
-   { "GL_STREAM_COPY", 0x88E2 },
-   { "GL_STATIC_DRAW", 0x88E4 },
-   { "GL_STATIC_READ", 0x88E5 },
-   { "GL_STATIC_COPY", 0x88E6 },
-   { "GL_DYNAMIC_DRAW", 0x88E8 },
-   { "GL_DYNAMIC_READ", 0x88E9 },
-   { "GL_DYNAMIC_COPY", 0x88EA },
-   { "GL_SAMPLES_PASSED", 0x8914 },
-   { "GL_FOG_COORD_SOURCE", 0x8450 },
-   { "GL_FOG_COORD", 0x8451 },
-   { "GL_CURRENT_FOG_COORD", 0x8453 },
-   { "GL_FOG_COORD_ARRAY_TYPE", 0x8454 },
-   { "GL_FOG_COORD_ARRAY_STRIDE", 0x8455 },
-   { "GL_FOG_COORD_ARRAY_POINTER", 0x8456 },
-   { "GL_FOG_COORD_ARRAY", 0x8457 },
-   { "GL_FOG_COORD_ARRAY_BUFFER_BINDING", 0x889D },
-   { "GL_SRC0_RGB", 0x8580 },
-   { "GL_SRC1_RGB", 0x8581 },
-   { "GL_SRC2_RGB", 0x8582 },
-   { "GL_SRC0_ALPHA", 0x8588 },
-   { "GL_SRC1_ALPHA", 0x8589 },
-   { "GL_SRC2_ALPHA", 0x858A },
-   { "GL_POINT_SPRITE_COORD_ORIGIN", 0x8CA0 },
-   { "GL_TEXTURE0_ARB", 0x84C0 },
-   { "GL_TEXTURE1_ARB", 0x84C1 },
-   { "GL_TEXTURE2_ARB", 0x84C2 },
-   { "GL_TEXTURE3_ARB", 0x84C3 },
-   { "GL_TEXTURE4_ARB", 0x84C4 },
-   { "GL_TEXTURE5_ARB", 0x84C5 },
-   { "GL_TEXTURE6_ARB", 0x84C6 },
-   { "GL_TEXTURE7_ARB", 0x84C7 },
-   { "GL_TEXTURE8_ARB", 0x84C8 },
-   { "GL_TEXTURE9_ARB", 0x84C9 },
-   { "GL_TEXTURE10_ARB", 0x84CA },
-   { "GL_TEXTURE11_ARB", 0x84CB },
-   { "GL_TEXTURE12_ARB", 0x84CC },
-   { "GL_TEXTURE13_ARB", 0x84CD },
-   { "GL_TEXTURE14_ARB", 0x84CE },
-   { "GL_TEXTURE15_ARB", 0x84CF },
-   { "GL_TEXTURE16_ARB", 0x84D0 },
-   { "GL_TEXTURE17_ARB", 0x84D1 },
-   { "GL_TEXTURE18_ARB", 0x84D2 },
-   { "GL_TEXTURE19_ARB", 0x84D3 },
-   { "GL_TEXTURE20_ARB", 0x84D4 },
-   { "GL_TEXTURE21_ARB", 0x84D5 },
-   { "GL_TEXTURE22_ARB", 0x84D6 },
-   { "GL_TEXTURE23_ARB", 0x84D7 },
-   { "GL_TEXTURE24_ARB", 0x84D8 },
-   { "GL_TEXTURE25_ARB", 0x84D9 },
-   { "GL_TEXTURE26_ARB", 0x84DA },
-   { "GL_TEXTURE27_ARB", 0x84DB },
-   { "GL_TEXTURE28_ARB", 0x84DC },
-   { "GL_TEXTURE29_ARB", 0x84DD },
-   { "GL_TEXTURE30_ARB", 0x84DE },
-   { "GL_TEXTURE31_ARB", 0x84DF },
-   { "GL_ACTIVE_TEXTURE_ARB", 0x84E0 },
-   { "GL_CLIENT_ACTIVE_TEXTURE_ARB", 0x84E1 },
-   { "GL_MAX_TEXTURE_UNITS_ARB", 0x84E2 },
-   { "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB", 0x84E3 },
-   { "GL_TRANSPOSE_PROJECTION_MATRIX_ARB", 0x84E4 },
-   { "GL_TRANSPOSE_TEXTURE_MATRIX_ARB", 0x84E5 },
-   { "GL_TRANSPOSE_COLOR_MATRIX_ARB", 0x84E6 },
-   { "GL_MULTISAMPLE_ARB", 0x809D },
-   { "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB", 0x809E },
-   { "GL_SAMPLE_ALPHA_TO_ONE_ARB", 0x809F },
-   { "GL_SAMPLE_COVERAGE_ARB", 0x80A0 },
-   { "GL_SAMPLE_BUFFERS_ARB", 0x80A8 },
-   { "GL_SAMPLES_ARB", 0x80A9 },
-   { "GL_SAMPLE_COVERAGE_VALUE_ARB", 0x80AA },
-   { "GL_SAMPLE_COVERAGE_INVERT_ARB", 0x80AB },
-   { "GL_MULTISAMPLE_BIT_ARB", 0x20000000 },
-   { "GL_NORMAL_MAP_ARB", 0x8511 },
-   { "GL_REFLECTION_MAP_ARB", 0x8512 },
-   { "GL_TEXTURE_CUBE_MAP_ARB", 0x8513 },
-   { "GL_TEXTURE_BINDING_CUBE_MAP_ARB", 0x8514 },
-   { "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB", 0x8515 },
-   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB", 0x8516 },
-   { "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB", 0x8517 },
-   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB", 0x8518 },
-   { "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB", 0x8519 },
-   { "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB", 0x851A },
-   { "GL_PROXY_TEXTURE_CUBE_MAP_ARB", 0x851B },
-   { "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB", 0x851C },
-   { "GL_COMPRESSED_ALPHA_ARB", 0x84E9 },
-   { "GL_COMPRESSED_LUMINANCE_ARB", 0x84EA },
-   { "GL_COMPRESSED_LUMINANCE_ALPHA_ARB", 0x84EB },
-   { "GL_COMPRESSED_INTENSITY_ARB", 0x84EC },
-   { "GL_COMPRESSED_RGB_ARB", 0x84ED },
-   { "GL_COMPRESSED_RGBA_ARB", 0x84EE },
-   { "GL_TEXTURE_COMPRESSION_HINT_ARB", 0x84EF },
-   { "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB", 0x86A0 },
-   { "GL_TEXTURE_COMPRESSED_ARB", 0x86A1 },
-   { "GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB", 0x86A2 },
-   { "GL_TEXTURE_COMPRESSED_FORMATS_ARB", 0x86A3 },
-   { "GL_CLAMP_TO_BORDER_ARB", 0x812D },
-   { "GL_POINT_SIZE_MIN_ARB", 0x8126 },
-   { "GL_POINT_SIZE_MAX_ARB", 0x8127 },
-   { "GL_POINT_FADE_THRESHOLD_SIZE_ARB", 0x8128 },
-   { "GL_POINT_DISTANCE_ATTENUATION_ARB", 0x8129 },
-   { "GL_MAX_VERTEX_UNITS_ARB", 0x86A4 },
-   { "GL_ACTIVE_VERTEX_UNITS_ARB", 0x86A5 },
-   { "GL_WEIGHT_SUM_UNITY_ARB", 0x86A6 },
-   { "GL_VERTEX_BLEND_ARB", 0x86A7 },
-   { "GL_CURRENT_WEIGHT_ARB", 0x86A8 },
-   { "GL_WEIGHT_ARRAY_TYPE_ARB", 0x86A9 },
-   { "GL_WEIGHT_ARRAY_STRIDE_ARB", 0x86AA },
-   { "GL_WEIGHT_ARRAY_SIZE_ARB", 0x86AB },
-   { "GL_WEIGHT_ARRAY_POINTER_ARB", 0x86AC },
-   { "GL_WEIGHT_ARRAY_ARB", 0x86AD },
-   { "GL_MODELVIEW0_ARB", 0x1700 },
-   { "GL_MODELVIEW1_ARB", 0x850A },
+   { "GL_COMPRESSED_RGB_FXT1_3DFX", 0x86B0 },
+   { "GL_COMPRESSED_RGBA_FXT1_3DFX", 0x86B1 },
+   { "GL_MULTISAMPLE_3DFX", 0x86B2 },
+   { "GL_SAMPLE_BUFFERS_3DFX", 0x86B3 },
+   { "GL_SAMPLES_3DFX", 0x86B4 },
    { "GL_MODELVIEW2_ARB", 0x8722 },
    { "GL_MODELVIEW3_ARB", 0x8723 },
    { "GL_MODELVIEW4_ARB", 0x8724 },
@@ -969,6 +1214,51 @@ static enum_elt all_enums[] =
    { "GL_MODELVIEW29_ARB", 0x873D },
    { "GL_MODELVIEW30_ARB", 0x873E },
    { "GL_MODELVIEW31_ARB", 0x873F },
+   { "GL_DOT3_RGB_EXT", 0x8740 },
+   { "GL_DOT3_RGBA_EXT", 0x8741 },
+   { "GL_MIRROR_CLAMP_ATI", 0x8742 },
+   { "GL_MIRROR_CLAMP_EXT", 0x8742 },
+   { "GL_MIRROR_CLAMP_TO_EDGE_ATI", 0x8743 },
+   { "GL_MIRROR_CLAMP_TO_EDGE_EXT", 0x8743 },
+   { "GL_MODULATE_ADD_ATI", 0x8744 },
+   { "GL_MODULATE_SIGNED_ADD_ATI", 0x8745 },
+   { "GL_MODULATE_SUBTRACT_ATI", 0x8746 },
+   { "GL_YCBCR_MESA", 0x8757 },
+   { "GL_PACK_INVERT_MESA", 0x8758 },
+   { "GL_BUFFER_SIZE_ARB", 0x8764 },
+   { "GL_BUFFER_SIZE", 0x8764 },
+   { "GL_BUFFER_USAGE_ARB", 0x8765 },
+   { "GL_BUFFER_USAGE", 0x8765 },
+   { "GL_FRAGMENT_PROGRAM_ARB", 0x8804 },
+   { "GL_PROGRAM_ALU_INSTRUCTIONS_ARB", 0x8805 },
+   { "GL_PROGRAM_TEX_INSTRUCTIONS_ARB", 0x8806 },
+   { "GL_PROGRAM_TEX_INDIRECTIONS_ARB", 0x8807 },
+   { "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", 0x8808 },
+   { "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", 0x8809 },
+   { "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", 0x880A },
+   { "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB", 0x880B },
+   { "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB", 0x880C },
+   { "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB", 0x880D },
+   { "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", 0x880E },
+   { "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", 0x880F },
+   { "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", 0x8810 },
+   { "GL_MAX_DRAW_BUFFERS_ARB", 0x8824 },
+   { "GL_DRAW_BUFFER0_ARB", 0x8825 },
+   { "GL_DRAW_BUFFER1_ARB", 0x8826 },
+   { "GL_DRAW_BUFFER2_ARB", 0x8827 },
+   { "GL_DRAW_BUFFER3_ARB", 0x8828 },
+   { "GL_DRAW_BUFFER4_ARB", 0x8829 },
+   { "GL_DRAW_BUFFER5_ARB", 0x882A },
+   { "GL_DRAW_BUFFER6_ARB", 0x882B },
+   { "GL_DRAW_BUFFER7_ARB", 0x882C },
+   { "GL_DRAW_BUFFER8_ARB", 0x882D },
+   { "GL_DRAW_BUFFER9_ARB", 0x882E },
+   { "GL_DRAW_BUFFER10_ARB", 0x882F },
+   { "GL_DRAW_BUFFER11_ARB", 0x8830 },
+   { "GL_DRAW_BUFFER12_ARB", 0x8831 },
+   { "GL_DRAW_BUFFER13_ARB", 0x8832 },
+   { "GL_DRAW_BUFFER14_ARB", 0x8833 },
+   { "GL_DRAW_BUFFER15_ARB", 0x8834 },
    { "GL_MATRIX_PALETTE_ARB", 0x8840 },
    { "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB", 0x8841 },
    { "GL_MAX_PALETTE_MATRICES_ARB", 0x8842 },
@@ -979,477 +1269,196 @@ static enum_elt all_enums[] =
    { "GL_MATRIX_INDEX_ARRAY_TYPE_ARB", 0x8847 },
    { "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB", 0x8848 },
    { "GL_MATRIX_INDEX_ARRAY_POINTER_ARB", 0x8849 },
-   { "GL_COMBINE_ARB", 0x8570 },
-   { "GL_COMBINE_RGB_ARB", 0x8571 },
-   { "GL_COMBINE_ALPHA_ARB", 0x8572 },
-   { "GL_SOURCE0_RGB_ARB", 0x8580 },
-   { "GL_SOURCE1_RGB_ARB", 0x8581 },
-   { "GL_SOURCE2_RGB_ARB", 0x8582 },
-   { "GL_SOURCE0_ALPHA_ARB", 0x8588 },
-   { "GL_SOURCE1_ALPHA_ARB", 0x8589 },
-   { "GL_SOURCE2_ALPHA_ARB", 0x858A },
-   { "GL_OPERAND0_RGB_ARB", 0x8590 },
-   { "GL_OPERAND1_RGB_ARB", 0x8591 },
-   { "GL_OPERAND2_RGB_ARB", 0x8592 },
-   { "GL_OPERAND0_ALPHA_ARB", 0x8598 },
-   { "GL_OPERAND1_ALPHA_ARB", 0x8599 },
-   { "GL_OPERAND2_ALPHA_ARB", 0x859A },
-   { "GL_RGB_SCALE_ARB", 0x8573 },
-   { "GL_ADD_SIGNED_ARB", 0x8574 },
-   { "GL_INTERPOLATE_ARB", 0x8575 },
-   { "GL_SUBTRACT_ARB", 0x84E7 },
-   { "GL_CONSTANT_ARB", 0x8576 },
-   { "GL_PRIMARY_COLOR_ARB", 0x8577 },
-   { "GL_PREVIOUS_ARB", 0x8578 },
-   { "GL_DOT3_RGB_ARB", 0x86AE },
-   { "GL_DOT3_RGBA_ARB", 0x86AF },
-   { "GL_MIRRORED_REPEAT_ARB", 0x8370 },
-   { "GL_DEPTH_COMPONENT16_ARB", 0x81A5 },
-   { "GL_DEPTH_COMPONENT24_ARB", 0x81A6 },
-   { "GL_DEPTH_COMPONENT32_ARB", 0x81A7 },
    { "GL_TEXTURE_DEPTH_SIZE_ARB", 0x884A },
+   { "GL_TEXTURE_DEPTH_SIZE", 0x884A },
+   { "GL_DEPTH_TEXTURE_MODE", 0x884B },
    { "GL_DEPTH_TEXTURE_MODE_ARB", 0x884B },
+   { "GL_TEXTURE_COMPARE_MODE", 0x884C },
    { "GL_TEXTURE_COMPARE_MODE_ARB", 0x884C },
+   { "GL_TEXTURE_COMPARE_FUNC", 0x884D },
    { "GL_TEXTURE_COMPARE_FUNC_ARB", 0x884D },
+   { "GL_COMPARE_R_TO_TEXTURE", 0x884E },
    { "GL_COMPARE_R_TO_TEXTURE_ARB", 0x884E },
-   { "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB", 0x80BF },
-   { "GL_COLOR_SUM_ARB", 0x8458 },
-   { "GL_VERTEX_PROGRAM_ARB", 0x8620 },
-   { "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB", 0x8622 },
-   { "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB", 0x8623 },
-   { "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB", 0x8624 },
-   { "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB", 0x8625 },
-   { "GL_CURRENT_VERTEX_ATTRIB_ARB", 0x8626 },
-   { "GL_PROGRAM_LENGTH_ARB", 0x8627 },
-   { "GL_PROGRAM_STRING_ARB", 0x8628 },
-   { "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB", 0x862E },
-   { "GL_MAX_PROGRAM_MATRICES_ARB", 0x862F },
-   { "GL_CURRENT_MATRIX_STACK_DEPTH_ARB", 0x8640 },
-   { "GL_CURRENT_MATRIX_ARB", 0x8641 },
-   { "GL_VERTEX_PROGRAM_POINT_SIZE_ARB", 0x8642 },
-   { "GL_VERTEX_PROGRAM_TWO_SIDE_ARB", 0x8643 },
-   { "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB", 0x8645 },
-   { "GL_PROGRAM_ERROR_POSITION_ARB", 0x864B },
-   { "GL_PROGRAM_BINDING_ARB", 0x8677 },
+   { "GL_POINT_SPRITE_NV", 0x8861 },
+   { "GL_POINT_SPRITE_ARB", 0x8861 },
+   { "GL_COORD_REPLACE_NV", 0x8862 },
+   { "GL_COORD_REPLACE_ARB", 0x8862 },
+   { "GL_POINT_SPRITE_R_MODE_NV", 0x8863 },
+   { "GL_QUERY_COUNTER_BITS", 0x8864 },
+   { "GL_QUERY_COUNTER_BITS_ARB", 0x8864 },
+   { "GL_CURRENT_QUERY_ARB", 0x8865 },
+   { "GL_CURRENT_QUERY", 0x8865 },
+   { "GL_QUERY_RESULT", 0x8866 },
+   { "GL_QUERY_RESULT_ARB", 0x8866 },
+   { "GL_QUERY_RESULT_AVAILABLE_ARB", 0x8867 },
+   { "GL_QUERY_RESULT_AVAILABLE", 0x8867 },
    { "GL_MAX_VERTEX_ATTRIBS_ARB", 0x8869 },
    { "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB", 0x886A },
+   { "GL_DEPTH_STENCIL_TO_RGBA_NV", 0x886E },
+   { "GL_DEPTH_STENCIL_TO_BGRA_NV", 0x886F },
+   { "GL_MAX_TEXTURE_COORDS_ARB", 0x8871 },
+   { "GL_MAX_TEXTURE_IMAGE_UNITS_ARB", 0x8872 },
    { "GL_PROGRAM_ERROR_STRING_ARB", 0x8874 },
    { "GL_PROGRAM_FORMAT_ASCII_ARB", 0x8875 },
    { "GL_PROGRAM_FORMAT_ARB", 0x8876 },
-   { "GL_PROGRAM_INSTRUCTIONS_ARB", 0x88A0 },
-   { "GL_MAX_PROGRAM_INSTRUCTIONS_ARB", 0x88A1 },
-   { "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB", 0x88A2 },
-   { "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB", 0x88A3 },
-   { "GL_PROGRAM_TEMPORARIES_ARB", 0x88A4 },
-   { "GL_MAX_PROGRAM_TEMPORARIES_ARB", 0x88A5 },
-   { "GL_PROGRAM_NATIVE_TEMPORARIES_ARB", 0x88A6 },
-   { "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB", 0x88A7 },
-   { "GL_PROGRAM_PARAMETERS_ARB", 0x88A8 },
-   { "GL_MAX_PROGRAM_PARAMETERS_ARB", 0x88A9 },
-   { "GL_PROGRAM_NATIVE_PARAMETERS_ARB", 0x88AA },
-   { "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB", 0x88AB },
-   { "GL_PROGRAM_ATTRIBS_ARB", 0x88AC },
-   { "GL_MAX_PROGRAM_ATTRIBS_ARB", 0x88AD },
-   { "GL_PROGRAM_NATIVE_ATTRIBS_ARB", 0x88AE },
-   { "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB", 0x88AF },
-   { "GL_PROGRAM_ADDRESS_REGISTERS_ARB", 0x88B0 },
-   { "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB", 0x88B1 },
-   { "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", 0x88B2 },
-   { "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", 0x88B3 },
-   { "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB", 0x88B4 },
-   { "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB", 0x88B5 },
-   { "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB", 0x88B6 },
-   { "GL_TRANSPOSE_CURRENT_MATRIX_ARB", 0x88B7 },
-   { "GL_MATRIX0_ARB", 0x88C0 },
-   { "GL_MATRIX1_ARB", 0x88C1 },
-   { "GL_MATRIX2_ARB", 0x88C2 },
-   { "GL_MATRIX3_ARB", 0x88C3 },
-   { "GL_MATRIX4_ARB", 0x88C4 },
-   { "GL_MATRIX5_ARB", 0x88C5 },
-   { "GL_MATRIX6_ARB", 0x88C6 },
-   { "GL_MATRIX7_ARB", 0x88C7 },
-   { "GL_MATRIX8_ARB", 0x88C8 },
-   { "GL_MATRIX9_ARB", 0x88C9 },
-   { "GL_MATRIX10_ARB", 0x88CA },
-   { "GL_MATRIX11_ARB", 0x88CB },
-   { "GL_MATRIX12_ARB", 0x88CC },
-   { "GL_MATRIX13_ARB", 0x88CD },
-   { "GL_MATRIX14_ARB", 0x88CE },
-   { "GL_MATRIX15_ARB", 0x88CF },
-   { "GL_MATRIX16_ARB", 0x88D0 },
-   { "GL_MATRIX17_ARB", 0x88D1 },
-   { "GL_MATRIX18_ARB", 0x88D2 },
-   { "GL_MATRIX19_ARB", 0x88D3 },
-   { "GL_MATRIX20_ARB", 0x88D4 },
-   { "GL_MATRIX21_ARB", 0x88D5 },
-   { "GL_MATRIX22_ARB", 0x88D6 },
-   { "GL_MATRIX23_ARB", 0x88D7 },
-   { "GL_MATRIX24_ARB", 0x88D8 },
-   { "GL_MATRIX25_ARB", 0x88D9 },
-   { "GL_MATRIX26_ARB", 0x88DA },
-   { "GL_MATRIX27_ARB", 0x88DB },
-   { "GL_MATRIX28_ARB", 0x88DC },
-   { "GL_MATRIX29_ARB", 0x88DD },
-   { "GL_MATRIX30_ARB", 0x88DE },
-   { "GL_MATRIX31_ARB", 0x88DF },
-   { "GL_FRAGMENT_PROGRAM_ARB", 0x8804 },
-   { "GL_PROGRAM_ALU_INSTRUCTIONS_ARB", 0x8805 },
-   { "GL_PROGRAM_TEX_INSTRUCTIONS_ARB", 0x8806 },
-   { "GL_PROGRAM_TEX_INDIRECTIONS_ARB", 0x8807 },
-   { "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", 0x8808 },
-   { "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", 0x8809 },
-   { "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", 0x880A },
-   { "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB", 0x880B },
-   { "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB", 0x880C },
-   { "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB", 0x880D },
-   { "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", 0x880E },
-   { "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", 0x880F },
-   { "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", 0x8810 },
-   { "GL_MAX_TEXTURE_COORDS_ARB", 0x8871 },
-   { "GL_MAX_TEXTURE_IMAGE_UNITS_ARB", 0x8872 },
-   { "GL_BUFFER_SIZE_ARB", 0x8764 },
-   { "GL_BUFFER_USAGE_ARB", 0x8765 },
+   { "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV", 0x888F },
    { "GL_ARRAY_BUFFER_ARB", 0x8892 },
+   { "GL_ARRAY_BUFFER", 0x8892 },
    { "GL_ELEMENT_ARRAY_BUFFER_ARB", 0x8893 },
+   { "GL_ELEMENT_ARRAY_BUFFER", 0x8893 },
    { "GL_ARRAY_BUFFER_BINDING_ARB", 0x8894 },
+   { "GL_ARRAY_BUFFER_BINDING", 0x8894 },
    { "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB", 0x8895 },
+   { "GL_ELEMENT_ARRAY_BUFFER_BINDING", 0x8895 },
+   { "GL_VERTEX_ARRAY_BUFFER_BINDING", 0x8896 },
    { "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB", 0x8896 },
    { "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB", 0x8897 },
+   { "GL_NORMAL_ARRAY_BUFFER_BINDING", 0x8897 },
+   { "GL_COLOR_ARRAY_BUFFER_BINDING", 0x8898 },
    { "GL_COLOR_ARRAY_BUFFER_BINDING_ARB", 0x8898 },
+   { "GL_INDEX_ARRAY_BUFFER_BINDING", 0x8899 },
    { "GL_INDEX_ARRAY_BUFFER_BINDING_ARB", 0x8899 },
-   { "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB", 0x889A },
-   { "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB", 0x889B },
-   { "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB", 0x889C },
-   { "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB", 0x889D },
-   { "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB", 0x889E },
-   { "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB", 0x889F },
-   { "GL_READ_ONLY_ARB", 0x88B8 },
-   { "GL_WRITE_ONLY_ARB", 0x88B9 },
-   { "GL_READ_WRITE_ARB", 0x88BA },
-   { "GL_BUFFER_ACCESS_ARB", 0x88BB },
-   { "GL_BUFFER_MAPPED_ARB", 0x88BC },
-   { "GL_BUFFER_MAP_POINTER_ARB", 0x88BD },
-   { "GL_STREAM_DRAW_ARB", 0x88E0 },
-   { "GL_STREAM_READ_ARB", 0x88E1 },
-   { "GL_STREAM_COPY_ARB", 0x88E2 },
-   { "GL_STATIC_DRAW_ARB", 0x88E4 },
-   { "GL_STATIC_READ_ARB", 0x88E5 },
-   { "GL_STATIC_COPY_ARB", 0x88E6 },
-   { "GL_DYNAMIC_DRAW_ARB", 0x88E8 },
-   { "GL_DYNAMIC_READ_ARB", 0x88E9 },
-   { "GL_DYNAMIC_COPY_ARB", 0x88EA },
-   { "GL_QUERY_COUNTER_BITS_ARB", 0x8864 },
-   { "GL_CURRENT_QUERY_ARB", 0x8865 },
-   { "GL_QUERY_RESULT_ARB", 0x8866 },
-   { "GL_QUERY_RESULT_AVAILABLE_ARB", 0x8867 },
-   { "GL_SAMPLES_PASSED_ARB", 0x8914 },
-   { "GL_PROGRAM_OBJECT_ARB", 0x8B40 },
-   { "GL_SHADER_OBJECT_ARB", 0x8B48 },
-   { "GL_OBJECT_TYPE_ARB", 0x8B4E },
-   { "GL_OBJECT_SUBTYPE_ARB", 0x8B4F },
-   { "GL_FLOAT_VEC2_ARB", 0x8B50 },
-   { "GL_FLOAT_VEC3_ARB", 0x8B51 },
-   { "GL_FLOAT_VEC4_ARB", 0x8B52 },
-   { "GL_INT_VEC2_ARB", 0x8B53 },
-   { "GL_INT_VEC3_ARB", 0x8B54 },
-   { "GL_INT_VEC4_ARB", 0x8B55 },
-   { "GL_BOOL_ARB", 0x8B56 },
-   { "GL_BOOL_VEC2_ARB", 0x8B57 },
-   { "GL_BOOL_VEC3_ARB", 0x8B58 },
-   { "GL_BOOL_VEC4_ARB", 0x8B59 },
-   { "GL_FLOAT_MAT2_ARB", 0x8B5A },
-   { "GL_FLOAT_MAT3_ARB", 0x8B5B },
-   { "GL_FLOAT_MAT4_ARB", 0x8B5C },
-   { "GL_OBJECT_DELETE_STATUS_ARB", 0x8B80 },
-   { "GL_OBJECT_COMPILE_STATUS_ARB", 0x8B81 },
-   { "GL_OBJECT_LINK_STATUS_ARB", 0x8B82 },
-   { "GL_OBJECT_VALIDATE_STATUS_ARB", 0x8B83 },
-   { "GL_OBJECT_INFO_LOG_LENGTH_ARB", 0x8B84 },
-   { "GL_OBJECT_ATTACHED_OBJECTS_ARB", 0x8B85 },
-   { "GL_OBJECT_ACTIVE_UNIFORMS_ARB", 0x8B86 },
-   { "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB", 0x8B87 },
-   { "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB", 0x8B88 },
-   { "GL_VERTEX_SHADER_ARB", 0x8B31 },
-   { "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB", 0x8B4A },
-   { "GL_MAX_VARYING_FLOATS_ARB", 0x8B4B },
-   { "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", 0x8B4C },
-   { "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", 0x8B4D },
-   { "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB", 0x8B89 },
-   { "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB", 0x8B8A },
-   { "GL_FRAGMENT_SHADER_ARB", 0x8B30 },
-   { "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", 0x8B49 },
-   { "GL_POINT_SPRITE_ARB", 0x8861 },
-   { "GL_COORD_REPLACE_ARB", 0x8862 },
-   { "GL_MAX_DRAW_BUFFERS_ARB", 0x8824 },
-   { "GL_DRAW_BUFFER0_ARB", 0x8825 },
-   { "GL_DRAW_BUFFER1_ARB", 0x8826 },
-   { "GL_DRAW_BUFFER2_ARB", 0x8827 },
-   { "GL_DRAW_BUFFER3_ARB", 0x8828 },
-   { "GL_DRAW_BUFFER4_ARB", 0x8829 },
-   { "GL_DRAW_BUFFER5_ARB", 0x882A },
-   { "GL_DRAW_BUFFER6_ARB", 0x882B },
-   { "GL_DRAW_BUFFER7_ARB", 0x882C },
-   { "GL_DRAW_BUFFER8_ARB", 0x882D },
-   { "GL_DRAW_BUFFER9_ARB", 0x882E },
-   { "GL_DRAW_BUFFER10_ARB", 0x882F },
-   { "GL_DRAW_BUFFER11_ARB", 0x8830 },
-   { "GL_DRAW_BUFFER12_ARB", 0x8831 },
-   { "GL_DRAW_BUFFER13_ARB", 0x8832 },
-   { "GL_DRAW_BUFFER14_ARB", 0x8833 },
-   { "GL_DRAW_BUFFER15_ARB", 0x8834 },
-   { "GL_TEXTURE_RECTANGLE_ARB", 0x84F5 },
-   { "GL_TEXTURE_BINDING_RECTANGLE_ARB", 0x84F6 },
-   { "GL_PROXY_TEXTURE_RECTANGLE_ARB", 0x84F7 },
-   { "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB", 0x84F8 },
-   { "GL_CONSTANT_COLOR_EXT", 0x8001 },
-   { "GL_ONE_MINUS_CONSTANT_COLOR_EXT", 0x8002 },
-   { "GL_CONSTANT_ALPHA_EXT", 0x8003 },
-   { "GL_ONE_MINUS_CONSTANT_ALPHA_EXT", 0x8004 },
-   { "GL_BLEND_COLOR_EXT", 0x8005 },
-   { "GL_ALPHA4_EXT", 0x803B },
-   { "GL_ALPHA8_EXT", 0x803C },
-   { "GL_ALPHA12_EXT", 0x803D },
-   { "GL_ALPHA16_EXT", 0x803E },
-   { "GL_LUMINANCE4_EXT", 0x803F },
-   { "GL_LUMINANCE8_EXT", 0x8040 },
-   { "GL_LUMINANCE12_EXT", 0x8041 },
-   { "GL_LUMINANCE16_EXT", 0x8042 },
-   { "GL_LUMINANCE4_ALPHA4_EXT", 0x8043 },
-   { "GL_LUMINANCE6_ALPHA2_EXT", 0x8044 },
-   { "GL_LUMINANCE8_ALPHA8_EXT", 0x8045 },
-   { "GL_LUMINANCE12_ALPHA4_EXT", 0x8046 },
-   { "GL_LUMINANCE12_ALPHA12_EXT", 0x8047 },
-   { "GL_LUMINANCE16_ALPHA16_EXT", 0x8048 },
-   { "GL_INTENSITY_EXT", 0x8049 },
-   { "GL_INTENSITY4_EXT", 0x804A },
-   { "GL_INTENSITY8_EXT", 0x804B },
-   { "GL_INTENSITY12_EXT", 0x804C },
-   { "GL_INTENSITY16_EXT", 0x804D },
-   { "GL_RGB2_EXT", 0x804E },
-   { "GL_RGB4_EXT", 0x804F },
-   { "GL_RGB5_EXT", 0x8050 },
-   { "GL_RGB8_EXT", 0x8051 },
-   { "GL_RGB10_EXT", 0x8052 },
-   { "GL_RGB12_EXT", 0x8053 },
-   { "GL_RGB16_EXT", 0x8054 },
-   { "GL_RGBA2_EXT", 0x8055 },
-   { "GL_RGBA4_EXT", 0x8056 },
-   { "GL_RGB5_A1_EXT", 0x8057 },
-   { "GL_RGBA8_EXT", 0x8058 },
-   { "GL_RGB10_A2_EXT", 0x8059 },
-   { "GL_RGBA12_EXT", 0x805A },
-   { "GL_RGBA16_EXT", 0x805B },
-   { "GL_TEXTURE_RED_SIZE_EXT", 0x805C },
-   { "GL_TEXTURE_GREEN_SIZE_EXT", 0x805D },
-   { "GL_TEXTURE_BLUE_SIZE_EXT", 0x805E },
-   { "GL_TEXTURE_ALPHA_SIZE_EXT", 0x805F },
-   { "GL_TEXTURE_LUMINANCE_SIZE_EXT", 0x8060 },
-   { "GL_TEXTURE_INTENSITY_SIZE_EXT", 0x8061 },
-   { "GL_REPLACE_EXT", 0x8062 },
-   { "GL_PROXY_TEXTURE_1D_EXT", 0x8063 },
-   { "GL_PROXY_TEXTURE_2D_EXT", 0x8064 },
-   { "GL_TEXTURE_TOO_LARGE_EXT", 0x8065 },
-   { "GL_HISTOGRAM_EXT", 0x8024 },
-   { "GL_PROXY_HISTOGRAM_EXT", 0x8025 },
-   { "GL_HISTOGRAM_WIDTH_EXT", 0x8026 },
-   { "GL_HISTOGRAM_FORMAT_EXT", 0x8027 },
-   { "GL_HISTOGRAM_RED_SIZE_EXT", 0x8028 },
-   { "GL_HISTOGRAM_GREEN_SIZE_EXT", 0x8029 },
-   { "GL_HISTOGRAM_BLUE_SIZE_EXT", 0x802A },
-   { "GL_HISTOGRAM_ALPHA_SIZE_EXT", 0x802B },
-   { "GL_HISTOGRAM_LUMINANCE_SIZE_EXT", 0x802C },
-   { "GL_HISTOGRAM_SINK_EXT", 0x802D },
-   { "GL_MINMAX_EXT", 0x802E },
-   { "GL_MINMAX_FORMAT_EXT", 0x802F },
-   { "GL_MINMAX_SINK_EXT", 0x8030 },
-   { "GL_TABLE_TOO_LARGE_EXT", 0x8031 },
-   { "GL_CONVOLUTION_BORDER_MODE_EXT", 0x8013 },
-   { "GL_CONVOLUTION_FILTER_SCALE_EXT", 0x8014 },
-   { "GL_CONVOLUTION_FILTER_BIAS_EXT", 0x8015 },
-   { "GL_REDUCE_EXT", 0x8016 },
-   { "GL_CONVOLUTION_FORMAT_EXT", 0x8017 },
-   { "GL_CONVOLUTION_WIDTH_EXT", 0x8018 },
-   { "GL_CONVOLUTION_HEIGHT_EXT", 0x8019 },
-   { "GL_MAX_CONVOLUTION_WIDTH_EXT", 0x801A },
-   { "GL_MAX_CONVOLUTION_HEIGHT_EXT", 0x801B },
-   { "GL_POST_CONVOLUTION_RED_SCALE_EXT", 0x801C },
-   { "GL_POST_CONVOLUTION_GREEN_SCALE_EXT", 0x801D },
-   { "GL_POST_CONVOLUTION_BLUE_SCALE_EXT", 0x801E },
-   { "GL_POST_CONVOLUTION_ALPHA_SCALE_EXT", 0x801F },
-   { "GL_POST_CONVOLUTION_RED_BIAS_EXT", 0x8020 },
-   { "GL_POST_CONVOLUTION_GREEN_BIAS_EXT", 0x8021 },
-   { "GL_POST_CONVOLUTION_BLUE_BIAS_EXT", 0x8022 },
-   { "GL_POST_CONVOLUTION_ALPHA_BIAS_EXT", 0x8023 },
-   { "GL_COLOR_MATRIX_SGI", 0x80B1 },
-   { "GL_COLOR_MATRIX_STACK_DEPTH_SGI", 0x80B2 },
-   { "GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI", 0x80B3 },
-   { "GL_POST_COLOR_MATRIX_RED_SCALE_SGI", 0x80B4 },
-   { "GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI", 0x80B5 },
-   { "GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI", 0x80B6 },
-   { "GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI", 0x80B7 },
-   { "GL_POST_COLOR_MATRIX_RED_BIAS_SGI", 0x80B8 },
-   { "GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI", 0x80B9 },
-   { "GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI", 0x80BA },
-   { "GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI", 0x80BB },
-   { "GL_TEXTURE_COLOR_TABLE_SGI", 0x80BC },
-   { "GL_PROXY_TEXTURE_COLOR_TABLE_SGI", 0x80BD },
-   { "GL_RESCALE_NORMAL_EXT", 0x803A },
-   { "GL_GENERATE_MIPMAP_SGIS", 0x8191 },
-   { "GL_GENERATE_MIPMAP_HINT_SGIS", 0x8192 },
-   { "GL_LINEAR_CLIPMAP_LINEAR_SGIX", 0x8170 },
-   { "GL_TEXTURE_CLIPMAP_CENTER_SGIX", 0x8171 },
-   { "GL_TEXTURE_CLIPMAP_FRAME_SGIX", 0x8172 },
-   { "GL_TEXTURE_CLIPMAP_OFFSET_SGIX", 0x8173 },
-   { "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX", 0x8174 },
-   { "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX", 0x8175 },
-   { "GL_TEXTURE_CLIPMAP_DEPTH_SGIX", 0x8176 },
-   { "GL_MAX_CLIPMAP_DEPTH_SGIX", 0x8177 },
-   { "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX", 0x8178 },
-   { "GL_NEAREST_CLIPMAP_NEAREST_SGIX", 0x844D },
-   { "GL_NEAREST_CLIPMAP_LINEAR_SGIX", 0x844E },
-   { "GL_LINEAR_CLIPMAP_NEAREST_SGIX", 0x844F },
-   { "GL_TEXTURE_COMPARE_SGIX", 0x819A },
-   { "GL_TEXTURE_COMPARE_OPERATOR_SGIX", 0x819B },
-   { "GL_TEXTURE_LEQUAL_R_SGIX", 0x819C },
-   { "GL_TEXTURE_GEQUAL_R_SGIX", 0x819D },
-   { "GL_CLAMP_TO_EDGE_SGIS", 0x812F },
-   { "GL_CLAMP_TO_BORDER_SGIS", 0x812D },
-   { "GL_POINT_SIZE_MIN_EXT", 0x8126 },
-   { "GL_POINT_SIZE_MAX_EXT", 0x8127 },
-   { "GL_POINT_FADE_THRESHOLD_SIZE_EXT", 0x8128 },
-   { "GL_POINT_DISTANCE_ATTENUATION_EXT", 0x8129 },
-   { "GL_POST_TEXTURE_FILTER_BIAS_SGIX", 0x8179 },
-   { "GL_POST_TEXTURE_FILTER_SCALE_SGIX", 0x817A },
-   { "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX", 0x817B },
-   { "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX", 0x817C },
-   { "GL_DEPTH_COMPONENT16_SGIX", 0x81A5 },
-   { "GL_DEPTH_COMPONENT24_SGIX", 0x81A6 },
-   { "GL_DEPTH_COMPONENT32_SGIX", 0x81A7 },
-   { "GL_FOG_OFFSET_SGIX", 0x8198 },
-   { "GL_FOG_OFFSET_VALUE_SGIX", 0x8199 },
-   { "GL_IGNORE_BORDER_HP", 0x8150 },
-   { "GL_CONSTANT_BORDER_HP", 0x8151 },
-   { "GL_REPLICATE_BORDER_HP", 0x8153 },
-   { "GL_CONVOLUTION_BORDER_COLOR_HP", 0x8154 },
-   { "GL_COLOR_TABLE_FORMAT_EXT", 0x80D8 },
-   { "GL_COLOR_TABLE_WIDTH_EXT", 0x80D9 },
-   { "GL_COLOR_TABLE_RED_SIZE_EXT", 0x80DA },
-   { "GL_COLOR_TABLE_GREEN_SIZE_EXT", 0x80DB },
-   { "GL_COLOR_TABLE_BLUE_SIZE_EXT", 0x80DC },
-   { "GL_COLOR_TABLE_ALPHA_SIZE_EXT", 0x80DD },
-   { "GL_COLOR_TABLE_LUMINANCE_SIZE_EXT", 0x80DE },
-   { "GL_COLOR_TABLE_INTENSITY_SIZE_EXT", 0x80DF },
-   { "GL_TEXTURE_INDEX_SIZE_EXT", 0x80ED },
-   { "GL_CLIP_VOLUME_CLIPPING_HINT_EXT", 0x80F0 },
-   { "GL_TEXTURE_LOD_BIAS_S_SGIX", 0x818E },
-   { "GL_TEXTURE_LOD_BIAS_T_SGIX", 0x818F },
-   { "GL_TEXTURE_LOD_BIAS_R_SGIX", 0x8190 },
-   { "GL_SHADOW_AMBIENT_SGIX", 0x80BF },
-   { "GL_CULL_VERTEX_EXT", 0x81AA },
-   { "GL_CULL_VERTEX_OBJECT_POSITION_EXT", 0x81AB },
-   { "GL_CULL_VERTEX_EYE_POSITION_EXT", 0x81AC },
-   { "GL_RASTER_POSITION_UNCLIPPED_IBM", 0x19262 },
-   { "GL_OCCLUSION_TEST_HP", 0x8165 },
-   { "GL_OCCLUSION_TEST_RESULT_HP", 0x8166 },
-   { "GL_SHARED_TEXTURE_PALETTE_EXT", 0x81FB },
-   { "GL_LIGHT_MODEL_COLOR_CONTROL_EXT", 0x81F8 },
-   { "GL_SINGLE_COLOR_EXT", 0x81F9 },
-   { "GL_SEPARATE_SPECULAR_COLOR_EXT", 0x81FA },
-   { "GL_COMBINE_EXT", 0x8570 },
-   { "GL_COMBINE_RGB_EXT", 0x8571 },
-   { "GL_COMBINE_ALPHA_EXT", 0x8572 },
-   { "GL_RGB_SCALE_EXT", 0x8573 },
-   { "GL_ADD_SIGNED_EXT", 0x8574 },
-   { "GL_INTERPOLATE_EXT", 0x8575 },
-   { "GL_CONSTANT_EXT", 0x8576 },
-   { "GL_PRIMARY_COLOR_EXT", 0x8577 },
-   { "GL_PREVIOUS_EXT", 0x8578 },
-   { "GL_SOURCE0_RGB_EXT", 0x8580 },
-   { "GL_SOURCE1_RGB_EXT", 0x8581 },
-   { "GL_SOURCE2_RGB_EXT", 0x8582 },
-   { "GL_SOURCE0_ALPHA_EXT", 0x8588 },
-   { "GL_SOURCE1_ALPHA_EXT", 0x8589 },
-   { "GL_SOURCE2_ALPHA_EXT", 0x858A },
-   { "GL_OPERAND0_RGB_EXT", 0x8590 },
-   { "GL_OPERAND1_RGB_EXT", 0x8591 },
-   { "GL_OPERAND2_RGB_EXT", 0x8592 },
-   { "GL_OPERAND0_ALPHA_EXT", 0x8598 },
-   { "GL_OPERAND1_ALPHA_EXT", 0x8599 },
-   { "GL_OPERAND2_ALPHA_EXT", 0x859A },
-   { "GL_INCR_WRAP_EXT", 0x8507 },
-   { "GL_DECR_WRAP_EXT", 0x8508 },
-   { "GL_NORMAL_MAP_NV", 0x8511 },
-   { "GL_REFLECTION_MAP_NV", 0x8512 },
-   { "GL_WRAP_BORDER_SUN", 0x81D4 },
-   { "GL_TEXTURE_LOD_BIAS_EXT", 0x8501 },
-   { "GL_TEXTURE_MAX_ANISOTROPY_EXT", 0x84FE },
-   { "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", 0x84FF },
-   { "GL_MAX_SHININESS_NV", 0x8504 },
-   { "GL_MAX_SPOT_EXPONENT_NV", 0x8505 },
-   { "GL_FOG_DISTANCE_MODE_NV", 0x855A },
-   { "GL_EYE_RADIAL_NV", 0x855B },
-   { "GL_EYE_PLANE_ABSOLUTE_NV", 0x855C },
-   { "GL_COMBINE4", 0x8503 },
-   { "GL_SOURCE3_RGB_NV", 0x8583 },
-   { "GL_SOURCE3_ALPHA_NV", 0x858B },
-   { "GL_OPERAND3_RGB_NV", 0x8593 },
-   { "GL_OPERAND3_ALPHA_NV", 0x859B },
-   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", 0x83F2 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", 0x83F3 },
-   { "GL_COMPRESSED_RGB_FXT1_3DFX", 0x86B0 },
-   { "GL_COMPRESSED_RGBA_FXT1_3DFX", 0x86B1 },
-   { "GL_MULTISAMPLE_3DFX", 0x86B2 },
-   { "GL_SAMPLE_BUFFERS_3DFX", 0x86B3 },
-   { "GL_SAMPLES_3DFX", 0x86B4 },
-   { "GL_MULTISAMPLE_BIT_3DFX", 0x20000000 },
-   { "GL_TEXTURE_COLOR_WRITEMASK_SGIS", 0x81EF },
-   { "GL_DOT3_RGB_EXT", 0x8740 },
-   { "GL_DOT3_RGBA_EXT", 0x8741 },
-   { "GL_MIRROR_CLAMP_ATI", 0x8742 },
-   { "GL_MIRROR_CLAMP_TO_EDGE_ATI", 0x8743 },
-   { "GL_MIRRORED_REPEAT_IBM", 0x8370 },
-   { "GL_DEPTH_STENCIL_NV", 0x84F9 },
-   { "GL_UNSIGNED_INT_24_8_NV", 0x84FA },
-   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", 0x83F2 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", 0x83F3 },
-   { "GL_TEXTURE_RECTANGLE_NV", 0x84F5 },
-   { "GL_TEXTURE_BINDING_RECTANGLE_NV", 0x84F6 },
-   { "GL_PROXY_TEXTURE_RECTANGLE_NV", 0x84F7 },
-   { "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV", 0x84F8 },
-   { "GL_TEXTURE_MAX_CLAMP_S_SGIX", 0x8369 },
-   { "GL_TEXTURE_MAX_CLAMP_T_SGIX", 0x836A },
-   { "GL_TEXTURE_MAX_CLAMP_R_SGIX", 0x836B },
-   { "GL_DEPTH_STENCIL_TO_RGBA_NV", 0x886E },
-   { "GL_DEPTH_STENCIL_TO_BGRA_NV", 0x886F },
-   { "GL_QUAD_MESH_SUN", 0x8614 },
-   { "GL_TRIANGLE_MESH_SUN", 0x8615 },
-   { "GL_SLICE_ACCUM_SUN", 0x85CC },
-   { "GL_MULTISAMPLE_FILTER_HINT_NV", 0x8534 },
-   { "GL_DEPTH_CLAMP_NV", 0x864F },
-   { "GL_POINT_SIZE_MIN_EXT", 0x8126 },
-   { "GL_POINT_SIZE_MAX_EXT", 0x8127 },
-   { "GL_POINT_FADE_THRESHOLD_SIZE_EXT", 0x8128 },
-   { "GL_POINT_DISTANCE_ATTENUATION_EXT", 0x8129 },
-   { "GL_POINT_SPRITE_NV", 0x8861 },
-   { "GL_COORD_REPLACE_NV", 0x8862 },
-   { "GL_POINT_SPRITE_R_MODE_NV", 0x8863 },
-   { "GL_YCBCR_422_APPLE", 0x85B9 },
-   { "GL_UNSIGNED_SHORT_8_8_APPLE", 0x85BA },
-   { "GL_UNSIGNED_SHORT_8_8_REV_APPLE", 0x85BB },
-   { "GL_RGB_S3TC", 0x83A0 },
-   { "GL_RGB4_S3TC", 0x83A1 },
-   { "GL_RGBA_S3TC", 0x83A2 },
-   { "GL_RGBA4_S3TC", 0x83A3 },
-   { "GL_RGBA_DXT5_S3TC", 0x83A4 },
-   { "GL_RGBA4_DXT5_S3TC", 0x83A5 },
-   { "GL_MODULATE_ADD_ATI", 0x8744 },
-   { "GL_MODULATE_SIGNED_ADD_ATI", 0x8745 },
-   { "GL_MODULATE_SUBTRACT_ATI", 0x8746 },
-   { "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV", 0x888F },
+   { "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING", 0x889A },
+   { "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB", 0x889A },
+   { "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING", 0x889B },
+   { "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB", 0x889B },
+   { "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING", 0x889C },
+   { "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB", 0x889C },
+   { "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB", 0x889D },
+   { "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING", 0x889D },
+   { "GL_FOG_COORD_ARRAY_BUFFER_BINDING", 0x889D },
+   { "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB", 0x889E },
+   { "GL_WEIGHT_ARRAY_BUFFER_BINDING", 0x889E },
+   { "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB", 0x889F },
+   { "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", 0x889F },
+   { "GL_PROGRAM_INSTRUCTIONS_ARB", 0x88A0 },
+   { "GL_MAX_PROGRAM_INSTRUCTIONS_ARB", 0x88A1 },
+   { "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB", 0x88A2 },
+   { "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB", 0x88A3 },
+   { "GL_PROGRAM_TEMPORARIES_ARB", 0x88A4 },
+   { "GL_MAX_PROGRAM_TEMPORARIES_ARB", 0x88A5 },
+   { "GL_PROGRAM_NATIVE_TEMPORARIES_ARB", 0x88A6 },
+   { "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB", 0x88A7 },
+   { "GL_PROGRAM_PARAMETERS_ARB", 0x88A8 },
+   { "GL_MAX_PROGRAM_PARAMETERS_ARB", 0x88A9 },
+   { "GL_PROGRAM_NATIVE_PARAMETERS_ARB", 0x88AA },
+   { "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB", 0x88AB },
+   { "GL_PROGRAM_ATTRIBS_ARB", 0x88AC },
+   { "GL_MAX_PROGRAM_ATTRIBS_ARB", 0x88AD },
+   { "GL_PROGRAM_NATIVE_ATTRIBS_ARB", 0x88AE },
+   { "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB", 0x88AF },
+   { "GL_PROGRAM_ADDRESS_REGISTERS_ARB", 0x88B0 },
+   { "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB", 0x88B1 },
+   { "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", 0x88B2 },
+   { "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", 0x88B3 },
+   { "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB", 0x88B4 },
+   { "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB", 0x88B5 },
+   { "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB", 0x88B6 },
+   { "GL_TRANSPOSE_CURRENT_MATRIX_ARB", 0x88B7 },
+   { "GL_READ_ONLY", 0x88B8 },
+   { "GL_READ_ONLY_ARB", 0x88B8 },
+   { "GL_WRITE_ONLY", 0x88B9 },
+   { "GL_WRITE_ONLY_ARB", 0x88B9 },
+   { "GL_READ_WRITE_ARB", 0x88BA },
+   { "GL_READ_WRITE", 0x88BA },
+   { "GL_BUFFER_ACCESS_ARB", 0x88BB },
+   { "GL_BUFFER_ACCESS", 0x88BB },
+   { "GL_BUFFER_MAPPED_ARB", 0x88BC },
+   { "GL_BUFFER_MAPPED", 0x88BC },
+   { "GL_BUFFER_MAP_POINTER_ARB", 0x88BD },
+   { "GL_BUFFER_MAP_POINTER", 0x88BD },
+   { "GL_MATRIX0_ARB", 0x88C0 },
+   { "GL_MATRIX1_ARB", 0x88C1 },
+   { "GL_MATRIX2_ARB", 0x88C2 },
+   { "GL_MATRIX3_ARB", 0x88C3 },
+   { "GL_MATRIX4_ARB", 0x88C4 },
+   { "GL_MATRIX5_ARB", 0x88C5 },
+   { "GL_MATRIX6_ARB", 0x88C6 },
+   { "GL_MATRIX7_ARB", 0x88C7 },
+   { "GL_MATRIX8_ARB", 0x88C8 },
+   { "GL_MATRIX9_ARB", 0x88C9 },
+   { "GL_MATRIX10_ARB", 0x88CA },
+   { "GL_MATRIX11_ARB", 0x88CB },
+   { "GL_MATRIX12_ARB", 0x88CC },
+   { "GL_MATRIX13_ARB", 0x88CD },
+   { "GL_MATRIX14_ARB", 0x88CE },
+   { "GL_MATRIX15_ARB", 0x88CF },
+   { "GL_MATRIX16_ARB", 0x88D0 },
+   { "GL_MATRIX17_ARB", 0x88D1 },
+   { "GL_MATRIX18_ARB", 0x88D2 },
+   { "GL_MATRIX19_ARB", 0x88D3 },
+   { "GL_MATRIX20_ARB", 0x88D4 },
+   { "GL_MATRIX21_ARB", 0x88D5 },
+   { "GL_MATRIX22_ARB", 0x88D6 },
+   { "GL_MATRIX23_ARB", 0x88D7 },
+   { "GL_MATRIX24_ARB", 0x88D8 },
+   { "GL_MATRIX25_ARB", 0x88D9 },
+   { "GL_MATRIX26_ARB", 0x88DA },
+   { "GL_MATRIX27_ARB", 0x88DB },
+   { "GL_MATRIX28_ARB", 0x88DC },
+   { "GL_MATRIX29_ARB", 0x88DD },
+   { "GL_MATRIX30_ARB", 0x88DE },
+   { "GL_MATRIX31_ARB", 0x88DF },
+   { "GL_STREAM_DRAW_ARB", 0x88E0 },
+   { "GL_STREAM_DRAW", 0x88E0 },
+   { "GL_STREAM_READ", 0x88E1 },
+   { "GL_STREAM_READ_ARB", 0x88E1 },
+   { "GL_STREAM_COPY", 0x88E2 },
+   { "GL_STREAM_COPY_ARB", 0x88E2 },
+   { "GL_STATIC_DRAW", 0x88E4 },
+   { "GL_STATIC_DRAW_ARB", 0x88E4 },
+   { "GL_STATIC_READ", 0x88E5 },
+   { "GL_STATIC_READ_ARB", 0x88E5 },
+   { "GL_STATIC_COPY_ARB", 0x88E6 },
+   { "GL_STATIC_COPY", 0x88E6 },
+   { "GL_DYNAMIC_DRAW", 0x88E8 },
+   { "GL_DYNAMIC_DRAW_ARB", 0x88E8 },
+   { "GL_DYNAMIC_READ", 0x88E9 },
+   { "GL_DYNAMIC_READ_ARB", 0x88E9 },
+   { "GL_DYNAMIC_COPY", 0x88EA },
+   { "GL_DYNAMIC_COPY_ARB", 0x88EA },
+   { "GL_PIXEL_PACK_BUFFER_EXT", 0x88EB },
+   { "GL_PIXEL_UNPACK_BUFFER_EXT", 0x88EC },
+   { "GL_PIXEL_PACK_BUFFER_BINDING_EXT", 0x88ED },
+   { "GL_PIXEL_UNPACK_BUFFER_BINDING_EXT", 0x88EF },
+   { "GL_MIRROR_CLAMP_TO_BORDER_EXT", 0x8912 },
+   { "GL_SAMPLES_PASSED", 0x8914 },
+   { "GL_SAMPLES_PASSED_ARB", 0x8914 },
+   { "GL_FRAGMENT_SHADER_ARB", 0x8B30 },
+   { "GL_VERTEX_SHADER_ARB", 0x8B31 },
+   { "GL_PROGRAM_OBJECT_ARB", 0x8B40 },
+   { "GL_SHADER_OBJECT_ARB", 0x8B48 },
+   { "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", 0x8B49 },
+   { "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB", 0x8B4A },
+   { "GL_MAX_VARYING_FLOATS_ARB", 0x8B4B },
+   { "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", 0x8B4C },
+   { "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", 0x8B4D },
+   { "GL_OBJECT_TYPE_ARB", 0x8B4E },
+   { "GL_OBJECT_SUBTYPE_ARB", 0x8B4F },
+   { "GL_FLOAT_VEC2_ARB", 0x8B50 },
+   { "GL_FLOAT_VEC3_ARB", 0x8B51 },
+   { "GL_FLOAT_VEC4_ARB", 0x8B52 },
+   { "GL_INT_VEC2_ARB", 0x8B53 },
+   { "GL_INT_VEC3_ARB", 0x8B54 },
+   { "GL_INT_VEC4_ARB", 0x8B55 },
+   { "GL_BOOL_ARB", 0x8B56 },
+   { "GL_BOOL_VEC2_ARB", 0x8B57 },
+   { "GL_BOOL_VEC3_ARB", 0x8B58 },
+   { "GL_BOOL_VEC4_ARB", 0x8B59 },
+   { "GL_FLOAT_MAT2_ARB", 0x8B5A },
+   { "GL_FLOAT_MAT3_ARB", 0x8B5B },
+   { "GL_FLOAT_MAT4_ARB", 0x8B5C },
+   { "GL_OBJECT_DELETE_STATUS_ARB", 0x8B80 },
+   { "GL_OBJECT_COMPILE_STATUS_ARB", 0x8B81 },
+   { "GL_OBJECT_LINK_STATUS_ARB", 0x8B82 },
+   { "GL_OBJECT_VALIDATE_STATUS_ARB", 0x8B83 },
+   { "GL_OBJECT_INFO_LOG_LENGTH_ARB", 0x8B84 },
+   { "GL_OBJECT_ATTACHED_OBJECTS_ARB", 0x8B85 },
+   { "GL_OBJECT_ACTIVE_UNIFORMS_ARB", 0x8B86 },
+   { "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB", 0x8B87 },
+   { "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB", 0x8B88 },
+   { "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB", 0x8B89 },
+   { "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB", 0x8B8A },
    { "GL_PALETTE4_RGB8_OES", 0x8B90 },
    { "GL_PALETTE4_RGBA8_OES", 0x8B91 },
    { "GL_PALETTE4_R5_G6_B5_OES", 0x8B92 },
@@ -1462,32 +1471,25 @@ static enum_elt all_enums[] =
    { "GL_PALETTE8_RGB5_A1_OES", 0x8B99 },
    { "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES", 0x8B9A },
    { "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES", 0x8B9B },
-   { "GL_MIRROR_CLAMP_EXT", 0x8742 },
-   { "GL_MIRROR_CLAMP_TO_EDGE_EXT", 0x8743 },
-   { "GL_MIRROR_CLAMP_TO_BORDER_EXT", 0x8912 },
-   { "GL_PACK_INVERT_MESA", 0x8758 },
-   { "GL_YCBCR_MESA", 0x8757 },
-   { "GL_UNSIGNED_SHORT_8_8_MESA", 0x85BA },
-   { "GL_UNSIGNED_SHORT_8_8_REV_MESA", 0x85BB },
-   { "GL_PIXEL_PACK_BUFFER_EXT", 0x88EB },
-   { "GL_PIXEL_UNPACK_BUFFER_EXT", 0x88EC },
-   { "GL_PIXEL_PACK_BUFFER_BINDING_EXT", 0x88ED },
-   { "GL_PIXEL_UNPACK_BUFFER_BINDING_EXT", 0x88EF },
-   { "GL_FRAMEBUFFER_EXT", 0x8D40 },
-   { "GL_RENDERBUFFER_EXT", 0x8D41 },
-   { "GL_STENCIL_INDEX_EXT", 0x8D45 },
-   { "GL_STENCIL_INDEX1_EXT", 0x8D46 },
-   { "GL_STENCIL_INDEX4_EXT", 0x8D47 },
-   { "GL_STENCIL_INDEX8_EXT", 0x8D48 },
-   { "GL_STENCIL_INDEX16_EXT", 0x8D49 },
-   { "GL_RENDERBUFFER_WIDTH_EXT", 0x8D42 },
-   { "GL_RENDERBUFFER_HEIGHT_EXT", 0x8D43 },
-   { "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT", 0x8D44 },
+   { "GL_POINT_SPRITE_COORD_ORIGIN", 0x8CA0 },
+   { "GL_FRAMEBUFFER_BINDING_EXT", 0x8CA6 },
+   { "GL_RENDERBUFFER_BINDING_EXT", 0x8CA7 },
    { "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT", 0x8CD0 },
    { "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT", 0x8CD1 },
    { "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT", 0x8CD2 },
    { "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT", 0x8CD3 },
    { "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT", 0x8CD4 },
+   { "GL_FRAMEBUFFER_COMPLETE_EXT", 0x8CD5 },
+   { "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT", 0x8CD6 },
+   { "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT", 0x8CD7 },
+   { "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT", 0x8CD8 },
+   { "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT", 0x8CD9 },
+   { "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT", 0x8CDA },
+   { "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT", 0x8CDB },
+   { "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT", 0x8CDC },
+   { "GL_FRAMEBUFFER_UNSUPPORTED_EXT", 0x8CDD },
+   { "GL_FRAMEBUFFER_STATUS_ERROR_EXT", 0x8CDE },
+   { "GL_MAX_COLOR_ATTACHMENTS_EXT", 0x8CDF },
    { "GL_COLOR_ATTACHMENT0_EXT", 0x8CE0 },
    { "GL_COLOR_ATTACHMENT1_EXT", 0x8CE1 },
    { "GL_COLOR_ATTACHMENT2_EXT", 0x8CE2 },
@@ -1506,27 +1508,25 @@ static enum_elt all_enums[] =
    { "GL_COLOR_ATTACHMENT15_EXT", 0x8CEF },
    { "GL_DEPTH_ATTACHMENT_EXT", 0x8D00 },
    { "GL_STENCIL_ATTACHMENT_EXT", 0x8D20 },
-   { "GL_FRAMEBUFFER_COMPLETE_EXT", 0x8CD5 },
-   { "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT", 0x8CD6 },
-   { "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT", 0x8CD7 },
-   { "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT", 0x8CD8 },
-   { "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT", 0x8CD9 },
-   { "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT", 0x8CDA },
-   { "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT", 0x8CDB },
-   { "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT", 0x8CDC },
-   { "GL_FRAMEBUFFER_UNSUPPORTED_EXT", 0x8CDD },
-   { "GL_FRAMEBUFFER_STATUS_ERROR_EXT", 0x8CDE },
-   { "GL_FRAMEBUFFER_BINDING_EXT", 0x8CA6 },
-   { "GL_RENDERBUFFER_BINDING_EXT", 0x8CA7 },
-   { "GL_MAX_COLOR_ATTACHMENTS_EXT", 0x8CDF },
-   { "GL_MAX_RENDERBUFFER_SIZE_EXT", 0x84E8 },
-   { "GL_INVALID_FRAMEBUFFER_OPERATION_EXT", 0x506 },
-   { "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", 0x83F0 },
-   { "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", 0x83F1 },
-   { "GL_POINT_SIZE_MIN_SGIS", 0x8126 },
-   { "GL_POINT_SIZE_MAX_SGIS", 0x8127 },
-   { "GL_POINT_FADE_THRESHOLD_SIZE_SGIS", 0x8128 },
-   { "GL_POINT_DISTANCE_ATTENUATION_SGIS", 0x8129 },
+   { "GL_FRAMEBUFFER_EXT", 0x8D40 },
+   { "GL_RENDERBUFFER_EXT", 0x8D41 },
+   { "GL_RENDERBUFFER_WIDTH_EXT", 0x8D42 },
+   { "GL_RENDERBUFFER_HEIGHT_EXT", 0x8D43 },
+   { "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT", 0x8D44 },
+   { "GL_STENCIL_INDEX_EXT", 0x8D45 },
+   { "GL_STENCIL_INDEX1_EXT", 0x8D46 },
+   { "GL_STENCIL_INDEX4_EXT", 0x8D47 },
+   { "GL_STENCIL_INDEX8_EXT", 0x8D48 },
+   { "GL_STENCIL_INDEX16_EXT", 0x8D49 },
+   { "GL_EVAL_BIT", 0x10000 },
+   { "GL_RASTER_POSITION_UNCLIPPED_IBM", 0x19262 },
+   { "GL_LIST_BIT", 0x20000 },
+   { "GL_TEXTURE_BIT", 0x40000 },
+   { "GL_SCISSOR_BIT", 0x80000 },
+   { "GL_ALL_ATTRIB_BITS", 0xFFFFF },
+   { "GL_MULTISAMPLE_BIT", 0x20000000 },
+   { "GL_MULTISAMPLE_BIT_ARB", 0x20000000 },
+   { "GL_MULTISAMPLE_BIT_3DFX", 0x20000000 },
 
 };
 
@@ -1534,84 +1534,1547 @@ static enum_elt all_enums[] =
 
 typedef int (*cfunc)(const void *, const void *);
 
-static enum_elt **index1;
-static int sorted;
-
-static int compar_name( const enum_elt *a, const enum_elt *b )
-{
-   return _mesa_strcmp(a->c, b->c);
-}
-
-
 /* note the extra level of indirection
  */
-static int compar_nr( const enum_elt **a, const enum_elt **b )
+static int compar_name( const enum_elt **a, const enum_elt **b )
 {
-   return (*a)->n - (*b)->n;
+   return _mesa_strcmp((*a)->c, (*b)->c);
 }
 
-
-static void sort_enums( void )
+static int compar_nr( const enum_elt *a, const enum_elt *b )
 {
-   GLuint i;
-   index1 = (enum_elt **)MALLOC( Elements(all_enums) * sizeof(enum_elt *) );
-   sorted = 1;
-
-   if (!index1)
-      return;  /* what else can we do? */
-
-   qsort( all_enums, Elements(all_enums), sizeof(*all_enums),
-         (cfunc) compar_name );
-
-   for (i = 0 ; i < Elements(all_enums) ; i++)
-      index1[i] = &all_enums[i];
-
-   qsort( index1, Elements(all_enums), sizeof(*index1), (cfunc) compar_nr );
+   return a->n - b->n;
 }
 
 
+static char token_tmp[20];
 
-int _mesa_lookup_enum_by_name( const char *symbol )
+const char *_mesa_lookup_enum_by_nr( int nr )
 {
-   enum_elt tmp;
-   enum_elt *e;
-
-   if (!sorted)
-      sort_enums();
+   enum_elt tmp, *e;
 
-   if (!symbol)
-      return 0;
+   tmp.n = nr;
 
-   tmp.c = symbol;
    e = (enum_elt *)bsearch( &tmp, all_enums, Elements(all_enums),
-                           sizeof(*all_enums), (cfunc) compar_name );
+                            sizeof(*all_enums), (cfunc) compar_nr );
 
-   return e ? e->n : -1;
+   if (e) {
+      return e->c;
+   }
+   else {
+      /* this isn't re-entrant safe, no big deal here */
+      _mesa_sprintf(token_tmp, "0x%x", nr);
+      return token_tmp;
+   }
 }
 
-
-static char token_tmp[20];
-
-const char *_mesa_lookup_enum_by_nr( int nr )
+int _mesa_lookup_enum_by_name( const char *symbol )
 {
    enum_elt tmp, *e, **f;
+   static const enum_elt * const index1[] = {
+      &all_enums[73], 
+      &all_enums[337], 
+      &all_enums[74], 
+      &all_enums[75], 
+      &all_enums[76], 
+      &all_enums[338], 
+      &all_enums[77], 
+      &all_enums[339], 
+      &all_enums[29], 
+      &all_enums[276], 
+      &all_enums[275], 
+      &all_enums[35], 
+      &all_enums[150], 
+      &all_enums[274], 
+      &all_enums[273], 
+      &all_enums[937], 
+      &all_enums[938], 
+      &all_enums[1130], 
+      &all_enums[33], 
+      &all_enums[1034], 
+      &all_enums[1036], 
+      &all_enums[1035], 
+      &all_enums[872], 
+      &all_enums[871], 
+      &all_enums[1487], 
+      &all_enums[0], 
+      &all_enums[374], 
+      &all_enums[539], 
+      &all_enums[538], 
+      &all_enums[540], 
+      &all_enums[541], 
+      &all_enums[534], 
+      &all_enums[535], 
+      &all_enums[536], 
+      &all_enums[537], 
+      &all_enums[250], 
+      &all_enums[270], 
+      &all_enums[249], 
+      &all_enums[171], 
+      &all_enums[172], 
+      &all_enums[173], 
+      &all_enums[42], 
+      &all_enums[318], 
+      &all_enums[359], 
+      &all_enums[342], 
+      &all_enums[345], 
+      &all_enums[343], 
+      &all_enums[1267], 
+      &all_enums[1266], 
+      &all_enums[1271], 
+      &all_enums[1270], 
+      &all_enums[169], 
+      &all_enums[278], 
+      &all_enums[62], 
+      &all_enums[63], 
+      &all_enums[64], 
+      &all_enums[65], 
+      &all_enums[182], 
+      &all_enums[58], 
+      &all_enums[55], 
+      &all_enums[56], 
+      &all_enums[727], 
+      &all_enums[728], 
+      &all_enums[379], 
+      &all_enums[82], 
+      &all_enums[177], 
+      &all_enums[462], 
+      &all_enums[175], 
+      &all_enums[707], 
+      &all_enums[705], 
+      &all_enums[176], 
+      &all_enums[708], 
+      &all_enums[706], 
+      &all_enums[373], 
+      &all_enums[248], 
+      &all_enums[269], 
+      &all_enums[247], 
+      &all_enums[1405], 
+      &all_enums[1406], 
+      &all_enums[1407], 
+      &all_enums[1408], 
+      &all_enums[1326], 
+      &all_enums[1325], 
+      &all_enums[1328], 
+      &all_enums[1327], 
+      &all_enums[1330], 
+      &all_enums[1329], 
+      &all_enums[1190], 
+      &all_enums[1189], 
+      &all_enums[1192], 
+      &all_enums[1191], 
+      &all_enums[330], 
+      &all_enums[432], 
+      &all_enums[434], 
+      &all_enums[430], 
+      &all_enums[431], 
+      &all_enums[90], 
+      &all_enums[422], 
+      &all_enums[755], 
+      &all_enums[753], 
+      &all_enums[754], 
+      &all_enums[757], 
+      &all_enums[756], 
+      &all_enums[341], 
+      &all_enums[940], 
+      &all_enums[939], 
+      &all_enums[1], 
+      &all_enums[170], 
+      &all_enums[8], 
+      &all_enums[14], 
+      &all_enums[442], 
+      &all_enums[443], 
+      &all_enums[444], 
+      &all_enums[445], 
+      &all_enums[446], 
+      &all_enums[447], 
+      &all_enums[732], 
+      &all_enums[91], 
+      &all_enums[365], 
+      &all_enums[633], 
+      &all_enums[1278], 
+      &all_enums[1279], 
+      &all_enums[647], 
+      &all_enums[659], 
+      &all_enums[644], 
+      &all_enums[646], 
+      &all_enums[645], 
+      &all_enums[1454], 
+      &all_enums[1464], 
+      &all_enums[1465], 
+      &all_enums[1466], 
+      &all_enums[1467], 
+      &all_enums[1468], 
+      &all_enums[1469], 
+      &all_enums[1455], 
+      &all_enums[1456], 
+      &all_enums[1457], 
+      &all_enums[1458], 
+      &all_enums[1459], 
+      &all_enums[1460], 
+      &all_enums[1461], 
+      &all_enums[1462], 
+      &all_enums[1463], 
+      &all_enums[449], 
+      &all_enums[189], 
+      &all_enums[368], 
+      &all_enums[360], 
+      &all_enums[181], 
+      &all_enums[137], 
+      &all_enums[135], 
+      &all_enums[136], 
+      &all_enums[680], 
+      &all_enums[679], 
+      &all_enums[682], 
+      &all_enums[681], 
+      &all_enums[864], 
+      &all_enums[863], 
+      &all_enums[722], 
+      &all_enums[721], 
+      &all_enums[710], 
+      &all_enums[720], 
+      &all_enums[719], 
+      &all_enums[712], 
+      &all_enums[711], 
+      &all_enums[718], 
+      &all_enums[717], 
+      &all_enums[726], 
+      &all_enums[725], 
+      &all_enums[724], 
+      &all_enums[723], 
+      &all_enums[716], 
+      &all_enums[715], 
+      &all_enums[709], 
+      &all_enums[713], 
+      &all_enums[714], 
+      &all_enums[190], 
+      &all_enums[1023], 
+      &all_enums[984], 
+      &all_enums[1028], 
+      &all_enums[1030], 
+      &all_enums[1029], 
+      &all_enums[1024], 
+      &all_enums[1022], 
+      &all_enums[1027], 
+      &all_enums[1025], 
+      &all_enums[1026], 
+      &all_enums[1241], 
+      &all_enums[1242], 
+      &all_enums[328], 
+      &all_enums[329], 
+      &all_enums[955], 
+      &all_enums[954], 
+      &all_enums[960], 
+      &all_enums[961], 
+      &all_enums[957], 
+      &all_enums[958], 
+      &all_enums[959], 
+      &all_enums[956], 
+      &all_enums[962], 
+      &all_enums[964], 
+      &all_enums[965], 
+      &all_enums[1144], 
+      &all_enums[838], 
+      &all_enums[839], 
+      &all_enums[840], 
+      &all_enums[842], 
+      &all_enums[841], 
+      &all_enums[843], 
+      &all_enums[844], 
+      &all_enums[963], 
+      &all_enums[1143], 
+      &all_enums[837], 
+      &all_enums[835], 
+      &all_enums[836], 
+      &all_enums[1128], 
+      &all_enums[1040], 
+      &all_enums[460], 
+      &all_enums[1042], 
+      &all_enums[325], 
+      &all_enums[763], 
+      &all_enums[458], 
+      &all_enums[1041], 
+      &all_enums[765], 
+      &all_enums[766], 
+      &all_enums[463], 
+      &all_enums[464], 
+      &all_enums[468], 
+      &all_enums[467], 
+      &all_enums[465], 
+      &all_enums[466], 
+      &all_enums[471], 
+      &all_enums[472], 
+      &all_enums[475], 
+      &all_enums[476], 
+      &all_enums[473], 
+      &all_enums[474], 
+      &all_enums[1246], 
+      &all_enums[1245], 
+      &all_enums[344], 
+      &all_enums[353], 
+      &all_enums[84], 
+      &all_enums[127], 
+      &all_enums[128], 
+      &all_enums[804], 
+      &all_enums[806], 
+      &all_enums[805], 
+      &all_enums[7], 
+      &all_enums[94], 
+      &all_enums[853], 
+      &all_enums[854], 
+      &all_enums[95], 
+      &all_enums[1114], 
+      &all_enums[1228], 
+      &all_enums[1113], 
+      &all_enums[96], 
+      &all_enums[1226], 
+      &all_enums[1251], 
+      &all_enums[1250], 
+      &all_enums[98], 
+      &all_enums[103], 
+      &all_enums[99], 
+      &all_enums[101], 
+      &all_enums[102], 
+      &all_enums[100], 
+      &all_enums[865], 
+      &all_enums[97], 
+      &all_enums[1108], 
+      &all_enums[1133], 
+      &all_enums[89], 
+      &all_enums[402], 
+      &all_enums[391], 
+      &all_enums[989], 
+      &all_enums[990], 
+      &all_enums[366], 
+      &all_enums[1470], 
+      &all_enums[252], 
+      &all_enums[271], 
+      &all_enums[28], 
+      &all_enums[1119], 
+      &all_enums[148], 
+      &all_enums[370], 
+      &all_enums[797], 
+      &all_enums[795], 
+      &all_enums[796], 
+      &all_enums[798], 
+      &all_enums[800], 
+      &all_enums[799], 
+      &all_enums[802], 
+      &all_enums[801], 
+      &all_enums[803], 
+      &all_enums[149], 
+      &all_enums[145], 
+      &all_enums[251], 
+      &all_enums[976], 
+      &all_enums[1259], 
+      &all_enums[1258], 
+      &all_enums[146], 
+      &all_enums[1235], 
+      &all_enums[1236], 
+      &all_enums[147], 
+      &all_enums[319], 
+      &all_enums[174], 
+      &all_enums[93], 
+      &all_enums[315], 
+      &all_enums[1140], 
+      &all_enums[1142], 
+      &all_enums[1141], 
+      &all_enums[1179], 
+      &all_enums[1139], 
+      &all_enums[1178], 
+      &all_enums[340], 
+      &all_enums[193], 
+      &all_enums[183], 
+      &all_enums[1207], 
+      &all_enums[1217], 
+      &all_enums[1218], 
+      &all_enums[1219], 
+      &all_enums[1220], 
+      &all_enums[1221], 
+      &all_enums[1222], 
+      &all_enums[1208], 
+      &all_enums[1209], 
+      &all_enums[1210], 
+      &all_enums[1211], 
+      &all_enums[1212], 
+      &all_enums[1213], 
+      &all_enums[1214], 
+      &all_enums[1215], 
+      &all_enums[1216], 
+      &all_enums[83], 
+      &all_enums[47], 
+      &all_enums[49], 
+      &all_enums[1379], 
+      &all_enums[1380], 
+      &all_enums[1375], 
+      &all_enums[1376], 
+      &all_enums[1377], 
+      &all_enums[1378], 
+      &all_enums[126], 
+      &all_enums[636], 
+      &all_enums[1284], 
+      &all_enums[1285], 
+      &all_enums[656], 
+      &all_enums[662], 
+      &all_enums[655], 
+      &all_enums[1269], 
+      &all_enums[1268], 
+      &all_enums[1273], 
+      &all_enums[1272], 
+      &all_enums[357], 
+      &all_enums[396], 
+      &all_enums[37], 
+      &all_enums[350], 
+      &all_enums[1482], 
+      &all_enums[87], 
+      &all_enums[88], 
+      &all_enums[395], 
+      &all_enums[406], 
+      &all_enums[411], 
+      &all_enums[1021], 
+      &all_enums[1020], 
+      &all_enums[6], 
+      &all_enums[316], 
+      &all_enums[384], 
+      &all_enums[303], 
+      &all_enums[304], 
+      &all_enums[305], 
+      &all_enums[382], 
+      &all_enums[386], 
+      &all_enums[336], 
+      &all_enums[1409], 
+      &all_enums[1410], 
+      &all_enums[1411], 
+      &all_enums[1399], 
+      &all_enums[1400], 
+      &all_enums[1401], 
+      &all_enums[138], 
+      &all_enums[27], 
+      &all_enums[144], 
+      &all_enums[850], 
+      &all_enums[851], 
+      &all_enums[862], 
+      &all_enums[1289], 
+      &all_enums[1288], 
+      &all_enums[859], 
+      &all_enums[858], 
+      &all_enums[855], 
+      &all_enums[849], 
+      &all_enums[861], 
+      &all_enums[1290], 
+      &all_enums[860], 
+      &all_enums[857], 
+      &all_enums[856], 
+      &all_enums[848], 
+      &all_enums[140], 
+      &all_enums[1019], 
+      &all_enums[142], 
+      &all_enums[200], 
+      &all_enums[139], 
+      &all_enums[143], 
+      &all_enums[789], 
+      &all_enums[790], 
+      &all_enums[141], 
+      &all_enums[852], 
+      &all_enums[1193], 
+      &all_enums[1388], 
+      &all_enums[1439], 
+      &all_enums[1438], 
+      &all_enums[1442], 
+      &all_enums[1441], 
+      &all_enums[1440], 
+      &all_enums[1436], 
+      &all_enums[1443], 
+      &all_enums[1472], 
+      &all_enums[1444], 
+      &all_enums[1447], 
+      &all_enums[1449], 
+      &all_enums[1446], 
+      &all_enums[1448], 
+      &all_enums[1445], 
+      &all_enums[1450], 
+      &all_enums[1452], 
+      &all_enums[1451], 
+      &all_enums[57], 
+      &all_enums[61], 
+      &all_enums[129], 
+      &all_enums[52], 
+      &all_enums[54], 
+      &all_enums[786], 
+      &all_enums[788], 
+      &all_enums[787], 
+      &all_enums[785], 
+      &all_enums[41], 
+      &all_enums[39], 
+      &all_enums[372], 
+      &all_enums[246], 
+      &all_enums[268], 
+      &all_enums[245], 
+      &all_enums[457], 
+      &all_enums[497], 
+      &all_enums[511], 
+      &all_enums[512], 
+      &all_enums[510], 
+      &all_enums[509], 
+      &all_enums[498], 
+      &all_enums[503], 
+      &all_enums[504], 
+      &all_enums[507], 
+      &all_enums[508], 
+      &all_enums[513], 
+      &all_enums[514], 
+      &all_enums[505], 
+      &all_enums[506], 
+      &all_enums[515], 
+      &all_enums[516], 
+      &all_enums[502], 
+      &all_enums[501], 
+      &all_enums[762], 
+      &all_enums[1434], 
+      &all_enums[1433], 
+      &all_enums[390], 
+      &all_enums[988], 
+      &all_enums[987], 
+      &all_enums[634], 
+      &all_enums[1280], 
+      &all_enums[1281], 
+      &all_enums[650], 
+      &all_enums[660], 
+      &all_enums[649], 
+      &all_enums[648], 
+      &all_enums[266], 
+      &all_enums[187], 
+      &all_enums[180], 
+      &all_enums[191], 
+      &all_enums[240], 
+      &all_enums[239], 
+      &all_enums[188], 
+      &all_enums[334], 
+      &all_enums[563], 
+      &all_enums[568], 
+      &all_enums[569], 
+      &all_enums[571], 
+      &all_enums[570], 
+      &all_enums[565], 
+      &all_enums[564], 
+      &all_enums[567], 
+      &all_enums[566], 
+      &all_enums[562], 
+      &all_enums[1037], 
+      &all_enums[1039], 
+      &all_enums[1038], 
+      &all_enums[1402], 
+      &all_enums[1403], 
+      &all_enums[1404], 
+      &all_enums[66], 
+      &all_enums[72], 
+      &all_enums[68], 
+      &all_enums[67], 
+      &all_enums[351], 
+      &all_enums[388], 
+      &all_enums[59], 
+      &all_enums[38], 
+      &all_enums[36], 
+      &all_enums[448], 
+      &all_enums[450], 
+      &all_enums[451], 
+      &all_enums[452], 
+      &all_enums[453], 
+      &all_enums[454], 
+      &all_enums[455], 
+      &all_enums[456], 
+      &all_enums[130], 
+      &all_enums[26], 
+      &all_enums[133], 
+      &all_enums[810], 
+      &all_enums[809], 
+      &all_enums[131], 
+      &all_enums[132], 
+      &all_enums[381], 
+      &all_enums[413], 
+      &all_enums[326], 
+      &all_enums[769], 
+      &all_enums[847], 
+      &all_enums[417], 
+      &all_enums[415], 
+      &all_enums[9], 
+      &all_enums[17], 
+      &all_enums[12], 
+      &all_enums[85], 
+      &all_enums[110], 
+      &all_enums[198], 
+      &all_enums[116], 
+      &all_enums[117], 
+      &all_enums[118], 
+      &all_enums[15], 
+      &all_enums[80], 
+      &all_enums[111], 
+      &all_enums[115], 
+      &all_enums[113], 
+      &all_enums[121], 
+      &all_enums[1484], 
+      &all_enums[122], 
+      &all_enums[119], 
+      &all_enums[30], 
+      &all_enums[179], 
+      &all_enums[178], 
+      &all_enums[377], 
+      &all_enums[546], 
+      &all_enums[559], 
+      &all_enums[558], 
+      &all_enums[556], 
+      &all_enums[557], 
+      &all_enums[547], 
+      &all_enums[548], 
+      &all_enums[561], 
+      &all_enums[560], 
+      &all_enums[549], 
+      &all_enums[542], 
+      &all_enums[550], 
+      &all_enums[551], 
+      &all_enums[543], 
+      &all_enums[552], 
+      &all_enums[553], 
+      &all_enums[544], 
+      &all_enums[554], 
+      &all_enums[555], 
+      &all_enums[545], 
+      &all_enums[378], 
+      &all_enums[279], 
+      &all_enums[297], 
+      &all_enums[298], 
+      &all_enums[280], 
+      &all_enums[281], 
+      &all_enums[282], 
+      &all_enums[283], 
+      &all_enums[284], 
+      &all_enums[285], 
+      &all_enums[286], 
+      &all_enums[287], 
+      &all_enums[288], 
+      &all_enums[299], 
+      &all_enums[300], 
+      &all_enums[289], 
+      &all_enums[290], 
+      &all_enums[291], 
+      &all_enums[292], 
+      &all_enums[293], 
+      &all_enums[294], 
+      &all_enums[295], 
+      &all_enums[296], 
+      &all_enums[237], 
+      &all_enums[238], 
+      &all_enums[1331], 
+      &all_enums[1341], 
+      &all_enums[1342], 
+      &all_enums[1343], 
+      &all_enums[1344], 
+      &all_enums[1345], 
+      &all_enums[1346], 
+      &all_enums[1347], 
+      &all_enums[1348], 
+      &all_enums[1349], 
+      &all_enums[1350], 
+      &all_enums[1332], 
+      &all_enums[1351], 
+      &all_enums[1352], 
+      &all_enums[1353], 
+      &all_enums[1354], 
+      &all_enums[1355], 
+      &all_enums[1356], 
+      &all_enums[1357], 
+      &all_enums[1358], 
+      &all_enums[1359], 
+      &all_enums[1360], 
+      &all_enums[1333], 
+      &all_enums[1361], 
+      &all_enums[1362], 
+      &all_enums[1334], 
+      &all_enums[1335], 
+      &all_enums[1336], 
+      &all_enums[1337], 
+      &all_enums[1338], 
+      &all_enums[1339], 
+      &all_enums[1340], 
+      &all_enums[1227], 
+      &all_enums[1232], 
+      &all_enums[1229], 
+      &all_enums[1231], 
+      &all_enums[1230], 
+      &all_enums[160], 
+      &all_enums[1223], 
+      &all_enums[630], 
+      &all_enums[258], 
+      &all_enums[264], 
+      &all_enums[776], 
+      &all_enums[777], 
+      &all_enums[255], 
+      &all_enums[1453], 
+      &all_enums[683], 
+      &all_enums[684], 
+      &all_enums[1396], 
+      &all_enums[479], 
+      &all_enums[480], 
+      &all_enums[477], 
+      &all_enums[478], 
+      &all_enums[1016], 
+      &all_enums[1017], 
+      &all_enums[1206], 
+      &all_enums[730], 
+      &all_enums[729], 
+      &all_enums[253], 
+      &all_enums[1392], 
+      &all_enums[254], 
+      &all_enums[120], 
+      &all_enums[1224], 
+      &all_enums[259], 
+      &all_enums[260], 
+      &all_enums[1225], 
+      &all_enums[257], 
+      &all_enums[1312], 
+      &all_enums[1200], 
+      &all_enums[1308], 
+      &all_enums[1316], 
+      &all_enums[1296], 
+      &all_enums[1315], 
+      &all_enums[1112], 
+      &all_enums[1111], 
+      &all_enums[1314], 
+      &all_enums[1203], 
+      &all_enums[1310], 
+      &all_enums[1298], 
+      &all_enums[1306], 
+      &all_enums[1302], 
+      &all_enums[1205], 
+      &all_enums[1204], 
+      &all_enums[1304], 
+      &all_enums[1300], 
+      &all_enums[1202], 
+      &all_enums[1201], 
+      &all_enums[261], 
+      &all_enums[975], 
+      &all_enums[974], 
+      &all_enums[953], 
+      &all_enums[985], 
+      &all_enums[986], 
+      &all_enums[1260], 
+      &all_enums[1261], 
+      &all_enums[978], 
+      &all_enums[980], 
+      &all_enums[256], 
+      &all_enums[262], 
+      &all_enums[942], 
+      &all_enums[941], 
+      &all_enums[1394], 
+      &all_enums[1256], 
+      &all_enums[1395], 
+      &all_enums[1393], 
+      &all_enums[1129], 
+      &all_enums[263], 
+      &all_enums[517], 
+      &all_enums[518], 
+      &all_enums[519], 
+      &all_enums[520], 
+      &all_enums[521], 
+      &all_enums[522], 
+      &all_enums[827], 
+      &all_enums[826], 
+      &all_enums[828], 
+      &all_enums[1180], 
+      &all_enums[1181], 
+      &all_enums[1385], 
+      &all_enums[1182], 
+      &all_enums[1183], 
+      &all_enums[362], 
+      &all_enums[361], 
+      &all_enums[1156], 
+      &all_enums[1157], 
+      &all_enums[1158], 
+      &all_enums[1159], 
+      &all_enums[1160], 
+      &all_enums[1161], 
+      &all_enums[1162], 
+      &all_enums[1163], 
+      &all_enums[1164], 
+      &all_enums[1165], 
+      &all_enums[991], 
+      &all_enums[1166], 
+      &all_enums[1167], 
+      &all_enums[1168], 
+      &all_enums[1169], 
+      &all_enums[1170], 
+      &all_enums[1171], 
+      &all_enums[1172], 
+      &all_enums[1173], 
+      &all_enums[1174], 
+      &all_enums[1175], 
+      &all_enums[1148], 
+      &all_enums[1176], 
+      &all_enums[1177], 
+      &all_enums[1149], 
+      &all_enums[1150], 
+      &all_enums[1151], 
+      &all_enums[1152], 
+      &all_enums[1153], 
+      &all_enums[1154], 
+      &all_enums[1155], 
+      &all_enums[166], 
+      &all_enums[163], 
+      &all_enums[401], 
+      &all_enums[1184], 
+      &all_enums[1185], 
+      &all_enums[1186], 
+      &all_enums[32], 
+      &all_enums[664], 
+      &all_enums[1145], 
+      &all_enums[663], 
+      &all_enums[1488], 
+      &all_enums[1490], 
+      &all_enums[1489], 
+      &all_enums[1018], 
+      &all_enums[433], 
+      &all_enums[277], 
+      &all_enums[355], 
+      &all_enums[412], 
+      &all_enums[846], 
+      &all_enums[845], 
+      &all_enums[416], 
+      &all_enums[414], 
+      &all_enums[34], 
+      &all_enums[317], 
+      &all_enums[5], 
+      &all_enums[346], 
+      &all_enums[349], 
+      &all_enums[161], 
+      &all_enums[632], 
+      &all_enums[1277], 
+      &all_enums[1276], 
+      &all_enums[643], 
+      &all_enums[658], 
+      &all_enums[642], 
+      &all_enums[641], 
+      &all_enums[992], 
+      &all_enums[994], 
+      &all_enums[993], 
+      &all_enums[40], 
+      &all_enums[3], 
+      &all_enums[1126], 
+      &all_enums[1125], 
+      &all_enums[1421], 
+      &all_enums[1422], 
+      &all_enums[1418], 
+      &all_enums[1419], 
+      &all_enums[1417], 
+      &all_enums[1413], 
+      &all_enums[1412], 
+      &all_enums[1416], 
+      &all_enums[407], 
+      &all_enums[1414], 
+      &all_enums[410], 
+      &all_enums[1420], 
+      &all_enums[1398], 
+      &all_enums[1397], 
+      &all_enums[1415], 
+      &all_enums[767], 
+      &all_enums[768], 
+      &all_enums[11], 
+      &all_enums[461], 
+      &all_enums[459], 
+      &all_enums[48], 
+      &all_enums[50], 
+      &all_enums[46], 
+      &all_enums[44], 
+      &all_enums[1086], 
+      &all_enums[1087], 
+      &all_enums[1085], 
+      &all_enums[1075], 
+      &all_enums[1077], 
+      &all_enums[1076], 
+      &all_enums[1088], 
+      &all_enums[1090], 
+      &all_enums[1089], 
+      &all_enums[1078], 
+      &all_enums[1080], 
+      &all_enums[1079], 
+      &all_enums[1091], 
+      &all_enums[1092], 
+      &all_enums[1093], 
+      &all_enums[1081], 
+      &all_enums[1083], 
+      &all_enums[1082], 
+      &all_enums[1094], 
+      &all_enums[1084], 
+      &all_enums[348], 
+      &all_enums[92], 
+      &all_enums[354], 
+      &all_enums[352], 
+      &all_enums[71], 
+      &all_enums[236], 
+      &all_enums[623], 
+      &all_enums[1188], 
+      &all_enums[232], 
+      &all_enums[233], 
+      &all_enums[622], 
+      &all_enums[235], 
+      &all_enums[234], 
+      &all_enums[231], 
+      &all_enums[1425], 
+      &all_enums[1427], 
+      &all_enums[1423], 
+      &all_enums[1426], 
+      &all_enums[1424], 
+      &all_enums[1430], 
+      &all_enums[1432], 
+      &all_enums[1428], 
+      &all_enums[1431], 
+      &all_enums[1429], 
+      &all_enums[78], 
+      &all_enums[196], 
+      &all_enums[214], 
+      &all_enums[224], 
+      &all_enums[213], 
+      &all_enums[223], 
+      &all_enums[212], 
+      &all_enums[222], 
+      &all_enums[210], 
+      &all_enums[220], 
+      &all_enums[209], 
+      &all_enums[219], 
+      &all_enums[208], 
+      &all_enums[218], 
+      &all_enums[205], 
+      &all_enums[215], 
+      &all_enums[207], 
+      &all_enums[217], 
+      &all_enums[211], 
+      &all_enums[221], 
+      &all_enums[206], 
+      &all_enums[216], 
+      &all_enums[25], 
+      &all_enums[1383], 
+      &all_enums[1381], 
+      &all_enums[1384], 
+      &all_enums[1382], 
+      &all_enums[380], 
+      &all_enums[4], 
+      &all_enums[13], 
+      &all_enums[748], 
+      &all_enums[751], 
+      &all_enums[749], 
+      &all_enums[750], 
+      &all_enums[752], 
+      &all_enums[743], 
+      &all_enums[746], 
+      &all_enums[745], 
+      &all_enums[744], 
+      &all_enums[747], 
+      &all_enums[105], 
+      &all_enums[108], 
+      &all_enums[740], 
+      &all_enums[742], 
+      &all_enums[739], 
+      &all_enums[738], 
+      &all_enums[741], 
+      &all_enums[733], 
+      &all_enums[736], 
+      &all_enums[734], 
+      &all_enums[737], 
+      &all_enums[735], 
+      &all_enums[106], 
+      &all_enums[104], 
+      &all_enums[197], 
+      &all_enums[1244], 
+      &all_enums[1435], 
+      &all_enums[1243], 
+      &all_enums[1247], 
+      &all_enums[79], 
+      &all_enums[23], 
+      &all_enums[21], 
+      &all_enums[123], 
+      &all_enums[531], 
+      &all_enums[530], 
+      &all_enums[529], 
+      &all_enums[426], 
+      &all_enums[425], 
+      &all_enums[424], 
+      &all_enums[124], 
+      &all_enums[199], 
+      &all_enums[125], 
+      &all_enums[24], 
+      &all_enums[81], 
+      &all_enums[321], 
+      &all_enums[699], 
+      &all_enums[700], 
+      &all_enums[691], 
+      &all_enums[692], 
+      &all_enums[697], 
+      &all_enums[698], 
+      &all_enums[690], 
+      &all_enums[689], 
+      &all_enums[696], 
+      &all_enums[695], 
+      &all_enums[688], 
+      &all_enums[687], 
+      &all_enums[693], 
+      &all_enums[694], 
+      &all_enums[686], 
+      &all_enums[685], 
+      &all_enums[496], 
+      &all_enums[495], 
+      &all_enums[487], 
+      &all_enums[488], 
+      &all_enums[493], 
+      &all_enums[494], 
+      &all_enums[485], 
+      &all_enums[486], 
+      &all_enums[491], 
+      &all_enums[492], 
+      &all_enums[483], 
+      &all_enums[484], 
+      &all_enums[489], 
+      &all_enums[490], 
+      &all_enums[481], 
+      &all_enums[482], 
+      &all_enums[780], 
+      &all_enums[778], 
+      &all_enums[781], 
+      &all_enums[779], 
+      &all_enums[1048], 
+      &all_enums[1046], 
+      &all_enums[1047], 
+      &all_enums[1045], 
+      &all_enums[1043], 
+      &all_enums[1044], 
+      &all_enums[1311], 
+      &all_enums[1194], 
+      &all_enums[1307], 
+      &all_enums[1120], 
+      &all_enums[1118], 
+      &all_enums[1262], 
+      &all_enums[1264], 
+      &all_enums[1263], 
+      &all_enums[1295], 
+      &all_enums[1109], 
+      &all_enums[1313], 
+      &all_enums[1197], 
+      &all_enums[1309], 
+      &all_enums[1297], 
+      &all_enums[1305], 
+      &all_enums[1301], 
+      &all_enums[1199], 
+      &all_enums[1198], 
+      &all_enums[1390], 
+      &all_enums[1303], 
+      &all_enums[1110], 
+      &all_enums[1299], 
+      &all_enums[1196], 
+      &all_enums[1195], 
+      &all_enums[1317], 
+      &all_enums[363], 
+      &all_enums[167], 
+      &all_enums[164], 
+      &all_enums[499], 
+      &all_enums[500], 
+      &all_enums[612], 
+      &all_enums[613], 
+      &all_enums[614], 
+      &all_enums[615], 
+      &all_enums[627], 
+      &all_enums[702], 
+      &all_enums[1014], 
+      &all_enums[1015], 
+      &all_enums[972], 
+      &all_enums[973], 
+      &all_enums[400], 
+      &all_enums[327], 
+      &all_enums[20], 
+      &all_enums[1101], 
+      &all_enums[22], 
+      &all_enums[1248], 
+      &all_enums[1249], 
+      &all_enums[1252], 
+      &all_enums[1253], 
+      &all_enums[1255], 
+      &all_enums[1254], 
+      &all_enums[399], 
+      &all_enums[427], 
+      &all_enums[1483], 
+      &all_enums[184], 
+      &all_enums[1319], 
+      &all_enums[1320], 
+      &all_enums[1324], 
+      &all_enums[1323], 
+      &all_enums[371], 
+      &all_enums[469], 
+      &all_enums[470], 
+      &all_enums[242], 
+      &all_enums[267], 
+      &all_enums[241], 
+      &all_enums[997], 
+      &all_enums[996], 
+      &all_enums[995], 
+      &all_enums[383], 
+      &all_enums[1437], 
+      &all_enums[1473], 
+      &all_enums[1475], 
+      &all_enums[1476], 
+      &all_enums[1474], 
+      &all_enums[393], 
+      &all_enums[195], 
+      &all_enums[423], 
+      &all_enums[389], 
+      &all_enums[611], 
+      &all_enums[764], 
+      &all_enums[532], 
+      &all_enums[533], 
+      &all_enums[31], 
+      &all_enums[375], 
+      &all_enums[579], 
+      &all_enums[594], 
+      &all_enums[593], 
+      &all_enums[580], 
+      &all_enums[581], 
+      &all_enums[582], 
+      &all_enums[583], 
+      &all_enums[584], 
+      &all_enums[572], 
+      &all_enums[573], 
+      &all_enums[574], 
+      &all_enums[830], 
+      &all_enums[575], 
+      &all_enums[589], 
+      &all_enums[590], 
+      &all_enums[576], 
+      &all_enums[577], 
+      &all_enums[578], 
+      &all_enums[376], 
+      &all_enums[595], 
+      &all_enums[596], 
+      &all_enums[597], 
+      &all_enums[598], 
+      &all_enums[585], 
+      &all_enums[586], 
+      &all_enums[587], 
+      &all_enums[834], 
+      &all_enums[588], 
+      &all_enums[832], 
+      &all_enums[592], 
+      &all_enums[591], 
+      &all_enums[833], 
+      &all_enums[192], 
+      &all_enums[831], 
+      &all_enums[829], 
+      &all_enums[1031], 
+      &all_enums[1032], 
+      &all_enums[1033], 
+      &all_enums[60], 
+      &all_enums[397], 
+      &all_enums[673], 
+      &all_enums[1147], 
+      &all_enums[674], 
+      &all_enums[1386], 
+      &all_enums[1387], 
+      &all_enums[665], 
+      &all_enums[666], 
+      &all_enums[667], 
+      &all_enums[668], 
+      &all_enums[671], 
+      &all_enums[1146], 
+      &all_enums[672], 
+      &all_enums[669], 
+      &all_enums[670], 
+      &all_enums[677], 
+      &all_enums[678], 
+      &all_enums[675], 
+      &all_enums[676], 
+      &all_enums[1486], 
+      &all_enums[185], 
+      &all_enums[186], 
+      &all_enums[870], 
+      &all_enums[1286], 
+      &all_enums[1287], 
+      &all_enums[869], 
+      &all_enums[866], 
+      &all_enums[868], 
+      &all_enums[867], 
+      &all_enums[385], 
+      &all_enums[306], 
+      &all_enums[307], 
+      &all_enums[814], 
+      &all_enums[813], 
+      &all_enums[356], 
+      &all_enums[1391], 
+      &all_enums[134], 
+      &all_enums[703], 
+      &all_enums[815], 
+      &all_enums[358], 
+      &all_enums[332], 
+      &all_enums[811], 
+      &all_enums[812], 
+      &all_enums[1100], 
+      &all_enums[387], 
+      &all_enums[114], 
+      &all_enums[112], 
+      &all_enums[109], 
+      &all_enums[107], 
+      &all_enums[1065], 
+      &all_enums[1062], 
+      &all_enums[1063], 
+      &all_enums[1050], 
+      &all_enums[1051], 
+      &all_enums[1049], 
+      &all_enums[1067], 
+      &all_enums[1066], 
+      &all_enums[1069], 
+      &all_enums[1054], 
+      &all_enums[1053], 
+      &all_enums[1056], 
+      &all_enums[1071], 
+      &all_enums[1070], 
+      &all_enums[1073], 
+      &all_enums[1060], 
+      &all_enums[1057], 
+      &all_enums[1058], 
+      &all_enums[1074], 
+      &all_enums[1061], 
+      &all_enums[320], 
+      &all_enums[408], 
+      &all_enums[324], 
+      &all_enums[322], 
+      &all_enums[323], 
+      &all_enums[1064], 
+      &all_enums[1052], 
+      &all_enums[1068], 
+      &all_enums[1055], 
+      &all_enums[1072], 
+      &all_enums[1059], 
+      &all_enums[45], 
+      &all_enums[51], 
+      &all_enums[43], 
+      &all_enums[69], 
+      &all_enums[70], 
+      &all_enums[1374], 
+      &all_enums[1373], 
+      &all_enums[1369], 
+      &all_enums[1370], 
+      &all_enums[1371], 
+      &all_enums[1372], 
+      &all_enums[367], 
+      &all_enums[1471], 
+      &all_enums[272], 
+      &all_enums[53], 
+      &all_enums[152], 
+      &all_enums[155], 
+      &all_enums[153], 
+      &all_enums[369], 
+      &all_enums[1481], 
+      &all_enums[1478], 
+      &all_enums[1479], 
+      &all_enums[1480], 
+      &all_enums[1477], 
+      &all_enums[156], 
+      &all_enums[157], 
+      &all_enums[158], 
+      &all_enums[151], 
+      &all_enums[154], 
+      &all_enums[159], 
+      &all_enums[194], 
+      &all_enums[1367], 
+      &all_enums[1368], 
+      &all_enums[1364], 
+      &all_enums[1363], 
+      &all_enums[1365], 
+      &all_enums[1366], 
+      &all_enums[265], 
+      &all_enums[951], 
+      &all_enums[952], 
+      &all_enums[398], 
+      &all_enums[438], 
+      &all_enums[440], 
+      &all_enums[437], 
+      &all_enums[439], 
+      &all_enums[435], 
+      &all_enums[441], 
+      &all_enums[436], 
+      &all_enums[523], 
+      &all_enums[364], 
+      &all_enums[874], 
+      &all_enums[873], 
+      &all_enums[876], 
+      &all_enums[893], 
+      &all_enums[894], 
+      &all_enums[895], 
+      &all_enums[896], 
+      &all_enums[897], 
+      &all_enums[898], 
+      &all_enums[900], 
+      &all_enums[899], 
+      &all_enums[901], 
+      &all_enums[902], 
+      &all_enums[904], 
+      &all_enums[903], 
+      &all_enums[905], 
+      &all_enums[906], 
+      &all_enums[908], 
+      &all_enums[907], 
+      &all_enums[909], 
+      &all_enums[910], 
+      &all_enums[912], 
+      &all_enums[911], 
+      &all_enums[875], 
+      &all_enums[877], 
+      &all_enums[914], 
+      &all_enums[913], 
+      &all_enums[916], 
+      &all_enums[915], 
+      &all_enums[918], 
+      &all_enums[917], 
+      &all_enums[919], 
+      &all_enums[920], 
+      &all_enums[921], 
+      &all_enums[922], 
+      &all_enums[924], 
+      &all_enums[923], 
+      &all_enums[926], 
+      &all_enums[925], 
+      &all_enums[928], 
+      &all_enums[927], 
+      &all_enums[930], 
+      &all_enums[929], 
+      &all_enums[932], 
+      &all_enums[931], 
+      &all_enums[878], 
+      &all_enums[879], 
+      &all_enums[933], 
+      &all_enums[934], 
+      &all_enums[935], 
+      &all_enums[936], 
+      &all_enums[880], 
+      &all_enums[881], 
+      &all_enums[882], 
+      &all_enums[883], 
+      &all_enums[884], 
+      &all_enums[885], 
+      &all_enums[886], 
+      &all_enums[887], 
+      &all_enums[888], 
+      &all_enums[889], 
+      &all_enums[890], 
+      &all_enums[892], 
+      &all_enums[891], 
+      &all_enums[301], 
+      &all_enums[302], 
+      &all_enums[626], 
+      &all_enums[606], 
+      &all_enums[605], 
+      &all_enums[760], 
+      &all_enums[619], 
+      &all_enums[620], 
+      &all_enums[621], 
+      &all_enums[1001], 
+      &all_enums[1000], 
+      &all_enums[971], 
+      &all_enums[970], 
+      &all_enums[1485], 
+      &all_enums[604], 
+      &all_enums[603], 
+      &all_enums[314], 
+      &all_enums[313], 
+      &all_enums[770], 
+      &all_enums[775], 
+      &all_enums[771], 
+      &all_enums[774], 
+      &all_enums[772], 
+      &all_enums[773], 
+      &all_enums[701], 
+      &all_enums[808], 
+      &all_enums[704], 
+      &all_enums[1239], 
+      &all_enums[1240], 
+      &all_enums[1237], 
+      &all_enums[1238], 
+      &all_enums[792], 
+      &all_enums[791], 
+      &all_enums[311], 
+      &all_enums[1124], 
+      &all_enums[1123], 
+      &all_enums[1127], 
+      &all_enums[1121], 
+      &all_enums[1122], 
+      &all_enums[966], 
+      &all_enums[967], 
+      &all_enums[635], 
+      &all_enums[1282], 
+      &all_enums[1283], 
+      &all_enums[654], 
+      &all_enums[661], 
+      &all_enums[651], 
+      &all_enums[653], 
+      &all_enums[652], 
+      &all_enums[999], 
+      &all_enums[998], 
+      &all_enums[1005], 
+      &all_enums[1004], 
+      &all_enums[1008], 
+      &all_enums[1009], 
+      &all_enums[1012], 
+      &all_enums[1013], 
+      &all_enums[1003], 
+      &all_enums[1002], 
+      &all_enums[1007], 
+      &all_enums[1006], 
+      &all_enums[1010], 
+      &all_enums[1011], 
+      &all_enums[628], 
+      &all_enums[1234], 
+      &all_enums[1233], 
+      &all_enums[405], 
+      &all_enums[404], 
+      &all_enums[403], 
+      &all_enums[981], 
+      &all_enums[409], 
+      &all_enums[204], 
+      &all_enums[203], 
+      &all_enums[201], 
+      &all_enums[202], 
+      &all_enums[794], 
+      &all_enums[602], 
+      &all_enums[601], 
+      &all_enums[310], 
+      &all_enums[731], 
+      &all_enums[609], 
+      &all_enums[610], 
+      &all_enums[312], 
+      &all_enums[793], 
+      &all_enums[982], 
+      &all_enums[983], 
+      &all_enums[784], 
+      &all_enums[782], 
+      &all_enums[783], 
+      &all_enums[607], 
+      &all_enums[608], 
+      &all_enums[418], 
+      &all_enums[168], 
+      &all_enums[979], 
+      &all_enums[825], 
+      &all_enums[823], 
+      &all_enums[824], 
+      &all_enums[761], 
+      &all_enums[759], 
+      &all_enums[419], 
+      &all_enums[758], 
+      &all_enums[617], 
+      &all_enums[969], 
+      &all_enums[968], 
+      &all_enums[599], 
+      &all_enums[600], 
+      &all_enums[618], 
+      &all_enums[165], 
+      &all_enums[616], 
+      &all_enums[1265], 
+      &all_enums[308], 
+      &all_enums[629], 
+      &all_enums[420], 
+      &all_enums[421], 
+      &all_enums[309], 
+      &all_enums[949], 
+      &all_enums[950], 
+      &all_enums[1318], 
+      &all_enums[944], 
+      &all_enums[943], 
+      &all_enums[946], 
+      &all_enums[945], 
+      &all_enums[947], 
+      &all_enums[948], 
+      &all_enums[16], 
+      &all_enums[19], 
+      &all_enums[1102], 
+      &all_enums[18], 
+      &all_enums[10], 
+      &all_enums[230], 
+      &all_enums[625], 
+      &all_enums[226], 
+      &all_enums[227], 
+      &all_enums[624], 
+      &all_enums[229], 
+      &all_enums[228], 
+      &all_enums[225], 
+      &all_enums[331], 
+      &all_enums[816], 
+      &all_enums[524], 
+      &all_enums[335], 
+      &all_enums[528], 
+      &all_enums[977], 
+      &all_enums[822], 
+      &all_enums[527], 
+      &all_enums[821], 
+      &all_enums[333], 
+      &all_enums[820], 
+      &all_enums[525], 
+      &all_enums[819], 
+      &all_enums[526], 
+      &all_enums[817], 
+      &all_enums[818], 
+      &all_enums[1096], 
+      &all_enums[1097], 
+      &all_enums[1099], 
+      &all_enums[1098], 
+      &all_enums[428], 
+      &all_enums[429], 
+      &all_enums[392], 
+      &all_enums[394], 
+      &all_enums[631], 
+      &all_enums[1274], 
+      &all_enums[1275], 
+      &all_enums[640], 
+      &all_enums[657], 
+      &all_enums[637], 
+      &all_enums[639], 
+      &all_enums[638], 
+      &all_enums[1294], 
+      &all_enums[1293], 
+      &all_enums[1104], 
+      &all_enums[1257], 
+      &all_enums[1117], 
+      &all_enums[1105], 
+      &all_enums[1106], 
+      &all_enums[1107], 
+      &all_enums[1132], 
+      &all_enums[1103], 
+      &all_enums[1115], 
+      &all_enums[1116], 
+      &all_enums[1389], 
+      &all_enums[162], 
+      &all_enums[86], 
+      &all_enums[1138], 
+      &all_enums[1292], 
+      &all_enums[1291], 
+      &all_enums[1137], 
+      &all_enums[1136], 
+      &all_enums[1135], 
+      &all_enums[1134], 
+      &all_enums[1131], 
+      &all_enums[807], 
+      &all_enums[1321], 
+      &all_enums[1322], 
+      &all_enums[347], 
+      &all_enums[1095], 
+      &all_enums[1187], 
+      &all_enums[2], 
+      &all_enums[243], 
+      &all_enums[244], 
+   };
 
-   if (!sorted)
-      sort_enums();
+   if (!symbol)
+      return 0;
 
-   tmp.n = nr;
+   tmp.c = symbol;
    e = &tmp;
 
    f = (enum_elt **)bsearch( &e, index1, Elements(all_enums),
-                            sizeof(*index1), (cfunc) compar_nr );
+                           sizeof(*index1), (cfunc) compar_name );
 
-   if (f) {
-      return (*f)->c;
-   }
-   else {
-      /* this isn't re-entrant safe, no big deal here */
-      _mesa_sprintf(token_tmp, "0x%x", nr);
-      return token_tmp;
-   }
+   return f ? (*f)->n : -1;
 }
 
+