]> git.cworth.org Git - apitrace/blob - glapi.py
Match GL specs.
[apitrace] / glapi.py
1 ##########################################################################
2 #
3 # Copyright 2008-2009 VMware, Inc.
4 # All Rights Reserved.
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 # THE SOFTWARE.
23 #
24 ##########################################################################/
25
26
27 from base import *
28
29
30 GLboolean = Alias("GLboolean", Bool)
31 GLvoid = Alias("GLvoid", Void)
32 GLbyte = Alias("GLbyte", SChar)
33 GLshort = Alias("GLshort", Short)
34 GLint = Alias("GLint", Int)
35 GLubyte = Alias("GLubyte", UChar)
36 GLushort = Alias("GLushort", UShort)
37 GLuint = Alias("GLuint", UInt)
38 GLsizei = Alias("GLsizei", Int)
39 GLfloat = Alias("GLfloat", Float)
40 GLclampf = Alias("GLclampf", Float)
41 GLdouble = Alias("GLdouble", Double)
42 GLclampd = Alias("GLclampd", Double)
43 GLbitfield = Alias("GLbitfield", UInt)
44
45 GLchar = Alias("GLchar", SChar)
46 GLcharARB = Alias("GLcharARB", SChar)
47 GLintptr = Alias("GLintptr", Int)
48 GLsizeiptr = Alias("GLsizeiptr", Int)
49 GLintptrARB = Alias("GLintptrARB", Int)
50 GLsizeiptrARB = Alias("GLsizeiptrARB", Int)
51 GLhandleARB = Alias("GLhandleARB", UInt)
52 GLhalfARB = Alias("GLhalfARB", UShort)
53 GLhalfNV = Alias("GLhalfNV", UShort)
54 GLint64EXT = Alias("GLint64EXT", LongLong)
55 GLuint64EXT = Alias("GLuint64EXT", ULongLong)
56
57 GLstring = String("GLchar *")
58 GLstringARB = String("GLcharARB *")
59
60 GLenum = Enum("GLenum", [
61     #"GL_NO_ERROR",                       # 0x0
62     #"GL_NONE",                           # 0x0
63     "GL_ZERO",                           # 0x0
64     "GL_ONE",                            # 0x1
65
66     "GL_ACCUM",                          # 0x0100
67     "GL_LOAD",                           # 0x0101
68     "GL_RETURN",                         # 0x0102
69     "GL_MULT",                           # 0x0103
70     "GL_ADD",                            # 0x0104
71     "GL_NEVER",                          # 0x0200
72     "GL_LESS",                           # 0x0201
73     "GL_EQUAL",                          # 0x0202
74     "GL_LEQUAL",                         # 0x0203
75     "GL_GREATER",                        # 0x0204
76     "GL_NOTEQUAL",                       # 0x0205
77     "GL_GEQUAL",                         # 0x0206
78     "GL_ALWAYS",                         # 0x0207
79     "GL_SRC_COLOR",                      # 0x0300
80     "GL_ONE_MINUS_SRC_COLOR",            # 0x0301
81     "GL_SRC_ALPHA",                      # 0x0302
82     "GL_ONE_MINUS_SRC_ALPHA",            # 0x0303
83     "GL_DST_ALPHA",                      # 0x0304
84     "GL_ONE_MINUS_DST_ALPHA",            # 0x0305
85     "GL_DST_COLOR",                      # 0x0306
86     "GL_ONE_MINUS_DST_COLOR",            # 0x0307
87     "GL_SRC_ALPHA_SATURATE",             # 0x0308
88     "GL_FRONT_LEFT",                     # 0x0400
89     "GL_FRONT_RIGHT",                    # 0x0401
90     "GL_BACK_LEFT",                      # 0x0402
91     "GL_BACK_RIGHT",                     # 0x0403
92     "GL_FRONT",                          # 0x0404
93     "GL_BACK",                           # 0x0405
94     "GL_LEFT",                           # 0x0406
95     "GL_RIGHT",                          # 0x0407
96     "GL_FRONT_AND_BACK",                 # 0x0408
97     "GL_AUX0",                           # 0x0409
98     "GL_AUX1",                           # 0x040A
99     "GL_AUX2",                           # 0x040B
100     "GL_AUX3",                           # 0x040C
101     "GL_INVALID_ENUM",                   # 0x0500
102     "GL_INVALID_VALUE",                  # 0x0501
103     "GL_INVALID_OPERATION",              # 0x0502
104     "GL_STACK_OVERFLOW",                 # 0x0503
105     "GL_STACK_UNDERFLOW",                # 0x0504
106     "GL_OUT_OF_MEMORY",                  # 0x0505
107     "GL_INVALID_FRAMEBUFFER_OPERATION",  # 0x0506
108     "GL_2D",                             # 0x0600
109     "GL_3D",                             # 0x0601
110     "GL_3D_COLOR",                       # 0x0602
111     "GL_3D_COLOR_TEXTURE",               # 0x0603
112     "GL_4D_COLOR_TEXTURE",               # 0x0604
113     "GL_PASS_THROUGH_TOKEN",             # 0x0700
114     "GL_POINT_TOKEN",                    # 0x0701
115     "GL_LINE_TOKEN",                     # 0x0702
116     "GL_POLYGON_TOKEN",                  # 0x0703
117     "GL_BITMAP_TOKEN",                   # 0x0704
118     "GL_DRAW_PIXEL_TOKEN",               # 0x0705
119     "GL_COPY_PIXEL_TOKEN",               # 0x0706
120     "GL_LINE_RESET_TOKEN",               # 0x0707
121     "GL_EXP",                            # 0x0800
122     "GL_EXP2",                           # 0x0801
123     "GL_CW",                             # 0x0900
124     "GL_CCW",                            # 0x0901
125     "GL_COEFF",                          # 0x0A00
126     "GL_ORDER",                          # 0x0A01
127     "GL_DOMAIN",                         # 0x0A02
128     "GL_CURRENT_COLOR",                  # 0x0B00
129     "GL_CURRENT_INDEX",                  # 0x0B01
130     "GL_CURRENT_NORMAL",                 # 0x0B02
131     "GL_CURRENT_TEXTURE_COORDS",         # 0x0B03
132     "GL_CURRENT_RASTER_COLOR",           # 0x0B04
133     "GL_CURRENT_RASTER_INDEX",           # 0x0B05
134     "GL_CURRENT_RASTER_TEXTURE_COORDS",  # 0x0B06
135     "GL_CURRENT_RASTER_POSITION",        # 0x0B07
136     "GL_CURRENT_RASTER_POSITION_VALID",  # 0x0B08
137     "GL_CURRENT_RASTER_DISTANCE",        # 0x0B09
138     "GL_POINT_SMOOTH",                   # 0x0B10
139     "GL_POINT_SIZE",                     # 0x0B11
140     "GL_POINT_SIZE_RANGE",               # 0x0B12
141     "GL_POINT_SIZE_GRANULARITY",         # 0x0B13
142     "GL_LINE_SMOOTH",                    # 0x0B20
143     "GL_LINE_WIDTH",                     # 0x0B21
144     "GL_LINE_WIDTH_RANGE",               # 0x0B22
145     "GL_LINE_WIDTH_GRANULARITY",         # 0x0B23
146     "GL_LINE_STIPPLE",                   # 0x0B24
147     "GL_LINE_STIPPLE_PATTERN",           # 0x0B25
148     "GL_LINE_STIPPLE_REPEAT",            # 0x0B26
149     "GL_LIST_MODE",                      # 0x0B30
150     "GL_MAX_LIST_NESTING",               # 0x0B31
151     "GL_LIST_BASE",                      # 0x0B32
152     "GL_LIST_INDEX",                     # 0x0B33
153     "GL_POLYGON_MODE",                   # 0x0B40
154     "GL_POLYGON_SMOOTH",                 # 0x0B41
155     "GL_POLYGON_STIPPLE",                # 0x0B42
156     "GL_EDGE_FLAG",                      # 0x0B43
157     "GL_CULL_FACE",                      # 0x0B44
158     "GL_CULL_FACE_MODE",                 # 0x0B45
159     "GL_FRONT_FACE",                     # 0x0B46
160     "GL_LIGHTING",                       # 0x0B50
161     "GL_LIGHT_MODEL_LOCAL_VIEWER",       # 0x0B51
162     "GL_LIGHT_MODEL_TWO_SIDE",           # 0x0B52
163     "GL_LIGHT_MODEL_AMBIENT",            # 0x0B53
164     "GL_SHADE_MODEL",                    # 0x0B54
165     "GL_COLOR_MATERIAL_FACE",            # 0x0B55
166     "GL_COLOR_MATERIAL_PARAMETER",       # 0x0B56
167     "GL_COLOR_MATERIAL",                 # 0x0B57
168     "GL_FOG",                            # 0x0B60
169     "GL_FOG_INDEX",                      # 0x0B61
170     "GL_FOG_DENSITY",                    # 0x0B62
171     "GL_FOG_START",                      # 0x0B63
172     "GL_FOG_END",                        # 0x0B64
173     "GL_FOG_MODE",                       # 0x0B65
174     "GL_FOG_COLOR",                      # 0x0B66
175     "GL_DEPTH_RANGE",                    # 0x0B70
176     "GL_DEPTH_TEST",                     # 0x0B71
177     "GL_DEPTH_WRITEMASK",                # 0x0B72
178     "GL_DEPTH_CLEAR_VALUE",              # 0x0B73
179     "GL_DEPTH_FUNC",                     # 0x0B74
180     "GL_ACCUM_CLEAR_VALUE",              # 0x0B80
181     "GL_STENCIL_TEST",                   # 0x0B90
182     "GL_STENCIL_CLEAR_VALUE",            # 0x0B91
183     "GL_STENCIL_FUNC",                   # 0x0B92
184     "GL_STENCIL_VALUE_MASK",             # 0x0B93
185     "GL_STENCIL_FAIL",                   # 0x0B94
186     "GL_STENCIL_PASS_DEPTH_FAIL",        # 0x0B95
187     "GL_STENCIL_PASS_DEPTH_PASS",        # 0x0B96
188     "GL_STENCIL_REF",                    # 0x0B97
189     "GL_STENCIL_WRITEMASK",              # 0x0B98
190     "GL_MATRIX_MODE",                    # 0x0BA0
191     "GL_NORMALIZE",                      # 0x0BA1
192     "GL_VIEWPORT",                       # 0x0BA2
193     "GL_MODELVIEW_STACK_DEPTH",          # 0x0BA3
194     "GL_PROJECTION_STACK_DEPTH",         # 0x0BA4
195     "GL_TEXTURE_STACK_DEPTH",            # 0x0BA5
196     "GL_MODELVIEW_MATRIX",               # 0x0BA6
197     "GL_PROJECTION_MATRIX",              # 0x0BA7
198     "GL_TEXTURE_MATRIX",                 # 0x0BA8
199     "GL_ATTRIB_STACK_DEPTH",             # 0x0BB0
200     "GL_CLIENT_ATTRIB_STACK_DEPTH",      # 0x0BB1
201     "GL_ALPHA_TEST",                     # 0x0BC0
202     "GL_ALPHA_TEST_FUNC",                # 0x0BC1
203     "GL_ALPHA_TEST_REF",                 # 0x0BC2
204     "GL_DITHER",                         # 0x0BD0
205     "GL_BLEND_DST",                      # 0x0BE0
206     "GL_BLEND_SRC",                      # 0x0BE1
207     "GL_BLEND",                          # 0x0BE2
208     "GL_LOGIC_OP_MODE",                  # 0x0BF0
209     "GL_INDEX_LOGIC_OP",                 # 0x0BF1
210     "GL_COLOR_LOGIC_OP",                 # 0x0BF2
211     "GL_AUX_BUFFERS",                    # 0x0C00
212     "GL_DRAW_BUFFER",                    # 0x0C01
213     "GL_READ_BUFFER",                    # 0x0C02
214     "GL_SCISSOR_BOX",                    # 0x0C10
215     "GL_SCISSOR_TEST",                   # 0x0C11
216     "GL_INDEX_CLEAR_VALUE",              # 0x0C20
217     "GL_INDEX_WRITEMASK",                # 0x0C21
218     "GL_COLOR_CLEAR_VALUE",              # 0x0C22
219     "GL_COLOR_WRITEMASK",                # 0x0C23
220     "GL_INDEX_MODE",                     # 0x0C30
221     "GL_RGBA_MODE",                      # 0x0C31
222     "GL_DOUBLEBUFFER",                   # 0x0C32
223     "GL_STEREO",                         # 0x0C33
224     "GL_RENDER_MODE",                    # 0x0C40
225     "GL_PERSPECTIVE_CORRECTION_HINT",    # 0x0C50
226     "GL_POINT_SMOOTH_HINT",              # 0x0C51
227     "GL_LINE_SMOOTH_HINT",               # 0x0C52
228     "GL_POLYGON_SMOOTH_HINT",            # 0x0C53
229     "GL_FOG_HINT",                       # 0x0C54
230     "GL_TEXTURE_GEN_S",                  # 0x0C60
231     "GL_TEXTURE_GEN_T",                  # 0x0C61
232     "GL_TEXTURE_GEN_R",                  # 0x0C62
233     "GL_TEXTURE_GEN_Q",                  # 0x0C63
234     "GL_PIXEL_MAP_I_TO_I",               # 0x0C70
235     "GL_PIXEL_MAP_S_TO_S",               # 0x0C71
236     "GL_PIXEL_MAP_I_TO_R",               # 0x0C72
237     "GL_PIXEL_MAP_I_TO_G",               # 0x0C73
238     "GL_PIXEL_MAP_I_TO_B",               # 0x0C74
239     "GL_PIXEL_MAP_I_TO_A",               # 0x0C75
240     "GL_PIXEL_MAP_R_TO_R",               # 0x0C76
241     "GL_PIXEL_MAP_G_TO_G",               # 0x0C77
242     "GL_PIXEL_MAP_B_TO_B",               # 0x0C78
243     "GL_PIXEL_MAP_A_TO_A",               # 0x0C79
244     "GL_PIXEL_MAP_I_TO_I_SIZE",          # 0x0CB0
245     "GL_PIXEL_MAP_S_TO_S_SIZE",          # 0x0CB1
246     "GL_PIXEL_MAP_I_TO_R_SIZE",          # 0x0CB2
247     "GL_PIXEL_MAP_I_TO_G_SIZE",          # 0x0CB3
248     "GL_PIXEL_MAP_I_TO_B_SIZE",          # 0x0CB4
249     "GL_PIXEL_MAP_I_TO_A_SIZE",          # 0x0CB5
250     "GL_PIXEL_MAP_R_TO_R_SIZE",          # 0x0CB6
251     "GL_PIXEL_MAP_G_TO_G_SIZE",          # 0x0CB7
252     "GL_PIXEL_MAP_B_TO_B_SIZE",          # 0x0CB8
253     "GL_PIXEL_MAP_A_TO_A_SIZE",          # 0x0CB9
254     "GL_UNPACK_SWAP_BYTES",              # 0x0CF0
255     "GL_UNPACK_LSB_FIRST",               # 0x0CF1
256     "GL_UNPACK_ROW_LENGTH",              # 0x0CF2
257     "GL_UNPACK_SKIP_ROWS",               # 0x0CF3
258     "GL_UNPACK_SKIP_PIXELS",             # 0x0CF4
259     "GL_UNPACK_ALIGNMENT",               # 0x0CF5
260     "GL_PACK_SWAP_BYTES",                # 0x0D00
261     "GL_PACK_LSB_FIRST",                 # 0x0D01
262     "GL_PACK_ROW_LENGTH",                # 0x0D02
263     "GL_PACK_SKIP_ROWS",                 # 0x0D03
264     "GL_PACK_SKIP_PIXELS",               # 0x0D04
265     "GL_PACK_ALIGNMENT",                 # 0x0D05
266     "GL_MAP_COLOR",                      # 0x0D10
267     "GL_MAP_STENCIL",                    # 0x0D11
268     "GL_INDEX_SHIFT",                    # 0x0D12
269     "GL_INDEX_OFFSET",                   # 0x0D13
270     "GL_RED_SCALE",                      # 0x0D14
271     "GL_RED_BIAS",                       # 0x0D15
272     "GL_ZOOM_X",                         # 0x0D16
273     "GL_ZOOM_Y",                         # 0x0D17
274     "GL_GREEN_SCALE",                    # 0x0D18
275     "GL_GREEN_BIAS",                     # 0x0D19
276     "GL_BLUE_SCALE",                     # 0x0D1A
277     "GL_BLUE_BIAS",                      # 0x0D1B
278     "GL_ALPHA_SCALE",                    # 0x0D1C
279     "GL_ALPHA_BIAS",                     # 0x0D1D
280     "GL_DEPTH_SCALE",                    # 0x0D1E
281     "GL_DEPTH_BIAS",                     # 0x0D1F
282     "GL_MAX_EVAL_ORDER",                 # 0x0D30
283     "GL_MAX_LIGHTS",                     # 0x0D31
284     "GL_MAX_CLIP_PLANES",                # 0x0D32
285     "GL_MAX_TEXTURE_SIZE",               # 0x0D33
286     "GL_MAX_PIXEL_MAP_TABLE",            # 0x0D34
287     "GL_MAX_ATTRIB_STACK_DEPTH",         # 0x0D35
288     "GL_MAX_MODELVIEW_STACK_DEPTH",      # 0x0D36
289     "GL_MAX_NAME_STACK_DEPTH",           # 0x0D37
290     "GL_MAX_PROJECTION_STACK_DEPTH",     # 0x0D38
291     "GL_MAX_TEXTURE_STACK_DEPTH",        # 0x0D39
292     "GL_MAX_VIEWPORT_DIMS",              # 0x0D3A
293     "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH",  # 0x0D3B
294     "GL_SUBPIXEL_BITS",                  # 0x0D50
295     "GL_INDEX_BITS",                     # 0x0D51
296     "GL_RED_BITS",                       # 0x0D52
297     "GL_GREEN_BITS",                     # 0x0D53
298     "GL_BLUE_BITS",                      # 0x0D54
299     "GL_ALPHA_BITS",                     # 0x0D55
300     "GL_DEPTH_BITS",                     # 0x0D56
301     "GL_STENCIL_BITS",                   # 0x0D57
302     "GL_ACCUM_RED_BITS",                 # 0x0D58
303     "GL_ACCUM_GREEN_BITS",               # 0x0D59
304     "GL_ACCUM_BLUE_BITS",                # 0x0D5A
305     "GL_ACCUM_ALPHA_BITS",               # 0x0D5B
306     "GL_NAME_STACK_DEPTH",               # 0x0D70
307     "GL_AUTO_NORMAL",                    # 0x0D80
308     "GL_MAP1_COLOR_4",                   # 0x0D90
309     "GL_MAP1_INDEX",                     # 0x0D91
310     "GL_MAP1_NORMAL",                    # 0x0D92
311     "GL_MAP1_TEXTURE_COORD_1",           # 0x0D93
312     "GL_MAP1_TEXTURE_COORD_2",           # 0x0D94
313     "GL_MAP1_TEXTURE_COORD_3",           # 0x0D95
314     "GL_MAP1_TEXTURE_COORD_4",           # 0x0D96
315     "GL_MAP1_VERTEX_3",                  # 0x0D97
316     "GL_MAP1_VERTEX_4",                  # 0x0D98
317     "GL_MAP2_COLOR_4",                   # 0x0DB0
318     "GL_MAP2_INDEX",                     # 0x0DB1
319     "GL_MAP2_NORMAL",                    # 0x0DB2
320     "GL_MAP2_TEXTURE_COORD_1",           # 0x0DB3
321     "GL_MAP2_TEXTURE_COORD_2",           # 0x0DB4
322     "GL_MAP2_TEXTURE_COORD_3",           # 0x0DB5
323     "GL_MAP2_TEXTURE_COORD_4",           # 0x0DB6
324     "GL_MAP2_VERTEX_3",                  # 0x0DB7
325     "GL_MAP2_VERTEX_4",                  # 0x0DB8
326     "GL_MAP1_GRID_DOMAIN",               # 0x0DD0
327     "GL_MAP1_GRID_SEGMENTS",             # 0x0DD1
328     "GL_MAP2_GRID_DOMAIN",               # 0x0DD2
329     "GL_MAP2_GRID_SEGMENTS",             # 0x0DD3
330     "GL_TEXTURE_1D",                     # 0x0DE0
331     "GL_TEXTURE_2D",                     # 0x0DE1
332     "GL_FEEDBACK_BUFFER_POINTER",        # 0x0DF0
333     "GL_FEEDBACK_BUFFER_SIZE",           # 0x0DF1
334     "GL_FEEDBACK_BUFFER_TYPE",           # 0x0DF2
335     "GL_SELECTION_BUFFER_POINTER",       # 0x0DF3
336     "GL_SELECTION_BUFFER_SIZE",          # 0x0DF4
337     "GL_TEXTURE_WIDTH",                  # 0x1000
338     "GL_TEXTURE_HEIGHT",                 # 0x1001
339     "GL_TEXTURE_COMPONENTS",             # 0x1003
340     #"GL_TEXTURE_INTERNAL_FORMAT",       # 0x1003
341     "GL_TEXTURE_BORDER_COLOR",           # 0x1004
342     "GL_TEXTURE_BORDER",                 # 0x1005
343     "GL_DONT_CARE",                      # 0x1100
344     "GL_FASTEST",                        # 0x1101
345     "GL_NICEST",                         # 0x1102
346     "GL_AMBIENT",                        # 0x1200
347     "GL_DIFFUSE",                        # 0x1201
348     "GL_SPECULAR",                       # 0x1202
349     "GL_POSITION",                       # 0x1203
350     "GL_SPOT_DIRECTION",                 # 0x1204
351     "GL_SPOT_EXPONENT",                  # 0x1205
352     "GL_SPOT_CUTOFF",                    # 0x1206
353     "GL_CONSTANT_ATTENUATION",           # 0x1207
354     "GL_LINEAR_ATTENUATION",             # 0x1208
355     "GL_QUADRATIC_ATTENUATION",          # 0x1209
356     "GL_COMPILE",                        # 0x1300
357     "GL_COMPILE_AND_EXECUTE",            # 0x1301
358     "GL_BYTE",                           # 0x1400
359     "GL_UNSIGNED_BYTE",                  # 0x1401
360     "GL_SHORT",                          # 0x1402
361     "GL_UNSIGNED_SHORT",                 # 0x1403
362     "GL_INT",                            # 0x1404
363     "GL_UNSIGNED_INT",                   # 0x1405
364     "GL_FLOAT",                          # 0x1406
365     "GL_2_BYTES",                        # 0x1407
366     "GL_3_BYTES",                        # 0x1408
367     "GL_4_BYTES",                        # 0x1409
368     "GL_DOUBLE",                         # 0x140A
369     "GL_HALF_FLOAT",                     # 0x140B
370     "GL_CLEAR",                          # 0x1500
371     "GL_AND",                            # 0x1501
372     "GL_AND_REVERSE",                    # 0x1502
373     "GL_COPY",                           # 0x1503
374     "GL_AND_INVERTED",                   # 0x1504
375     "GL_NOOP",                           # 0x1505
376     "GL_XOR",                            # 0x1506
377     "GL_OR",                             # 0x1507
378     "GL_NOR",                            # 0x1508
379     "GL_EQUIV",                          # 0x1509
380     "GL_INVERT",                         # 0x150A
381     "GL_OR_REVERSE",                     # 0x150B
382     "GL_COPY_INVERTED",                  # 0x150C
383     "GL_OR_INVERTED",                    # 0x150D
384     "GL_NAND",                           # 0x150E
385     "GL_SET",                            # 0x150F
386     "GL_EMISSION",                       # 0x1600
387     "GL_SHININESS",                      # 0x1601
388     "GL_AMBIENT_AND_DIFFUSE",            # 0x1602
389     "GL_COLOR_INDEXES",                  # 0x1603
390     "GL_MODELVIEW",                      # 0x1700
391     "GL_PROJECTION",                     # 0x1701
392     "GL_TEXTURE",                        # 0x1702
393     "GL_COLOR",                          # 0x1800
394     "GL_DEPTH",                          # 0x1801
395     "GL_STENCIL",                        # 0x1802
396     "GL_COLOR_INDEX",                    # 0x1900
397     "GL_STENCIL_INDEX",                  # 0x1901
398     "GL_DEPTH_COMPONENT",                # 0x1902
399     "GL_RED",                            # 0x1903
400     "GL_GREEN",                          # 0x1904
401     "GL_BLUE",                           # 0x1905
402     "GL_ALPHA",                          # 0x1906
403     "GL_RGB",                            # 0x1907
404     "GL_RGBA",                           # 0x1908
405     "GL_LUMINANCE",                      # 0x1909
406     "GL_LUMINANCE_ALPHA",                # 0x190A
407     "GL_BITMAP",                         # 0x1A00
408     "GL_POINT",                          # 0x1B00
409     "GL_LINE",                           # 0x1B01
410     "GL_FILL",                           # 0x1B02
411     "GL_RENDER",                         # 0x1C00
412     "GL_FEEDBACK",                       # 0x1C01
413     "GL_SELECT",                         # 0x1C02
414     "GL_FLAT",                           # 0x1D00
415     "GL_SMOOTH",                         # 0x1D01
416     "GL_KEEP",                           # 0x1E00
417     "GL_REPLACE",                        # 0x1E01
418     "GL_INCR",                           # 0x1E02
419     "GL_DECR",                           # 0x1E03
420     "GL_VENDOR",                         # 0x1F00
421     "GL_RENDERER",                       # 0x1F01
422     "GL_VERSION",                        # 0x1F02
423     "GL_EXTENSIONS",                     # 0x1F03
424     "GL_S",                              # 0x2000
425     "GL_T",                              # 0x2001
426     "GL_R",                              # 0x2002
427     "GL_Q",                              # 0x2003
428     "GL_MODULATE",                       # 0x2100
429     "GL_DECAL",                          # 0x2101
430     "GL_TEXTURE_ENV_MODE",               # 0x2200
431     "GL_TEXTURE_ENV_COLOR",              # 0x2201
432     "GL_TEXTURE_ENV",                    # 0x2300
433     "GL_EYE_LINEAR",                     # 0x2400
434     "GL_OBJECT_LINEAR",                  # 0x2401
435     "GL_SPHERE_MAP",                     # 0x2402
436     "GL_TEXTURE_GEN_MODE",               # 0x2500
437     "GL_OBJECT_PLANE",                   # 0x2501
438     "GL_EYE_PLANE",                      # 0x2502
439     "GL_NEAREST",                        # 0x2600
440     "GL_LINEAR",                         # 0x2601
441     "GL_NEAREST_MIPMAP_NEAREST",         # 0x2700
442     "GL_LINEAR_MIPMAP_NEAREST",          # 0x2701
443     "GL_NEAREST_MIPMAP_LINEAR",          # 0x2702
444     "GL_LINEAR_MIPMAP_LINEAR",           # 0x2703
445     "GL_TEXTURE_MAG_FILTER",             # 0x2800
446     "GL_TEXTURE_MIN_FILTER",             # 0x2801
447     "GL_TEXTURE_WRAP_S",                 # 0x2802
448     "GL_TEXTURE_WRAP_T",                 # 0x2803
449     "GL_CLAMP",                          # 0x2900
450     "GL_REPEAT",                         # 0x2901
451     "GL_POLYGON_OFFSET_UNITS",           # 0x2A00
452     "GL_POLYGON_OFFSET_POINT",           # 0x2A01
453     "GL_POLYGON_OFFSET_LINE",            # 0x2A02
454     "GL_R3_G3_B2",                       # 0x2A10
455     "GL_V2F",                            # 0x2A20
456     "GL_V3F",                            # 0x2A21
457     "GL_C4UB_V2F",                       # 0x2A22
458     "GL_C4UB_V3F",                       # 0x2A23
459     "GL_C3F_V3F",                        # 0x2A24
460     "GL_N3F_V3F",                        # 0x2A25
461     "GL_C4F_N3F_V3F",                    # 0x2A26
462     "GL_T2F_V3F",                        # 0x2A27
463     "GL_T4F_V4F",                        # 0x2A28
464     "GL_T2F_C4UB_V3F",                   # 0x2A29
465     "GL_T2F_C3F_V3F",                    # 0x2A2A
466     "GL_T2F_N3F_V3F",                    # 0x2A2B
467     "GL_T2F_C4F_N3F_V3F",                # 0x2A2C
468     "GL_T4F_C4F_N3F_V4F",                # 0x2A2D
469     "GL_CLIP_PLANE0",                    # 0x3000
470     "GL_CLIP_PLANE1",                    # 0x3001
471     "GL_CLIP_PLANE2",                    # 0x3002
472     "GL_CLIP_PLANE3",                    # 0x3003
473     "GL_CLIP_PLANE4",                    # 0x3004
474     "GL_CLIP_PLANE5",                    # 0x3005
475     "GL_LIGHT0",                         # 0x4000
476     "GL_LIGHT1",                         # 0x4001
477     "GL_LIGHT2",                         # 0x4002
478     "GL_LIGHT3",                         # 0x4003
479     "GL_LIGHT4",                         # 0x4004
480     "GL_LIGHT5",                         # 0x4005
481     "GL_LIGHT6",                         # 0x4006
482     "GL_LIGHT7",                         # 0x4007
483     "GL_ABGR_EXT",                       # 0x8000
484     "GL_CONSTANT_COLOR",                 # 0x8001
485     "GL_ONE_MINUS_CONSTANT_COLOR",       # 0x8002
486     "GL_CONSTANT_ALPHA",                 # 0x8003
487     "GL_ONE_MINUS_CONSTANT_ALPHA",       # 0x8004
488     "GL_BLEND_COLOR",                    # 0x8005
489     "GL_FUNC_ADD",                       # 0x8006
490     "GL_MIN",                            # 0x8007
491     "GL_MAX",                            # 0x8008
492     "GL_BLEND_EQUATION",                 # 0x8009
493     "GL_FUNC_SUBTRACT",                  # 0x800A
494     "GL_FUNC_REVERSE_SUBTRACT",          # 0x800B
495     "GL_CMYK_EXT",                       # 0x800C
496     "GL_CMYKA_EXT",                      # 0x800D
497     "GL_PACK_CMYK_HINT_EXT",             # 0x800E
498     "GL_UNPACK_CMYK_HINT_EXT",           # 0x800F
499     "GL_CONVOLUTION_1D",                 # 0x8010
500     "GL_CONVOLUTION_2D",                 # 0x8011
501     "GL_SEPARABLE_2D",                   # 0x8012
502     "GL_CONVOLUTION_BORDER_MODE",        # 0x8013
503     "GL_CONVOLUTION_FILTER_SCALE",       # 0x8014
504     "GL_CONVOLUTION_FILTER_BIAS",        # 0x8015
505     "GL_REDUCE",                         # 0x8016
506     "GL_CONVOLUTION_FORMAT",             # 0x8017
507     "GL_CONVOLUTION_WIDTH",              # 0x8018
508     "GL_CONVOLUTION_HEIGHT",             # 0x8019
509     "GL_MAX_CONVOLUTION_WIDTH",          # 0x801A
510     "GL_MAX_CONVOLUTION_HEIGHT",         # 0x801B
511     "GL_POST_CONVOLUTION_RED_SCALE",     # 0x801C
512     "GL_POST_CONVOLUTION_GREEN_SCALE",   # 0x801D
513     "GL_POST_CONVOLUTION_BLUE_SCALE",    # 0x801E
514     "GL_POST_CONVOLUTION_ALPHA_SCALE",   # 0x801F
515     "GL_POST_CONVOLUTION_RED_BIAS",      # 0x8020
516     "GL_POST_CONVOLUTION_GREEN_BIAS",    # 0x8021
517     "GL_POST_CONVOLUTION_BLUE_BIAS",     # 0x8022
518     "GL_POST_CONVOLUTION_ALPHA_BIAS",    # 0x8023
519     "GL_HISTOGRAM",                      # 0x8024
520     "GL_PROXY_HISTOGRAM",                # 0x8025
521     "GL_HISTOGRAM_WIDTH",                # 0x8026
522     "GL_HISTOGRAM_FORMAT",               # 0x8027
523     "GL_HISTOGRAM_RED_SIZE",             # 0x8028
524     "GL_HISTOGRAM_GREEN_SIZE",           # 0x8029
525     "GL_HISTOGRAM_BLUE_SIZE",            # 0x802A
526     "GL_HISTOGRAM_ALPHA_SIZE",           # 0x802B
527     "GL_HISTOGRAM_LUMINANCE_SIZE",       # 0x802C
528     "GL_HISTOGRAM_SINK",                 # 0x802D
529     "GL_MINMAX",                         # 0x802E
530     "GL_MINMAX_FORMAT",                  # 0x802F
531     "GL_MINMAX_SINK",                    # 0x8030
532     "GL_TABLE_TOO_LARGE",                # 0x8031
533     "GL_UNSIGNED_BYTE_3_3_2",            # 0x8032
534     "GL_UNSIGNED_SHORT_4_4_4_4",         # 0x8033
535     "GL_UNSIGNED_SHORT_5_5_5_1",         # 0x8034
536     "GL_UNSIGNED_INT_8_8_8_8",           # 0x8035
537     "GL_UNSIGNED_INT_10_10_10_2",        # 0x8036
538     "GL_POLYGON_OFFSET_FILL",            # 0x8037
539     "GL_POLYGON_OFFSET_FACTOR",          # 0x8038
540     "GL_POLYGON_OFFSET_BIAS_EXT",        # 0x8039
541     "GL_RESCALE_NORMAL",                 # 0x803A
542     "GL_ALPHA4",                         # 0x803B
543     "GL_ALPHA8",                         # 0x803C
544     "GL_ALPHA12",                        # 0x803D
545     "GL_ALPHA16",                        # 0x803E
546     "GL_LUMINANCE4",                     # 0x803F
547     "GL_LUMINANCE8",                     # 0x8040
548     "GL_LUMINANCE12",                    # 0x8041
549     "GL_LUMINANCE16",                    # 0x8042
550     "GL_LUMINANCE4_ALPHA4",              # 0x8043
551     "GL_LUMINANCE6_ALPHA2",              # 0x8044
552     "GL_LUMINANCE8_ALPHA8",              # 0x8045
553     "GL_LUMINANCE12_ALPHA4",             # 0x8046
554     "GL_LUMINANCE12_ALPHA12",            # 0x8047
555     "GL_LUMINANCE16_ALPHA16",            # 0x8048
556     "GL_INTENSITY",                      # 0x8049
557     "GL_INTENSITY4",                     # 0x804A
558     "GL_INTENSITY8",                     # 0x804B
559     "GL_INTENSITY12",                    # 0x804C
560     "GL_INTENSITY16",                    # 0x804D
561     "GL_RGB2_EXT",                       # 0x804E
562     "GL_RGB4",                           # 0x804F
563     "GL_RGB5",                           # 0x8050
564     "GL_RGB8",                           # 0x8051
565     "GL_RGB10",                          # 0x8052
566     "GL_RGB12",                          # 0x8053
567     "GL_RGB16",                          # 0x8054
568     "GL_RGBA2",                          # 0x8055
569     "GL_RGBA4",                          # 0x8056
570     "GL_RGB5_A1",                        # 0x8057
571     "GL_RGBA8",                          # 0x8058
572     "GL_RGB10_A2",                       # 0x8059
573     "GL_RGBA12",                         # 0x805A
574     "GL_RGBA16",                         # 0x805B
575     "GL_TEXTURE_RED_SIZE",               # 0x805C
576     "GL_TEXTURE_GREEN_SIZE",             # 0x805D
577     "GL_TEXTURE_BLUE_SIZE",              # 0x805E
578     "GL_TEXTURE_ALPHA_SIZE",             # 0x805F
579     "GL_TEXTURE_LUMINANCE_SIZE",         # 0x8060
580     "GL_TEXTURE_INTENSITY_SIZE",         # 0x8061
581     "GL_REPLACE_EXT",                    # 0x8062
582     "GL_PROXY_TEXTURE_1D",               # 0x8063
583     "GL_PROXY_TEXTURE_2D",               # 0x8064
584     "GL_TEXTURE_TOO_LARGE_EXT",          # 0x8065
585     "GL_TEXTURE_PRIORITY",               # 0x8066
586     "GL_TEXTURE_RESIDENT",               # 0x8067
587     "GL_TEXTURE_BINDING_1D",             # 0x8068
588     "GL_TEXTURE_BINDING_2D",             # 0x8069
589     "GL_TEXTURE_BINDING_3D",             # 0x806A
590     "GL_PACK_SKIP_IMAGES",               # 0x806B
591     "GL_PACK_IMAGE_HEIGHT",              # 0x806C
592     "GL_UNPACK_SKIP_IMAGES",             # 0x806D
593     "GL_UNPACK_IMAGE_HEIGHT",            # 0x806E
594     "GL_TEXTURE_3D",                     # 0x806F
595     "GL_PROXY_TEXTURE_3D",               # 0x8070
596     "GL_TEXTURE_DEPTH",                  # 0x8071
597     "GL_TEXTURE_WRAP_R",                 # 0x8072
598     "GL_MAX_3D_TEXTURE_SIZE",            # 0x8073
599     "GL_VERTEX_ARRAY",                   # 0x8074
600     "GL_NORMAL_ARRAY",                   # 0x8075
601     "GL_COLOR_ARRAY",                    # 0x8076
602     "GL_INDEX_ARRAY",                    # 0x8077
603     "GL_TEXTURE_COORD_ARRAY",            # 0x8078
604     "GL_EDGE_FLAG_ARRAY",                # 0x8079
605     "GL_VERTEX_ARRAY_SIZE",              # 0x807A
606     "GL_VERTEX_ARRAY_TYPE",              # 0x807B
607     "GL_VERTEX_ARRAY_STRIDE",            # 0x807C
608     "GL_VERTEX_ARRAY_COUNT_EXT",         # 0x807D
609     "GL_NORMAL_ARRAY_TYPE",              # 0x807E
610     "GL_NORMAL_ARRAY_STRIDE",            # 0x807F
611     "GL_NORMAL_ARRAY_COUNT_EXT",         # 0x8080
612     "GL_COLOR_ARRAY_SIZE",               # 0x8081
613     "GL_COLOR_ARRAY_TYPE",               # 0x8082
614     "GL_COLOR_ARRAY_STRIDE",             # 0x8083
615     "GL_COLOR_ARRAY_COUNT_EXT",          # 0x8084
616     "GL_INDEX_ARRAY_TYPE",               # 0x8085
617     "GL_INDEX_ARRAY_STRIDE",             # 0x8086
618     "GL_INDEX_ARRAY_COUNT_EXT",          # 0x8087
619     "GL_TEXTURE_COORD_ARRAY_SIZE",       # 0x8088
620     "GL_TEXTURE_COORD_ARRAY_TYPE",       # 0x8089
621     "GL_TEXTURE_COORD_ARRAY_STRIDE",     # 0x808A
622     "GL_TEXTURE_COORD_ARRAY_COUNT_EXT",  # 0x808B
623     "GL_EDGE_FLAG_ARRAY_STRIDE",         # 0x808C
624     "GL_EDGE_FLAG_ARRAY_COUNT_EXT",      # 0x808D
625     "GL_VERTEX_ARRAY_POINTER",           # 0x808E
626     "GL_NORMAL_ARRAY_POINTER",           # 0x808F
627     "GL_COLOR_ARRAY_POINTER",            # 0x8090
628     "GL_INDEX_ARRAY_POINTER",            # 0x8091
629     "GL_TEXTURE_COORD_ARRAY_POINTER",    # 0x8092
630     "GL_EDGE_FLAG_ARRAY_POINTER",        # 0x8093
631     "GL_INTERLACE_SGIX",                 # 0x8094
632     "GL_DETAIL_TEXTURE_2D_SGIS",         # 0x8095
633     "GL_DETAIL_TEXTURE_2D_BINDING_SGIS", # 0x8096
634     "GL_LINEAR_DETAIL_SGIS",             # 0x8097
635     "GL_LINEAR_DETAIL_ALPHA_SGIS",       # 0x8098
636     "GL_LINEAR_DETAIL_COLOR_SGIS",       # 0x8099
637     "GL_DETAIL_TEXTURE_LEVEL_SGIS",      # 0x809A
638     "GL_DETAIL_TEXTURE_MODE_SGIS",       # 0x809B
639     "GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS",# 0x809C
640     "GL_MULTISAMPLE",                    # 0x809D
641     "GL_SAMPLE_ALPHA_TO_COVERAGE",       # 0x809E
642     "GL_SAMPLE_ALPHA_TO_ONE",            # 0x809F
643     "GL_SAMPLE_COVERAGE",                # 0x80A0
644     "GL_1PASS_EXT",                      # 0x80A1
645     "GL_2PASS_0_EXT",                    # 0x80A2
646     "GL_2PASS_1_EXT",                    # 0x80A3
647     "GL_4PASS_0_EXT",                    # 0x80A4
648     "GL_4PASS_1_EXT",                    # 0x80A5
649     "GL_4PASS_2_EXT",                    # 0x80A6
650     "GL_4PASS_3_EXT",                    # 0x80A7
651     "GL_SAMPLE_BUFFERS",                 # 0x80A8
652     "GL_SAMPLES",                        # 0x80A9
653     "GL_SAMPLE_COVERAGE_VALUE",          # 0x80AA
654     "GL_SAMPLE_COVERAGE_INVERT",         # 0x80AB
655     "GL_SAMPLE_PATTERN_EXT",             # 0x80AC
656     "GL_LINEAR_SHARPEN_SGIS",            # 0x80AD
657     "GL_LINEAR_SHARPEN_ALPHA_SGIS",      # 0x80AE
658     "GL_LINEAR_SHARPEN_COLOR_SGIS",      # 0x80AF
659     "GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS", # 0x80B0
660     "GL_COLOR_MATRIX",                   # 0x80B1
661     "GL_COLOR_MATRIX_STACK_DEPTH",       # 0x80B2
662     "GL_MAX_COLOR_MATRIX_STACK_DEPTH",   # 0x80B3
663     "GL_POST_COLOR_MATRIX_RED_SCALE",    # 0x80B4
664     "GL_POST_COLOR_MATRIX_GREEN_SCALE",  # 0x80B5
665     "GL_POST_COLOR_MATRIX_BLUE_SCALE",   # 0x80B6
666     "GL_POST_COLOR_MATRIX_ALPHA_SCALE",  # 0x80B7
667     "GL_POST_COLOR_MATRIX_RED_BIAS",     # 0x80B8
668     "GL_POST_COLOR_MATRIX_GREEN_BIAS",   # 0x80B9
669     "GL_POST_COLOR_MATRIX_BLUE_BIAS",    # 0x80BA
670     "GL_POST_COLOR_MATRIX_ALPHA_BIAS",   # 0x80BB
671     "GL_TEXTURE_COLOR_TABLE_SGI",        # 0x80BC
672     "GL_PROXY_TEXTURE_COLOR_TABLE_SGI",  # 0x80BD
673     "GL_TEXTURE_ENV_BIAS_SGIX",          # 0x80BE
674     "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB", # 0x80BF
675     "GL_BLEND_DST_RGB",                  # 0x80C8
676     "GL_BLEND_SRC_RGB",                  # 0x80C9
677     "GL_BLEND_DST_ALPHA",                # 0x80CA
678     "GL_BLEND_SRC_ALPHA",                # 0x80CB
679     "GL_422_EXT",                        # 0x80CC
680     "GL_422_REV_EXT",                    # 0x80CD
681     "GL_422_AVERAGE_EXT",                # 0x80CE
682     "GL_422_REV_AVERAGE_EXT",            # 0x80CF
683     "GL_COLOR_TABLE",                    # 0x80D0
684     "GL_POST_CONVOLUTION_COLOR_TABLE",   # 0x80D1
685     "GL_POST_COLOR_MATRIX_COLOR_TABLE",  # 0x80D2
686     "GL_PROXY_COLOR_TABLE",              # 0x80D3
687     "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE", # 0x80D4
688     "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE", # 0x80D5
689     "GL_COLOR_TABLE_SCALE",              # 0x80D6
690     "GL_COLOR_TABLE_BIAS",               # 0x80D7
691     "GL_COLOR_TABLE_FORMAT",             # 0x80D8
692     "GL_COLOR_TABLE_WIDTH",              # 0x80D9
693     "GL_COLOR_TABLE_RED_SIZE",           # 0x80DA
694     "GL_COLOR_TABLE_GREEN_SIZE",         # 0x80DB
695     "GL_COLOR_TABLE_BLUE_SIZE",          # 0x80DC
696     "GL_COLOR_TABLE_ALPHA_SIZE",         # 0x80DD
697     "GL_COLOR_TABLE_LUMINANCE_SIZE",     # 0x80DE
698     "GL_COLOR_TABLE_INTENSITY_SIZE",     # 0x80DF
699     "GL_BGR",                            # 0x80E0
700     "GL_BGRA",                           # 0x80E1
701     "GL_COLOR_INDEX1_EXT",               # 0x80E2
702     "GL_COLOR_INDEX2_EXT",               # 0x80E3
703     "GL_COLOR_INDEX4_EXT",               # 0x80E4
704     "GL_COLOR_INDEX8_EXT",               # 0x80E5
705     "GL_COLOR_INDEX12_EXT",              # 0x80E6
706     "GL_COLOR_INDEX16_EXT",              # 0x80E7
707     "GL_MAX_ELEMENTS_VERTICES",          # 0x80E8
708     "GL_MAX_ELEMENTS_INDICES",           # 0x80E9
709     "GL_PHONG_WIN",                      # 0x80EA
710     "GL_PHONG_HINT_WIN",                 # 0x80EB
711     "GL_FOG_SPECULAR_TEXTURE_WIN",       # 0x80EC
712     #"GL_TEXTURE_INDEX_SIZE_EXT",         # 0x80ED
713     "GL_CLIP_VOLUME_CLIPPING_HINT_EXT",  # 0x80F0
714     "GL_DUAL_ALPHA4_SGIS",               # 0x8110
715     "GL_DUAL_ALPHA8_SGIS",               # 0x8111
716     "GL_DUAL_ALPHA12_SGIS",              # 0x8112
717     "GL_DUAL_ALPHA16_SGIS",              # 0x8113
718     "GL_DUAL_LUMINANCE4_SGIS",           # 0x8114
719     "GL_DUAL_LUMINANCE8_SGIS",           # 0x8115
720     "GL_DUAL_LUMINANCE12_SGIS",          # 0x8116
721     "GL_DUAL_LUMINANCE16_SGIS",          # 0x8117
722     "GL_DUAL_INTENSITY4_SGIS",           # 0x8118
723     "GL_DUAL_INTENSITY8_SGIS",           # 0x8119
724     "GL_DUAL_INTENSITY12_SGIS",          # 0x811A
725     "GL_DUAL_INTENSITY16_SGIS",          # 0x811B
726     "GL_DUAL_LUMINANCE_ALPHA4_SGIS",     # 0x811C
727     "GL_DUAL_LUMINANCE_ALPHA8_SGIS",     # 0x811D
728     "GL_QUAD_ALPHA4_SGIS",               # 0x811E
729     "GL_QUAD_ALPHA8_SGIS",               # 0x811F
730     "GL_QUAD_LUMINANCE4_SGIS",           # 0x8120
731     "GL_QUAD_LUMINANCE8_SGIS",           # 0x8121
732     "GL_QUAD_INTENSITY4_SGIS",           # 0x8122
733     "GL_QUAD_INTENSITY8_SGIS",           # 0x8123
734     "GL_DUAL_TEXTURE_SELECT_SGIS",       # 0x8124
735     "GL_QUAD_TEXTURE_SELECT_SGIS",       # 0x8125
736     "GL_POINT_SIZE_MIN",                 # 0x8126
737     "GL_POINT_SIZE_MAX",                 # 0x8127
738     "GL_POINT_FADE_THRESHOLD_SIZE",      # 0x8128
739     "GL_POINT_DISTANCE_ATTENUATION",     # 0x8129
740     "GL_FOG_FUNC_SGIS",                  # 0x812A
741     "GL_FOG_FUNC_POINTS_SGIS",           # 0x812B
742     "GL_MAX_FOG_FUNC_POINTS_SGIS",       # 0x812C
743     "GL_CLAMP_TO_BORDER",                # 0x812D
744     "GL_CLAMP_TO_EDGE",                  # 0x812F
745     "GL_PACK_SKIP_VOLUMES_SGIS",         # 0x8130
746     "GL_PACK_IMAGE_DEPTH_SGIS",          # 0x8131
747     "GL_UNPACK_SKIP_VOLUMES_SGIS",       # 0x8132
748     "GL_UNPACK_IMAGE_DEPTH_SGIS",        # 0x8133
749     "GL_TEXTURE_4D_SGIS",                # 0x8134
750     "GL_PROXY_TEXTURE_4D_SGIS",          # 0x8135
751     "GL_TEXTURE_4DSIZE_SGIS",            # 0x8136
752     "GL_TEXTURE_WRAP_Q_SGIS",            # 0x8137
753     "GL_MAX_4D_TEXTURE_SIZE_SGIS",       # 0x8138
754     "GL_PIXEL_TEX_GEN_SGIX",             # 0x8139
755     "GL_TEXTURE_MIN_LOD",                # 0x813A
756     "GL_TEXTURE_MAX_LOD",                # 0x813B
757     "GL_TEXTURE_BASE_LEVEL",             # 0x813C
758     "GL_TEXTURE_MAX_LEVEL",              # 0x813D
759     "GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX", # 0x813E
760     "GL_PIXEL_TILE_CACHE_INCREMENT_SGIX",# 0x813F
761     "GL_PIXEL_TILE_WIDTH_SGIX",          # 0x8140
762     "GL_PIXEL_TILE_HEIGHT_SGIX",         # 0x8141
763     "GL_PIXEL_TILE_GRID_WIDTH_SGIX",     # 0x8142
764     "GL_PIXEL_TILE_GRID_HEIGHT_SGIX",    # 0x8143
765     "GL_PIXEL_TILE_GRID_DEPTH_SGIX",     # 0x8144
766     "GL_PIXEL_TILE_CACHE_SIZE_SGIX",     # 0x8145
767     "GL_FILTER4_SGIS",                   # 0x8146
768     "GL_TEXTURE_FILTER4_SIZE_SGIS",      # 0x8147
769     "GL_SPRITE_SGIX",                    # 0x8148
770     "GL_SPRITE_MODE_SGIX",               # 0x8149
771     "GL_SPRITE_AXIS_SGIX",               # 0x814A
772     "GL_SPRITE_TRANSLATION_SGIX",        # 0x814B
773     "GL_SPRITE_AXIAL_SGIX",              # 0x814C
774     "GL_SPRITE_OBJECT_ALIGNED_SGIX",     # 0x814D
775     "GL_SPRITE_EYE_ALIGNED_SGIX",        # 0x814E
776     "GL_TEXTURE_4D_BINDING_SGIS",        # 0x814F
777     "GL_IGNORE_BORDER_HP",               # 0x8150
778     "GL_CONSTANT_BORDER",                # 0x8151
779     "GL_REPLICATE_BORDER",               # 0x8153
780     "GL_CONVOLUTION_BORDER_COLOR",       # 0x8154
781     "GL_IMAGE_SCALE_X_HP",               # 0x8155
782     "GL_IMAGE_SCALE_Y_HP",               # 0x8156
783     "GL_IMAGE_TRANSLATE_X_HP",           # 0x8157
784     "GL_IMAGE_TRANSLATE_Y_HP",           # 0x8158
785     "GL_IMAGE_ROTATE_ANGLE_HP",          # 0x8159
786     "GL_IMAGE_ROTATE_ORIGIN_X_HP",       # 0x815A
787     "GL_IMAGE_ROTATE_ORIGIN_Y_HP",       # 0x815B
788     "GL_IMAGE_MAG_FILTER_HP",            # 0x815C
789     "GL_IMAGE_MIN_FILTER_HP",            # 0x815D
790     "GL_IMAGE_CUBIC_WEIGHT_HP",          # 0x815E
791     "GL_CUBIC_HP",                       # 0x815F
792     "GL_AVERAGE_HP",                     # 0x8160
793     "GL_IMAGE_TRANSFORM_2D_HP",          # 0x8161
794     "GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP", # 0x8162
795     "GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP", # 0x8163
796     "GL_OCCLUSION_TEST_HP",              # 0x8165
797     "GL_OCCLUSION_TEST_RESULT_HP",       # 0x8166
798     "GL_TEXTURE_LIGHTING_MODE_HP",       # 0x8167
799     "GL_TEXTURE_POST_SPECULAR_HP",       # 0x8168
800     "GL_TEXTURE_PRE_SPECULAR_HP",        # 0x8169
801     "GL_LINEAR_CLIPMAP_LINEAR_SGIX",     # 0x8170
802     "GL_TEXTURE_CLIPMAP_CENTER_SGIX",    # 0x8171
803     "GL_TEXTURE_CLIPMAP_FRAME_SGIX",     # 0x8172
804     "GL_TEXTURE_CLIPMAP_OFFSET_SGIX",    # 0x8173
805     "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX", # 0x8174
806     "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX",# 0x8175
807     "GL_TEXTURE_CLIPMAP_DEPTH_SGIX",     # 0x8176
808     "GL_MAX_CLIPMAP_DEPTH_SGIX",         # 0x8177
809     "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX", # 0x8178
810     "GL_POST_TEXTURE_FILTER_BIAS_SGIX",  # 0x8179
811     "GL_POST_TEXTURE_FILTER_SCALE_SGIX", # 0x817A
812     "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX", # 0x817B
813     "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX", # 0x817C
814     "GL_REFERENCE_PLANE_SGIX",           # 0x817D
815     "GL_REFERENCE_PLANE_EQUATION_SGIX",  # 0x817E
816     "GL_IR_INSTRUMENT1_SGIX",            # 0x817F
817     "GL_INSTRUMENT_BUFFER_POINTER_SGIX", # 0x8180
818     "GL_INSTRUMENT_MEASUREMENTS_SGIX",   # 0x8181
819     "GL_LIST_PRIORITY_SGIX",             # 0x8182
820     "GL_CALLIGRAPHIC_FRAGMENT_SGIX",     # 0x8183
821     "GL_PIXEL_TEX_GEN_Q_CEILING_SGIX",   # 0x8184
822     "GL_PIXEL_TEX_GEN_Q_ROUND_SGIX",     # 0x8185
823     "GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX",     # 0x8186
824     "GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX", # 0x8187
825     "GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX", # 0x8188
826     "GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX",    # 0x8189
827     "GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX",    # 0x818A
828     "GL_FRAMEZOOM_SGIX",                 # 0x818B
829     "GL_FRAMEZOOM_FACTOR_SGIX",          # 0x818C
830     "GL_MAX_FRAMEZOOM_FACTOR_SGIX",      # 0x818D
831     "GL_TEXTURE_LOD_BIAS_S_SGIX",        # 0x818E
832     "GL_TEXTURE_LOD_BIAS_T_SGIX",        # 0x818F
833     "GL_TEXTURE_LOD_BIAS_R_SGIX",        # 0x8190
834     "GL_GENERATE_MIPMAP",                # 0x8191
835     "GL_GENERATE_MIPMAP_HINT",           # 0x8192
836     "GL_GEOMETRY_DEFORMATION_SGIX",      # 0x8194
837     "GL_TEXTURE_DEFORMATION_SGIX",       # 0x8195
838     "GL_DEFORMATIONS_MASK_SGIX",         # 0x8196
839     "GL_MAX_DEFORMATION_ORDER_SGIX",     # 0x8197
840     "GL_FOG_OFFSET_SGIX",                # 0x8198
841     "GL_FOG_OFFSET_VALUE_SGIX",          # 0x8199
842     "GL_TEXTURE_COMPARE_SGIX",           # 0x819A
843     "GL_TEXTURE_COMPARE_OPERATOR_SGIX",  # 0x819B
844     "GL_TEXTURE_LEQUAL_R_SGIX",          # 0x819C
845     "GL_TEXTURE_GEQUAL_R_SGIX",          # 0x819D
846     "GL_DEPTH_COMPONENT16",              # 0x81A5
847     "GL_DEPTH_COMPONENT24",              # 0x81A6
848     "GL_DEPTH_COMPONENT32",              # 0x81A7
849     "GL_ARRAY_ELEMENT_LOCK_FIRST_EXT",   # 0x81A8
850     "GL_ARRAY_ELEMENT_LOCK_COUNT_EXT",   # 0x81A9
851     "GL_CULL_VERTEX_EXT",                # 0x81AA
852     "GL_CULL_VERTEX_EYE_POSITION_EXT",   # 0x81AB
853     "GL_CULL_VERTEX_OBJECT_POSITION_EXT",# 0x81AC
854     "GL_IUI_V2F_EXT",                    # 0x81AD
855     "GL_IUI_V3F_EXT",                    # 0x81AE
856     "GL_IUI_N3F_V2F_EXT",                # 0x81AF
857     "GL_IUI_N3F_V3F_EXT",                # 0x81B0
858     "GL_T2F_IUI_V2F_EXT",                # 0x81B1
859     "GL_T2F_IUI_V3F_EXT",                # 0x81B2
860     "GL_T2F_IUI_N3F_V2F_EXT",            # 0x81B3
861     "GL_T2F_IUI_N3F_V3F_EXT",            # 0x81B4
862     "GL_INDEX_TEST_EXT",                 # 0x81B5
863     "GL_INDEX_TEST_FUNC_EXT",            # 0x81B6
864     "GL_INDEX_TEST_REF_EXT",             # 0x81B7
865     "GL_INDEX_MATERIAL_EXT",             # 0x81B8
866     "GL_INDEX_MATERIAL_PARAMETER_EXT",   # 0x81B9
867     "GL_INDEX_MATERIAL_FACE_EXT",        # 0x81BA
868     "GL_YCRCB_422_SGIX",                 # 0x81BB
869     "GL_YCRCB_444_SGIX",                 # 0x81BC
870     "GL_WRAP_BORDER_SUN",                # 0x81D4
871     "GL_UNPACK_CONSTANT_DATA_SUNX",      # 0x81D5
872     "GL_TEXTURE_CONSTANT_DATA_SUNX",     # 0x81D6
873     "GL_TRIANGLE_LIST_SUN",              # 0x81D7
874     "GL_REPLACEMENT_CODE_SUN",           # 0x81D8
875     "GL_GLOBAL_ALPHA_SUN",               # 0x81D9
876     "GL_GLOBAL_ALPHA_FACTOR_SUN",        # 0x81DA
877     "GL_TEXTURE_COLOR_WRITEMASK_SGIS",   # 0x81EF
878     "GL_EYE_DISTANCE_TO_POINT_SGIS",     # 0x81F0
879     "GL_OBJECT_DISTANCE_TO_POINT_SGIS",  # 0x81F1
880     "GL_EYE_DISTANCE_TO_LINE_SGIS",      # 0x81F2
881     "GL_OBJECT_DISTANCE_TO_LINE_SGIS",   # 0x81F3
882     "GL_EYE_POINT_SGIS",                 # 0x81F4
883     "GL_OBJECT_POINT_SGIS",              # 0x81F5
884     "GL_EYE_LINE_SGIS",                  # 0x81F6
885     "GL_OBJECT_LINE_SGIS",               # 0x81F7
886     "GL_LIGHT_MODEL_COLOR_CONTROL",      # 0x81F8
887     "GL_SINGLE_COLOR",                   # 0x81F9
888     "GL_SEPARATE_SPECULAR_COLOR",        # 0x81FA
889     "GL_SHARED_TEXTURE_PALETTE_EXT",     # 0x81FB
890     "GL_FOG_SCALE_SGIX",                 # 0x81FC
891     "GL_FOG_SCALE_VALUE_SGIX",           # 0x81FD
892     "GL_TEXT_FRAGMENT_SHADER_ATI",       # 0x8200
893     "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING", # 0x8210
894     "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE", # 0x8211
895     "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE",# 0x8212
896     "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE", # 0x8213
897     "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE", # 0x8214
898     "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE", # 0x8215
899     "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE", # 0x8216
900     "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE", # 0x8217
901     "GL_FRAMEBUFFER_DEFAULT",            # 0x8218
902     "GL_FRAMEBUFFER_UNDEFINED",          # 0x8219
903     "GL_DEPTH_STENCIL_ATTACHMENT",       # 0x821A
904     "GL_MAJOR_VERSION",                  # 0x821B
905     "GL_MINOR_VERSION",                  # 0x821C
906     "GL_NUM_EXTENSIONS",                 # 0x821D
907     "GL_CONTEXT_FLAGS",                  # 0x821E
908     "GL_INDEX",                          # 0x8222
909     "GL_DEPTH_BUFFER",                   # 0x8223
910     "GL_STENCIL_BUFFER",                 # 0x8224
911     "GL_COMPRESSED_RED",                 # 0x8225
912     "GL_COMPRESSED_RG",                  # 0x8226
913     "GL_RG",                             # 0x8227
914     "GL_RG_INTEGER",                     # 0x8228
915     "GL_R8",                             # 0x8229
916     "GL_R16",                            # 0x822A
917     "GL_RG8",                            # 0x822B
918     "GL_RG16",                           # 0x822C
919     "GL_R16F",                           # 0x822D
920     "GL_R32F",                           # 0x822E
921     "GL_RG16F",                          # 0x822F
922     "GL_RG32F",                          # 0x8230
923     "GL_R8I",                            # 0x8231
924     "GL_R8UI",                           # 0x8232
925     "GL_R16I",                           # 0x8233
926     "GL_R16UI",                          # 0x8234
927     "GL_R32I",                           # 0x8235
928     "GL_R32UI",                          # 0x8236
929     "GL_RG8I",                           # 0x8237
930     "GL_RG8UI",                          # 0x8238
931     "GL_RG16I",                          # 0x8239
932     "GL_RG16UI",                         # 0x823A
933     "GL_RG32I",                          # 0x823B
934     "GL_RG32UI",                         # 0x823C
935     "GL_DEPTH_PASS_INSTRUMENT_SGIX",     # 0x8310
936     "GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX", # 0x8311
937     "GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX", # 0x8312
938     "GL_CONVOLUTION_HINT_SGIX",          # 0x8316
939     "GL_YCRCB_SGIX",                     # 0x8318
940     "GL_YCRCBA_SGIX",                    # 0x8319
941     "GL_ALPHA_MIN_SGIX",                 # 0x8320
942     "GL_ALPHA_MAX_SGIX",                 # 0x8321
943     "GL_SCALEBIAS_HINT_SGIX",            # 0x8322
944     "GL_ASYNC_MARKER_SGIX",              # 0x8329
945     "GL_PIXEL_TEX_GEN_MODE_SGIX",        # 0x832B
946     "GL_ASYNC_HISTOGRAM_SGIX",           # 0x832C
947     "GL_MAX_ASYNC_HISTOGRAM_SGIX",       # 0x832D
948     "GL_PIXEL_TRANSFORM_2D_EXT",         # 0x8330
949     "GL_PIXEL_MAG_FILTER_EXT",           # 0x8331
950     "GL_PIXEL_MIN_FILTER_EXT",           # 0x8332
951     "GL_PIXEL_CUBIC_WEIGHT_EXT",         # 0x8333
952     "GL_CUBIC_EXT",                      # 0x8334
953     "GL_AVERAGE_EXT",                    # 0x8335
954     "GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT", # 0x8336
955     "GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT", # 0x8337
956     "GL_PIXEL_TRANSFORM_2D_MATRIX_EXT",  # 0x8338
957     "GL_FRAGMENT_MATERIAL_EXT",          # 0x8349
958     "GL_FRAGMENT_NORMAL_EXT",            # 0x834A
959     "GL_FRAGMENT_COLOR_EXT",             # 0x834C
960     "GL_ATTENUATION_EXT",                # 0x834D
961     "GL_SHADOW_ATTENUATION_EXT",         # 0x834E
962     "GL_TEXTURE_APPLICATION_MODE_EXT",   # 0x834F
963     "GL_TEXTURE_LIGHT_EXT",              # 0x8350
964     "GL_TEXTURE_MATERIAL_FACE_EXT",      # 0x8351
965     "GL_TEXTURE_MATERIAL_PARAMETER_EXT", # 0x8352
966     "GL_PIXEL_TEXTURE_SGIS",             # 0x8353
967     "GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS", # 0x8354
968     "GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS", # 0x8355
969     "GL_PIXEL_GROUP_COLOR_SGIS",         # 0x8356
970     "GL_ASYNC_TEX_IMAGE_SGIX",           # 0x835C
971     "GL_ASYNC_DRAW_PIXELS_SGIX",         # 0x835D
972     "GL_ASYNC_READ_PIXELS_SGIX",         # 0x835E
973     "GL_MAX_ASYNC_TEX_IMAGE_SGIX",       # 0x835F
974     "GL_MAX_ASYNC_DRAW_PIXELS_SGIX",     # 0x8360
975     "GL_MAX_ASYNC_READ_PIXELS_SGIX",     # 0x8361
976     "GL_UNSIGNED_BYTE_2_3_3_REV",        # 0x8362
977     "GL_UNSIGNED_SHORT_5_6_5",           # 0x8363
978     "GL_UNSIGNED_SHORT_5_6_5_REV",       # 0x8364
979     "GL_UNSIGNED_SHORT_4_4_4_4_REV",     # 0x8365
980     "GL_UNSIGNED_SHORT_1_5_5_5_REV",     # 0x8366
981     "GL_UNSIGNED_INT_8_8_8_8_REV",       # 0x8367
982     "GL_UNSIGNED_INT_2_10_10_10_REV",    # 0x8368
983     "GL_TEXTURE_MAX_CLAMP_S_SGIX",       # 0x8369
984     "GL_TEXTURE_MAX_CLAMP_T_SGIX",       # 0x836A
985     "GL_TEXTURE_MAX_CLAMP_R_SGIX",       # 0x836B
986     "GL_MIRRORED_REPEAT",                # 0x8370
987     "GL_RGB_S3TC",                       # 0x83A0
988     "GL_RGB4_S3TC",                      # 0x83A1
989     "GL_RGBA_S3TC",                      # 0x83A2
990     "GL_RGBA4_S3TC",                     # 0x83A3
991     "GL_VERTEX_PRECLIP_SGIX",            # 0x83EE
992     "GL_VERTEX_PRECLIP_HINT_SGIX",       # 0x83EF
993     "GL_COMPRESSED_RGB_S3TC_DXT1_EXT",   # 0x83F0
994     "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT",  # 0x83F1
995     "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT",  # 0x83F2
996     "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT",  # 0x83F3
997     "GL_PARALLEL_ARRAYS_INTEL",          # 0x83F4
998     "GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL", # 0x83F5
999     "GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL", # 0x83F6
1000     "GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL", # 0x83F7
1001     "GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL", # 0x83F8
1002     "GL_FRAGMENT_LIGHTING_SGIX",         # 0x8400
1003     "GL_FRAGMENT_COLOR_MATERIAL_SGIX",   # 0x8401
1004     "GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX", # 0x8402
1005     "GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX", # 0x8403
1006     "GL_MAX_FRAGMENT_LIGHTS_SGIX",       # 0x8404
1007     "GL_MAX_ACTIVE_LIGHTS_SGIX",         # 0x8405
1008     "GL_CURRENT_RASTER_NORMAL_SGIX",     # 0x8406
1009     "GL_LIGHT_ENV_MODE_SGIX",            # 0x8407
1010     "GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX", # 0x8408
1011     "GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX", # 0x8409
1012     "GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX", # 0x840A
1013     "GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX", # 0x840B
1014     "GL_FRAGMENT_LIGHT0_SGIX",           # 0x840C
1015     "GL_FRAGMENT_LIGHT1_SGIX",           # 0x840D
1016     "GL_FRAGMENT_LIGHT2_SGIX",           # 0x840E
1017     "GL_FRAGMENT_LIGHT3_SGIX",           # 0x840F
1018     "GL_FRAGMENT_LIGHT4_SGIX",           # 0x8410
1019     "GL_FRAGMENT_LIGHT5_SGIX",           # 0x8411
1020     "GL_FRAGMENT_LIGHT6_SGIX",           # 0x8412
1021     "GL_FRAGMENT_LIGHT7_SGIX",           # 0x8413
1022     "GL_PACK_RESAMPLE_SGIX",             # 0x842C
1023     "GL_UNPACK_RESAMPLE_SGIX",           # 0x842D
1024     "GL_RESAMPLE_REPLICATE_SGIX",        # 0x842E
1025     "GL_RESAMPLE_ZERO_FILL_SGIX",        # 0x842F
1026     "GL_RESAMPLE_DECIMATE_SGIX",         # 0x8430
1027     "GL_TANGENT_ARRAY_EXT",              # 0x8439
1028     "GL_BINORMAL_ARRAY_EXT",             # 0x843A
1029     "GL_CURRENT_TANGENT_EXT",            # 0x843B
1030     "GL_CURRENT_BINORMAL_EXT",           # 0x843C
1031     "GL_TANGENT_ARRAY_TYPE_EXT",         # 0x843E
1032     "GL_TANGENT_ARRAY_STRIDE_EXT",       # 0x843F
1033     "GL_BINORMAL_ARRAY_TYPE_EXT",        # 0x8440
1034     "GL_BINORMAL_ARRAY_STRIDE_EXT",      # 0x8441
1035     "GL_TANGENT_ARRAY_POINTER_EXT",      # 0x8442
1036     "GL_BINORMAL_ARRAY_POINTER_EXT",     # 0x8443
1037     "GL_MAP1_TANGENT_EXT",               # 0x8444
1038     "GL_MAP2_TANGENT_EXT",               # 0x8445
1039     "GL_MAP1_BINORMAL_EXT",              # 0x8446
1040     "GL_MAP2_BINORMAL_EXT",              # 0x8447
1041     "GL_NEAREST_CLIPMAP_NEAREST_SGIX",   # 0x844D
1042     "GL_NEAREST_CLIPMAP_LINEAR_SGIX",    # 0x844E
1043     "GL_LINEAR_CLIPMAP_NEAREST_SGIX",    # 0x844F
1044     "GL_FOG_COORD_SRC",                  # 0x8450
1045     "GL_FOG_COORD",                      # 0x8451
1046     "GL_FRAGMENT_DEPTH",                 # 0x8452
1047     "GL_CURRENT_FOG_COORD",              # 0x8453
1048     "GL_FOG_COORD_ARRAY_TYPE",           # 0x8454
1049     "GL_FOG_COORD_ARRAY_STRIDE",         # 0x8455
1050     "GL_FOG_COORD_ARRAY_POINTER",        # 0x8456
1051     "GL_FOG_COORD_ARRAY",                # 0x8457
1052     "GL_COLOR_SUM",                      # 0x8458
1053     "GL_CURRENT_SECONDARY_COLOR",        # 0x8459
1054     "GL_SECONDARY_COLOR_ARRAY_SIZE",     # 0x845A
1055     "GL_SECONDARY_COLOR_ARRAY_TYPE",     # 0x845B
1056     "GL_SECONDARY_COLOR_ARRAY_STRIDE",   # 0x845C
1057     "GL_SECONDARY_COLOR_ARRAY_POINTER",  # 0x845D
1058     "GL_SECONDARY_COLOR_ARRAY",          # 0x845E
1059     "GL_CURRENT_RASTER_SECONDARY_COLOR", # 0x845F
1060     "GL_ALIASED_POINT_SIZE_RANGE",       # 0x846D
1061     "GL_ALIASED_LINE_WIDTH_RANGE",       # 0x846E
1062     "GL_SCREEN_COORDINATES_REND",        # 0x8490
1063     "GL_INVERTED_SCREEN_W_REND",         # 0x8491
1064     "GL_TEXTURE0",                       # 0x84C0
1065     "GL_TEXTURE1",                       # 0x84C1
1066     "GL_TEXTURE2",                       # 0x84C2
1067     "GL_TEXTURE3",                       # 0x84C3
1068     "GL_TEXTURE4",                       # 0x84C4
1069     "GL_TEXTURE5",                       # 0x84C5
1070     "GL_TEXTURE6",                       # 0x84C6
1071     "GL_TEXTURE7",                       # 0x84C7
1072     "GL_TEXTURE8",                       # 0x84C8
1073     "GL_TEXTURE9",                       # 0x84C9
1074     "GL_TEXTURE10",                      # 0x84CA
1075     "GL_TEXTURE11",                      # 0x84CB
1076     "GL_TEXTURE12",                      # 0x84CC
1077     "GL_TEXTURE13",                      # 0x84CD
1078     "GL_TEXTURE14",                      # 0x84CE
1079     "GL_TEXTURE15",                      # 0x84CF
1080     "GL_TEXTURE16",                      # 0x84D0
1081     "GL_TEXTURE17",                      # 0x84D1
1082     "GL_TEXTURE18",                      # 0x84D2
1083     "GL_TEXTURE19",                      # 0x84D3
1084     "GL_TEXTURE20",                      # 0x84D4
1085     "GL_TEXTURE21",                      # 0x84D5
1086     "GL_TEXTURE22",                      # 0x84D6
1087     "GL_TEXTURE23",                      # 0x84D7
1088     "GL_TEXTURE24",                      # 0x84D8
1089     "GL_TEXTURE25",                      # 0x84D9
1090     "GL_TEXTURE26",                      # 0x84DA
1091     "GL_TEXTURE27",                      # 0x84DB
1092     "GL_TEXTURE28",                      # 0x84DC
1093     "GL_TEXTURE29",                      # 0x84DD
1094     "GL_TEXTURE30",                      # 0x84DE
1095     "GL_TEXTURE31",                      # 0x84DF
1096     "GL_ACTIVE_TEXTURE",                 # 0x84E0
1097     "GL_CLIENT_ACTIVE_TEXTURE",          # 0x84E1
1098     "GL_MAX_TEXTURE_UNITS",              # 0x84E2
1099     "GL_TRANSPOSE_MODELVIEW_MATRIX",     # 0x84E3
1100     "GL_TRANSPOSE_PROJECTION_MATRIX",    # 0x84E4
1101     "GL_TRANSPOSE_TEXTURE_MATRIX",       # 0x84E5
1102     "GL_TRANSPOSE_COLOR_MATRIX",         # 0x84E6
1103     "GL_SUBTRACT",                       # 0x84E7
1104     "GL_MAX_RENDERBUFFER_SIZE",          # 0x84E8
1105     "GL_COMPRESSED_ALPHA",               # 0x84E9
1106     "GL_COMPRESSED_LUMINANCE",           # 0x84EA
1107     "GL_COMPRESSED_LUMINANCE_ALPHA",     # 0x84EB
1108     "GL_COMPRESSED_INTENSITY",           # 0x84EC
1109     "GL_COMPRESSED_RGB",                 # 0x84ED
1110     "GL_COMPRESSED_RGBA",                # 0x84EE
1111     "GL_TEXTURE_COMPRESSION_HINT",       # 0x84EF
1112     "GL_ALL_COMPLETED_NV",               # 0x84F2
1113     "GL_FENCE_STATUS_NV",                # 0x84F3
1114     "GL_FENCE_CONDITION_NV",             # 0x84F4
1115     "GL_TEXTURE_RECTANGLE",              # 0x84F5
1116     "GL_TEXTURE_BINDING_RECTANGLE",      # 0x84F6
1117     "GL_PROXY_TEXTURE_RECTANGLE",        # 0x84F7
1118     "GL_MAX_RECTANGLE_TEXTURE_SIZE",     # 0x84F8
1119     "GL_DEPTH_STENCIL",                  # 0x84F9
1120     "GL_UNSIGNED_INT_24_8",              # 0x84FA
1121     "GL_MAX_TEXTURE_LOD_BIAS",           # 0x84FD
1122     "GL_TEXTURE_MAX_ANISOTROPY_EXT",     # 0x84FE
1123     "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", # 0x84FF
1124     "GL_TEXTURE_FILTER_CONTROL",         # 0x8500
1125     "GL_TEXTURE_LOD_BIAS",               # 0x8501
1126     "GL_MODELVIEW1_STACK_DEPTH_EXT",     # 0x8502
1127     "GL_COMBINE4_NV",                    # 0x8503
1128     "GL_MAX_SHININESS_NV",               # 0x8504
1129     "GL_MAX_SPOT_EXPONENT_NV",           # 0x8505
1130     "GL_MODELVIEW1_MATRIX_EXT",          # 0x8506
1131     "GL_INCR_WRAP",                      # 0x8507
1132     "GL_DECR_WRAP",                      # 0x8508
1133     "GL_VERTEX_WEIGHTING_EXT",           # 0x8509
1134     "GL_MODELVIEW1_ARB",                 # 0x850A
1135     "GL_CURRENT_VERTEX_WEIGHT_EXT",      # 0x850B
1136     "GL_VERTEX_WEIGHT_ARRAY_EXT",        # 0x850C
1137     "GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT",   # 0x850D
1138     "GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT",   # 0x850E
1139     "GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT", # 0x850F
1140     "GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT",# 0x8510
1141     "GL_NORMAL_MAP",                     # 0x8511
1142     "GL_REFLECTION_MAP",                 # 0x8512
1143     "GL_TEXTURE_CUBE_MAP",               # 0x8513
1144     "GL_TEXTURE_BINDING_CUBE_MAP",       # 0x8514
1145     "GL_TEXTURE_CUBE_MAP_POSITIVE_X",    # 0x8515
1146     "GL_TEXTURE_CUBE_MAP_NEGATIVE_X",    # 0x8516
1147     "GL_TEXTURE_CUBE_MAP_POSITIVE_Y",    # 0x8517
1148     "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y",    # 0x8518
1149     "GL_TEXTURE_CUBE_MAP_POSITIVE_Z",    # 0x8519
1150     "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z",    # 0x851A
1151     "GL_PROXY_TEXTURE_CUBE_MAP",         # 0x851B
1152     "GL_MAX_CUBE_MAP_TEXTURE_SIZE",      # 0x851C
1153     "GL_VERTEX_ARRAY_RANGE_NV",          # 0x851D
1154     "GL_VERTEX_ARRAY_RANGE_LENGTH_NV",   # 0x851E
1155     "GL_VERTEX_ARRAY_RANGE_VALID_NV",    # 0x851F
1156     "GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV", # 0x8520
1157     "GL_VERTEX_ARRAY_RANGE_POINTER_NV",  # 0x8521
1158     "GL_REGISTER_COMBINERS_NV",          # 0x8522
1159     "GL_VARIABLE_A_NV",                  # 0x8523
1160     "GL_VARIABLE_B_NV",                  # 0x8524
1161     "GL_VARIABLE_C_NV",                  # 0x8525
1162     "GL_VARIABLE_D_NV",                  # 0x8526
1163     "GL_VARIABLE_E_NV",                  # 0x8527
1164     "GL_VARIABLE_F_NV",                  # 0x8528
1165     "GL_VARIABLE_G_NV",                  # 0x8529
1166     "GL_CONSTANT_COLOR0_NV",             # 0x852A
1167     "GL_CONSTANT_COLOR1_NV",             # 0x852B
1168     "GL_PRIMARY_COLOR_NV",               # 0x852C
1169     "GL_SECONDARY_COLOR_NV",             # 0x852D
1170     "GL_SPARE0_NV",                      # 0x852E
1171     "GL_SPARE1_NV",                      # 0x852F
1172     "GL_DISCARD_NV",                     # 0x8530
1173     "GL_E_TIMES_F_NV",                   # 0x8531
1174     "GL_SPARE0_PLUS_SECONDARY_COLOR_NV", # 0x8532
1175     "GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV", # 0x8533
1176     "GL_MULTISAMPLE_FILTER_HINT_NV",     # 0x8534
1177     "GL_PER_STAGE_CONSTANTS_NV",         # 0x8535
1178     "GL_UNSIGNED_IDENTITY_NV",           # 0x8536
1179     "GL_UNSIGNED_INVERT_NV",             # 0x8537
1180     "GL_EXPAND_NORMAL_NV",               # 0x8538
1181     "GL_EXPAND_NEGATE_NV",               # 0x8539
1182     "GL_HALF_BIAS_NORMAL_NV",            # 0x853A
1183     "GL_HALF_BIAS_NEGATE_NV",            # 0x853B
1184     "GL_SIGNED_IDENTITY_NV",             # 0x853C
1185     "GL_SIGNED_NEGATE_NV",               # 0x853D
1186     "GL_SCALE_BY_TWO_NV",                # 0x853E
1187     "GL_SCALE_BY_FOUR_NV",               # 0x853F
1188     "GL_SCALE_BY_ONE_HALF_NV",           # 0x8540
1189     "GL_BIAS_BY_NEGATIVE_ONE_HALF_NV",   # 0x8541
1190     "GL_COMBINER_INPUT_NV",              # 0x8542
1191     "GL_COMBINER_MAPPING_NV",            # 0x8543
1192     "GL_COMBINER_COMPONENT_USAGE_NV",    # 0x8544
1193     "GL_COMBINER_AB_DOT_PRODUCT_NV",     # 0x8545
1194     "GL_COMBINER_CD_DOT_PRODUCT_NV",     # 0x8546
1195     "GL_COMBINER_MUX_SUM_NV",            # 0x8547
1196     "GL_COMBINER_SCALE_NV",              # 0x8548
1197     "GL_COMBINER_BIAS_NV",               # 0x8549
1198     "GL_COMBINER_AB_OUTPUT_NV",          # 0x854A
1199     "GL_COMBINER_CD_OUTPUT_NV",          # 0x854B
1200     "GL_COMBINER_SUM_OUTPUT_NV",         # 0x854C
1201     "GL_MAX_GENERAL_COMBINERS_NV",       # 0x854D
1202     "GL_NUM_GENERAL_COMBINERS_NV",       # 0x854E
1203     "GL_COLOR_SUM_CLAMP_NV",             # 0x854F
1204     "GL_COMBINER0_NV",                   # 0x8550
1205     "GL_COMBINER1_NV",                   # 0x8551
1206     "GL_COMBINER2_NV",                   # 0x8552
1207     "GL_COMBINER3_NV",                   # 0x8553
1208     "GL_COMBINER4_NV",                   # 0x8554
1209     "GL_COMBINER5_NV",                   # 0x8555
1210     "GL_COMBINER6_NV",                   # 0x8556
1211     "GL_COMBINER7_NV",                   # 0x8557
1212     "GL_PRIMITIVE_RESTART_NV",           # 0x8558
1213     "GL_PRIMITIVE_RESTART_INDEX_NV",     # 0x8559
1214     "GL_FOG_DISTANCE_MODE_NV",           # 0x855A
1215     "GL_EYE_RADIAL_NV",                  # 0x855B
1216     "GL_EYE_PLANE_ABSOLUTE_NV",          # 0x855C
1217     "GL_EMBOSS_LIGHT_NV",                # 0x855D
1218     "GL_EMBOSS_CONSTANT_NV",             # 0x855E
1219     "GL_EMBOSS_MAP_NV",                  # 0x855F
1220     "GL_RED_MIN_CLAMP_INGR",             # 0x8560
1221     "GL_GREEN_MIN_CLAMP_INGR",           # 0x8561
1222     "GL_BLUE_MIN_CLAMP_INGR",            # 0x8562
1223     "GL_ALPHA_MIN_CLAMP_INGR",           # 0x8563
1224     "GL_RED_MAX_CLAMP_INGR",             # 0x8564
1225     "GL_GREEN_MAX_CLAMP_INGR",           # 0x8565
1226     "GL_BLUE_MAX_CLAMP_INGR",            # 0x8566
1227     "GL_ALPHA_MAX_CLAMP_INGR",           # 0x8567
1228     "GL_INTERLACE_READ_INGR",            # 0x8568
1229     "GL_COMBINE",                        # 0x8570
1230     "GL_COMBINE_RGB",                    # 0x8571
1231     "GL_COMBINE_ALPHA",                  # 0x8572
1232     "GL_RGB_SCALE",                      # 0x8573
1233     "GL_ADD_SIGNED",                     # 0x8574
1234     "GL_INTERPOLATE",                    # 0x8575
1235     "GL_CONSTANT",                       # 0x8576
1236     "GL_PRIMARY_COLOR",                  # 0x8577
1237     "GL_PREVIOUS",                       # 0x8578
1238     "GL_SOURCE0_RGB",                    # 0x8580
1239     "GL_SOURCE1_RGB",                    # 0x8581
1240     "GL_SOURCE2_RGB",                    # 0x8582
1241     "GL_SOURCE3_RGB_NV",                 # 0x8583
1242     "GL_SOURCE0_ALPHA",                  # 0x8588
1243     "GL_SOURCE1_ALPHA",                  # 0x8589
1244     "GL_SOURCE2_ALPHA",                  # 0x858A
1245     "GL_OPERAND0_RGB",                   # 0x8590
1246     "GL_OPERAND1_RGB",                   # 0x8591
1247     "GL_OPERAND2_RGB",                   # 0x8592
1248     "GL_OPERAND3_RGB_NV",                # 0x8593
1249     "GL_OPERAND0_ALPHA",                 # 0x8598
1250     "GL_OPERAND1_ALPHA",                 # 0x8599
1251     "GL_OPERAND2_ALPHA",                 # 0x859A
1252     "GL_OPERAND3_ALPHA_NV",              # 0x859B
1253     "GL_PACK_SUBSAMPLE_RATE_SGIX",       # 0x85A0
1254     "GL_UNPACK_SUBSAMPLE_RATE_SGIX",     # 0x85A1
1255     "GL_PIXEL_SUBSAMPLE_4444_SGIX",      # 0x85A2
1256     "GL_PIXEL_SUBSAMPLE_2424_SGIX",      # 0x85A3
1257     "GL_PIXEL_SUBSAMPLE_4242_SGIX",      # 0x85A4
1258     "GL_PERTURB_EXT",                    # 0x85AE
1259     "GL_TEXTURE_NORMAL_EXT",             # 0x85AF
1260     "GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE", # 0x85B0
1261     "GL_TRANSFORM_HINT_APPLE",           # 0x85B1
1262     "GL_UNPACK_CLIENT_STORAGE_APPLE",    # 0x85B2
1263     "GL_VERTEX_ARRAY_BINDING",           # 0x85B5
1264     "GL_YCBCR_422_APPLE",                # 0x85B9
1265     "GL_UNSIGNED_SHORT_8_8_MESA",        # 0x85BA
1266     "GL_UNSIGNED_SHORT_8_8_REV_MESA",    # 0x85BB
1267     "GL_STORAGE_CACHED_APPLE",           # 0x85BE
1268     "GL_STORAGE_SHARED_APPLE",           # 0x85BF
1269     "GL_REPLACEMENT_CODE_ARRAY_SUN",     # 0x85C0
1270     "GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN",# 0x85C1
1271     "GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN", # 0x85C2
1272     "GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN", # 0x85C3
1273     "GL_R1UI_V3F_SUN",                   # 0x85C4
1274     "GL_R1UI_C4UB_V3F_SUN",              # 0x85C5
1275     "GL_R1UI_C3F_V3F_SUN",               # 0x85C6
1276     "GL_R1UI_N3F_V3F_SUN",               # 0x85C7
1277     "GL_R1UI_C4F_N3F_V3F_SUN",           # 0x85C8
1278     "GL_R1UI_T2F_V3F_SUN",               # 0x85C9
1279     "GL_R1UI_T2F_N3F_V3F_SUN",           # 0x85CA
1280     "GL_R1UI_T2F_C4F_N3F_V3F_SUN",       # 0x85CB
1281     "GL_SLICE_ACCUM_SUN",                # 0x85CC
1282     "GL_QUAD_MESH_SUN",                  # 0x8614
1283     "GL_TRIANGLE_MESH_SUN",              # 0x8615
1284     "GL_VERTEX_PROGRAM_NV",              # 0x8620
1285     "GL_VERTEX_STATE_PROGRAM_NV",        # 0x8621
1286     "GL_VERTEX_ATTRIB_ARRAY_ENABLED",    # 0x8622
1287     "GL_VERTEX_ATTRIB_ARRAY_SIZE",       # 0x8623
1288     "GL_VERTEX_ATTRIB_ARRAY_STRIDE",     # 0x8624
1289     "GL_VERTEX_ATTRIB_ARRAY_TYPE",       # 0x8625
1290     "GL_CURRENT_VERTEX_ATTRIB",          # 0x8626
1291     "GL_PROGRAM_LENGTH_ARB",             # 0x8627
1292     "GL_PROGRAM_STRING_ARB",             # 0x8628
1293     "GL_MODELVIEW_PROJECTION_NV",        # 0x8629
1294     "GL_IDENTITY_NV",                    # 0x862A
1295     "GL_INVERSE_NV",                     # 0x862B
1296     "GL_TRANSPOSE_NV",                   # 0x862C
1297     "GL_INVERSE_TRANSPOSE_NV",           # 0x862D
1298     "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB", # 0x862E
1299     "GL_MAX_PROGRAM_MATRICES_ARB",       # 0x862F
1300     "GL_MATRIX0_NV",                     # 0x8630
1301     "GL_MATRIX1_NV",                     # 0x8631
1302     "GL_MATRIX2_NV",                     # 0x8632
1303     "GL_MATRIX3_NV",                     # 0x8633
1304     "GL_MATRIX4_NV",                     # 0x8634
1305     "GL_MATRIX5_NV",                     # 0x8635
1306     "GL_MATRIX6_NV",                     # 0x8636
1307     "GL_MATRIX7_NV",                     # 0x8637
1308     "GL_CURRENT_MATRIX_STACK_DEPTH_ARB", # 0x8640
1309     "GL_CURRENT_MATRIX_ARB",             # 0x8641
1310     "GL_VERTEX_PROGRAM_POINT_SIZE",      # 0x8642
1311     "GL_VERTEX_PROGRAM_TWO_SIDE",        # 0x8643
1312     "GL_PROGRAM_PARAMETER_NV",           # 0x8644
1313     "GL_VERTEX_ATTRIB_ARRAY_POINTER",    # 0x8645
1314     "GL_PROGRAM_TARGET_NV",              # 0x8646
1315     "GL_PROGRAM_RESIDENT_NV",            # 0x8647
1316     "GL_TRACK_MATRIX_NV",                # 0x8648
1317     "GL_TRACK_MATRIX_TRANSFORM_NV",      # 0x8649
1318     "GL_VERTEX_PROGRAM_BINDING_NV",      # 0x864A
1319     "GL_PROGRAM_ERROR_POSITION_ARB",     # 0x864B
1320     "GL_OFFSET_TEXTURE_RECTANGLE_NV",    # 0x864C
1321     "GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV", # 0x864D
1322     "GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV", # 0x864E
1323     "GL_DEPTH_CLAMP_NV",                 # 0x864F
1324     "GL_VERTEX_ATTRIB_ARRAY0_NV",        # 0x8650
1325     "GL_VERTEX_ATTRIB_ARRAY1_NV",        # 0x8651
1326     "GL_VERTEX_ATTRIB_ARRAY2_NV",        # 0x8652
1327     "GL_VERTEX_ATTRIB_ARRAY3_NV",        # 0x8653
1328     "GL_VERTEX_ATTRIB_ARRAY4_NV",        # 0x8654
1329     "GL_VERTEX_ATTRIB_ARRAY5_NV",        # 0x8655
1330     "GL_VERTEX_ATTRIB_ARRAY6_NV",        # 0x8656
1331     "GL_VERTEX_ATTRIB_ARRAY7_NV",        # 0x8657
1332     "GL_VERTEX_ATTRIB_ARRAY8_NV",        # 0x8658
1333     "GL_VERTEX_ATTRIB_ARRAY9_NV",        # 0x8659
1334     "GL_VERTEX_ATTRIB_ARRAY10_NV",       # 0x865A
1335     "GL_VERTEX_ATTRIB_ARRAY11_NV",       # 0x865B
1336     "GL_VERTEX_ATTRIB_ARRAY12_NV",       # 0x865C
1337     "GL_VERTEX_ATTRIB_ARRAY13_NV",       # 0x865D
1338     "GL_VERTEX_ATTRIB_ARRAY14_NV",       # 0x865E
1339     "GL_VERTEX_ATTRIB_ARRAY15_NV",       # 0x865F
1340     "GL_MAP1_VERTEX_ATTRIB0_4_NV",       # 0x8660
1341     "GL_MAP1_VERTEX_ATTRIB1_4_NV",       # 0x8661
1342     "GL_MAP1_VERTEX_ATTRIB2_4_NV",       # 0x8662
1343     "GL_MAP1_VERTEX_ATTRIB3_4_NV",       # 0x8663
1344     "GL_MAP1_VERTEX_ATTRIB4_4_NV",       # 0x8664
1345     "GL_MAP1_VERTEX_ATTRIB5_4_NV",       # 0x8665
1346     "GL_MAP1_VERTEX_ATTRIB6_4_NV",       # 0x8666
1347     "GL_MAP1_VERTEX_ATTRIB7_4_NV",       # 0x8667
1348     "GL_MAP1_VERTEX_ATTRIB8_4_NV",       # 0x8668
1349     "GL_MAP1_VERTEX_ATTRIB9_4_NV",       # 0x8669
1350     "GL_MAP1_VERTEX_ATTRIB10_4_NV",      # 0x866A
1351     "GL_MAP1_VERTEX_ATTRIB11_4_NV",      # 0x866B
1352     "GL_MAP1_VERTEX_ATTRIB12_4_NV",      # 0x866C
1353     "GL_MAP1_VERTEX_ATTRIB13_4_NV",      # 0x866D
1354     "GL_MAP1_VERTEX_ATTRIB14_4_NV",      # 0x866E
1355     "GL_MAP1_VERTEX_ATTRIB15_4_NV",      # 0x866F
1356     "GL_MAP2_VERTEX_ATTRIB0_4_NV",       # 0x8670
1357     "GL_MAP2_VERTEX_ATTRIB1_4_NV",       # 0x8671
1358     "GL_MAP2_VERTEX_ATTRIB2_4_NV",       # 0x8672
1359     "GL_MAP2_VERTEX_ATTRIB3_4_NV",       # 0x8673
1360     "GL_MAP2_VERTEX_ATTRIB4_4_NV",       # 0x8674
1361     "GL_MAP2_VERTEX_ATTRIB5_4_NV",       # 0x8675
1362     "GL_MAP2_VERTEX_ATTRIB6_4_NV",       # 0x8676
1363     "GL_MAP2_VERTEX_ATTRIB7_4_NV",       # 0x8677
1364     "GL_MAP2_VERTEX_ATTRIB8_4_NV",       # 0x8678
1365     "GL_MAP2_VERTEX_ATTRIB9_4_NV",       # 0x8679
1366     "GL_MAP2_VERTEX_ATTRIB10_4_NV",      # 0x867A
1367     "GL_MAP2_VERTEX_ATTRIB11_4_NV",      # 0x867B
1368     "GL_MAP2_VERTEX_ATTRIB12_4_NV",      # 0x867C
1369     "GL_MAP2_VERTEX_ATTRIB13_4_NV",      # 0x867D
1370     "GL_MAP2_VERTEX_ATTRIB14_4_NV",      # 0x867E
1371     "GL_MAP2_VERTEX_ATTRIB15_4_NV",      # 0x867F
1372     "GL_TEXTURE_COMPRESSED_IMAGE_SIZE",  # 0x86A0
1373     "GL_TEXTURE_COMPRESSED",             # 0x86A1
1374     "GL_NUM_COMPRESSED_TEXTURE_FORMATS", # 0x86A2
1375     "GL_COMPRESSED_TEXTURE_FORMATS",     # 0x86A3
1376     "GL_MAX_VERTEX_UNITS_ARB",           # 0x86A4
1377     "GL_ACTIVE_VERTEX_UNITS_ARB",        # 0x86A5
1378     "GL_WEIGHT_SUM_UNITY_ARB",           # 0x86A6
1379     "GL_VERTEX_BLEND_ARB",               # 0x86A7
1380     "GL_CURRENT_WEIGHT_ARB",             # 0x86A8
1381     "GL_WEIGHT_ARRAY_TYPE_ARB",          # 0x86A9
1382     "GL_WEIGHT_ARRAY_STRIDE_ARB",        # 0x86AA
1383     "GL_WEIGHT_ARRAY_SIZE_ARB",          # 0x86AB
1384     "GL_WEIGHT_ARRAY_POINTER_ARB",       # 0x86AC
1385     "GL_WEIGHT_ARRAY_ARB",               # 0x86AD
1386     "GL_DOT3_RGB",                       # 0x86AE
1387     "GL_DOT3_RGBA",                      # 0x86AF
1388     "GL_COMPRESSED_RGB_FXT1_3DFX",       # 0x86B0
1389     "GL_COMPRESSED_RGBA_FXT1_3DFX",      # 0x86B1
1390     "GL_MULTISAMPLE_3DFX",               # 0x86B2
1391     "GL_SAMPLE_BUFFERS_3DFX",            # 0x86B3
1392     "GL_SAMPLES_3DFX",                   # 0x86B4
1393     "GL_EVAL_2D_NV",                     # 0x86C0
1394     "GL_EVAL_TRIANGULAR_2D_NV",          # 0x86C1
1395     "GL_MAP_TESSELLATION_NV",            # 0x86C2
1396     "GL_MAP_ATTRIB_U_ORDER_NV",          # 0x86C3
1397     "GL_MAP_ATTRIB_V_ORDER_NV",          # 0x86C4
1398     "GL_EVAL_FRACTIONAL_TESSELLATION_NV",# 0x86C5
1399     "GL_EVAL_VERTEX_ATTRIB0_NV",         # 0x86C6
1400     "GL_EVAL_VERTEX_ATTRIB1_NV",         # 0x86C7
1401     "GL_EVAL_VERTEX_ATTRIB2_NV",         # 0x86C8
1402     "GL_EVAL_VERTEX_ATTRIB3_NV",         # 0x86C9
1403     "GL_EVAL_VERTEX_ATTRIB4_NV",         # 0x86CA
1404     "GL_EVAL_VERTEX_ATTRIB5_NV",         # 0x86CB
1405     "GL_EVAL_VERTEX_ATTRIB6_NV",         # 0x86CC
1406     "GL_EVAL_VERTEX_ATTRIB7_NV",         # 0x86CD
1407     "GL_EVAL_VERTEX_ATTRIB8_NV",         # 0x86CE
1408     "GL_EVAL_VERTEX_ATTRIB9_NV",         # 0x86CF
1409     "GL_EVAL_VERTEX_ATTRIB10_NV",        # 0x86D0
1410     "GL_EVAL_VERTEX_ATTRIB11_NV",        # 0x86D1
1411     "GL_EVAL_VERTEX_ATTRIB12_NV",        # 0x86D2
1412     "GL_EVAL_VERTEX_ATTRIB13_NV",        # 0x86D3
1413     "GL_EVAL_VERTEX_ATTRIB14_NV",        # 0x86D4
1414     "GL_EVAL_VERTEX_ATTRIB15_NV",        # 0x86D5
1415     "GL_MAX_MAP_TESSELLATION_NV",        # 0x86D6
1416     "GL_MAX_RATIONAL_EVAL_ORDER_NV",     # 0x86D7
1417     "GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV", # 0x86D9
1418     "GL_UNSIGNED_INT_S8_S8_8_8_NV",      # 0x86DA
1419     "GL_UNSIGNED_INT_8_8_S8_S8_REV_NV",  # 0x86DB
1420     "GL_DSDT_MAG_INTENSITY_NV",          # 0x86DC
1421     "GL_SHADER_CONSISTENT_NV",           # 0x86DD
1422     "GL_TEXTURE_SHADER_NV",              # 0x86DE
1423     "GL_SHADER_OPERATION_NV",            # 0x86DF
1424     "GL_CULL_MODES_NV",                  # 0x86E0
1425     "GL_OFFSET_TEXTURE_MATRIX_NV",       # 0x86E1
1426     "GL_OFFSET_TEXTURE_SCALE_NV",        # 0x86E2
1427     "GL_OFFSET_TEXTURE_BIAS_NV",         # 0x86E3
1428     "GL_PREVIOUS_TEXTURE_INPUT_NV",      # 0x86E4
1429     "GL_CONST_EYE_NV",                   # 0x86E5
1430     "GL_PASS_THROUGH_NV",                # 0x86E6
1431     "GL_CULL_FRAGMENT_NV",               # 0x86E7
1432     "GL_OFFSET_TEXTURE_2D_NV",           # 0x86E8
1433     "GL_DEPENDENT_AR_TEXTURE_2D_NV",     # 0x86E9
1434     "GL_DEPENDENT_GB_TEXTURE_2D_NV",     # 0x86EA
1435     "GL_DOT_PRODUCT_NV",                 # 0x86EC
1436     "GL_DOT_PRODUCT_DEPTH_REPLACE_NV",   # 0x86ED
1437     "GL_DOT_PRODUCT_TEXTURE_2D_NV",      # 0x86EE
1438     "GL_DOT_PRODUCT_TEXTURE_3D_NV",      # 0x86EF
1439     "GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV",# 0x86F0
1440     "GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV",# 0x86F1
1441     "GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV",# 0x86F2
1442     "GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV", # 0x86F3
1443     "GL_HILO_NV",                        # 0x86F4
1444     "GL_DSDT_NV",                        # 0x86F5
1445     "GL_DSDT_MAG_NV",                    # 0x86F6
1446     "GL_DSDT_MAG_VIB_NV",                # 0x86F7
1447     "GL_HILO16_NV",                      # 0x86F8
1448     "GL_SIGNED_HILO_NV",                 # 0x86F9
1449     "GL_SIGNED_HILO16_NV",               # 0x86FA
1450     "GL_SIGNED_RGBA_NV",                 # 0x86FB
1451     "GL_SIGNED_RGBA8_NV",                # 0x86FC
1452     "GL_SIGNED_RGB_NV",                  # 0x86FE
1453     "GL_SIGNED_RGB8_NV",                 # 0x86FF
1454     "GL_SIGNED_LUMINANCE_NV",            # 0x8701
1455     "GL_SIGNED_LUMINANCE8_NV",           # 0x8702
1456     "GL_SIGNED_LUMINANCE_ALPHA_NV",      # 0x8703
1457     "GL_SIGNED_LUMINANCE8_ALPHA8_NV",    # 0x8704
1458     "GL_SIGNED_ALPHA_NV",                # 0x8705
1459     "GL_SIGNED_ALPHA8_NV",               # 0x8706
1460     "GL_SIGNED_INTENSITY_NV",            # 0x8707
1461     "GL_SIGNED_INTENSITY8_NV",           # 0x8708
1462     "GL_DSDT8_NV",                       # 0x8709
1463     "GL_DSDT8_MAG8_NV",                  # 0x870A
1464     "GL_DSDT8_MAG8_INTENSITY8_NV",       # 0x870B
1465     "GL_SIGNED_RGB_UNSIGNED_ALPHA_NV",   # 0x870C
1466     "GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV", # 0x870D
1467     "GL_HI_SCALE_NV",                    # 0x870E
1468     "GL_LO_SCALE_NV",                    # 0x870F
1469     "GL_DS_SCALE_NV",                    # 0x8710
1470     "GL_DT_SCALE_NV",                    # 0x8711
1471     "GL_MAGNITUDE_SCALE_NV",             # 0x8712
1472     "GL_VIBRANCE_SCALE_NV",              # 0x8713
1473     "GL_HI_BIAS_NV",                     # 0x8714
1474     "GL_LO_BIAS_NV",                     # 0x8715
1475     "GL_DS_BIAS_NV",                     # 0x8716
1476     "GL_DT_BIAS_NV",                     # 0x8717
1477     "GL_MAGNITUDE_BIAS_NV",              # 0x8718
1478     "GL_VIBRANCE_BIAS_NV",               # 0x8719
1479     "GL_TEXTURE_BORDER_VALUES_NV",       # 0x871A
1480     "GL_TEXTURE_HI_SIZE_NV",             # 0x871B
1481     "GL_TEXTURE_LO_SIZE_NV",             # 0x871C
1482     "GL_TEXTURE_DS_SIZE_NV",             # 0x871D
1483     "GL_TEXTURE_DT_SIZE_NV",             # 0x871E
1484     "GL_TEXTURE_MAG_SIZE_NV",            # 0x871F
1485     "GL_MODELVIEW2_ARB",                 # 0x8722
1486     "GL_MODELVIEW3_ARB",                 # 0x8723
1487     "GL_MODELVIEW4_ARB",                 # 0x8724
1488     "GL_MODELVIEW5_ARB",                 # 0x8725
1489     "GL_MODELVIEW6_ARB",                 # 0x8726
1490     "GL_MODELVIEW7_ARB",                 # 0x8727
1491     "GL_MODELVIEW8_ARB",                 # 0x8728
1492     "GL_MODELVIEW9_ARB",                 # 0x8729
1493     "GL_MODELVIEW10_ARB",                # 0x872A
1494     "GL_MODELVIEW11_ARB",                # 0x872B
1495     "GL_MODELVIEW12_ARB",                # 0x872C
1496     "GL_MODELVIEW13_ARB",                # 0x872D
1497     "GL_MODELVIEW14_ARB",                # 0x872E
1498     "GL_MODELVIEW15_ARB",                # 0x872F
1499     "GL_MODELVIEW16_ARB",                # 0x8730
1500     "GL_MODELVIEW17_ARB",                # 0x8731
1501     "GL_MODELVIEW18_ARB",                # 0x8732
1502     "GL_MODELVIEW19_ARB",                # 0x8733
1503     "GL_MODELVIEW20_ARB",                # 0x8734
1504     "GL_MODELVIEW21_ARB",                # 0x8735
1505     "GL_MODELVIEW22_ARB",                # 0x8736
1506     "GL_MODELVIEW23_ARB",                # 0x8737
1507     "GL_MODELVIEW24_ARB",                # 0x8738
1508     "GL_MODELVIEW25_ARB",                # 0x8739
1509     "GL_MODELVIEW26_ARB",                # 0x873A
1510     "GL_MODELVIEW27_ARB",                # 0x873B
1511     "GL_MODELVIEW28_ARB",                # 0x873C
1512     "GL_MODELVIEW29_ARB",                # 0x873D
1513     "GL_MODELVIEW30_ARB",                # 0x873E
1514     "GL_MODELVIEW31_ARB",                # 0x873F
1515     "GL_DOT3_RGB_EXT",                   # 0x8740
1516     "GL_DOT3_RGBA_EXT",                  # 0x8741
1517     "GL_MIRROR_CLAMP_ATI",               # 0x8742
1518     "GL_MIRROR_CLAMP_TO_EDGE_ATI",       # 0x8743
1519     "GL_MODULATE_ADD_ATI",               # 0x8744
1520     "GL_MODULATE_SIGNED_ADD_ATI",        # 0x8745
1521     "GL_MODULATE_SUBTRACT_ATI",          # 0x8746
1522     "GL_YCBCR_MESA",                     # 0x8757
1523     "GL_PACK_INVERT_MESA",               # 0x8758
1524     "GL_TEXTURE_1D_STACK_MESAX",         # 0x8759
1525     "GL_TEXTURE_2D_STACK_MESAX",         # 0x875A
1526     "GL_PROXY_TEXTURE_1D_STACK_MESAX",   # 0x875B
1527     "GL_PROXY_TEXTURE_2D_STACK_MESAX",   # 0x875C
1528     "GL_TEXTURE_1D_STACK_BINDING_MESAX", # 0x875D
1529     "GL_TEXTURE_2D_STACK_BINDING_MESAX", # 0x875E
1530     "GL_STATIC_ATI",                     # 0x8760
1531     "GL_DYNAMIC_ATI",                    # 0x8761
1532     "GL_PRESERVE_ATI",                   # 0x8762
1533     "GL_DISCARD_ATI",                    # 0x8763
1534     "GL_BUFFER_SIZE",                    # 0x8764
1535     "GL_BUFFER_USAGE",                   # 0x8765
1536     "GL_ARRAY_OBJECT_BUFFER_ATI",        # 0x8766
1537     "GL_ARRAY_OBJECT_OFFSET_ATI",        # 0x8767
1538     "GL_ELEMENT_ARRAY_ATI",              # 0x8768
1539     "GL_ELEMENT_ARRAY_TYPE_ATI",         # 0x8769
1540     "GL_ELEMENT_ARRAY_POINTER_ATI",      # 0x876A
1541     "GL_MAX_VERTEX_STREAMS_ATI",         # 0x876B
1542     "GL_VERTEX_STREAM0_ATI",             # 0x876C
1543     "GL_VERTEX_STREAM1_ATI",             # 0x876D
1544     "GL_VERTEX_STREAM2_ATI",             # 0x876E
1545     "GL_VERTEX_STREAM3_ATI",             # 0x876F
1546     "GL_VERTEX_STREAM4_ATI",             # 0x8770
1547     "GL_VERTEX_STREAM5_ATI",             # 0x8771
1548     "GL_VERTEX_STREAM6_ATI",             # 0x8772
1549     "GL_VERTEX_STREAM7_ATI",             # 0x8773
1550     "GL_VERTEX_SOURCE_ATI",              # 0x8774
1551     "GL_BUMP_ROT_MATRIX_ATI",            # 0x8775
1552     "GL_BUMP_ROT_MATRIX_SIZE_ATI",       # 0x8776
1553     "GL_BUMP_NUM_TEX_UNITS_ATI",         # 0x8777
1554     "GL_BUMP_TEX_UNITS_ATI",             # 0x8778
1555     "GL_DUDV_ATI",                       # 0x8779
1556     "GL_DU8DV8_ATI",                     # 0x877A
1557     "GL_BUMP_ENVMAP_ATI",                # 0x877B
1558     "GL_BUMP_TARGET_ATI",                # 0x877C
1559     "GL_VERTEX_SHADER_EXT",              # 0x8780
1560     "GL_VERTEX_SHADER_BINDING_EXT",      # 0x8781
1561     "GL_OP_INDEX_EXT",                   # 0x8782
1562     "GL_OP_NEGATE_EXT",                  # 0x8783
1563     "GL_OP_DOT3_EXT",                    # 0x8784
1564     "GL_OP_DOT4_EXT",                    # 0x8785
1565     "GL_OP_MUL_EXT",                     # 0x8786
1566     "GL_OP_ADD_EXT",                     # 0x8787
1567     "GL_OP_MADD_EXT",                    # 0x8788
1568     "GL_OP_FRAC_EXT",                    # 0x8789
1569     "GL_OP_MAX_EXT",                     # 0x878A
1570     "GL_OP_MIN_EXT",                     # 0x878B
1571     "GL_OP_SET_GE_EXT",                  # 0x878C
1572     "GL_OP_SET_LT_EXT",                  # 0x878D
1573     "GL_OP_CLAMP_EXT",                   # 0x878E
1574     "GL_OP_FLOOR_EXT",                   # 0x878F
1575     "GL_OP_ROUND_EXT",                   # 0x8790
1576     "GL_OP_EXP_BASE_2_EXT",              # 0x8791
1577     "GL_OP_LOG_BASE_2_EXT",              # 0x8792
1578     "GL_OP_POWER_EXT",                   # 0x8793
1579     "GL_OP_RECIP_EXT",                   # 0x8794
1580     "GL_OP_RECIP_SQRT_EXT",              # 0x8795
1581     "GL_OP_SUB_EXT",                     # 0x8796
1582     "GL_OP_CROSS_PRODUCT_EXT",           # 0x8797
1583     "GL_OP_MULTIPLY_MATRIX_EXT",         # 0x8798
1584     "GL_OP_MOV_EXT",                     # 0x8799
1585     "GL_OUTPUT_VERTEX_EXT",              # 0x879A
1586     "GL_OUTPUT_COLOR0_EXT",              # 0x879B
1587     "GL_OUTPUT_COLOR1_EXT",              # 0x879C
1588     "GL_OUTPUT_TEXTURE_COORD0_EXT",      # 0x879D
1589     "GL_OUTPUT_TEXTURE_COORD1_EXT",      # 0x879E
1590     "GL_OUTPUT_TEXTURE_COORD2_EXT",      # 0x879F
1591     "GL_OUTPUT_TEXTURE_COORD3_EXT",      # 0x87A0
1592     "GL_OUTPUT_TEXTURE_COORD4_EXT",      # 0x87A1
1593     "GL_OUTPUT_TEXTURE_COORD5_EXT",      # 0x87A2
1594     "GL_OUTPUT_TEXTURE_COORD6_EXT",      # 0x87A3
1595     "GL_OUTPUT_TEXTURE_COORD7_EXT",      # 0x87A4
1596     "GL_OUTPUT_TEXTURE_COORD8_EXT",      # 0x87A5
1597     "GL_OUTPUT_TEXTURE_COORD9_EXT",      # 0x87A6
1598     "GL_OUTPUT_TEXTURE_COORD10_EXT",     # 0x87A7
1599     "GL_OUTPUT_TEXTURE_COORD11_EXT",     # 0x87A8
1600     "GL_OUTPUT_TEXTURE_COORD12_EXT",     # 0x87A9
1601     "GL_OUTPUT_TEXTURE_COORD13_EXT",     # 0x87AA
1602     "GL_OUTPUT_TEXTURE_COORD14_EXT",     # 0x87AB
1603     "GL_OUTPUT_TEXTURE_COORD15_EXT",     # 0x87AC
1604     "GL_OUTPUT_TEXTURE_COORD16_EXT",     # 0x87AD
1605     "GL_OUTPUT_TEXTURE_COORD17_EXT",     # 0x87AE
1606     "GL_OUTPUT_TEXTURE_COORD18_EXT",     # 0x87AF
1607     "GL_OUTPUT_TEXTURE_COORD19_EXT",     # 0x87B0
1608     "GL_OUTPUT_TEXTURE_COORD20_EXT",     # 0x87B1
1609     "GL_OUTPUT_TEXTURE_COORD21_EXT",     # 0x87B2
1610     "GL_OUTPUT_TEXTURE_COORD22_EXT",     # 0x87B3
1611     "GL_OUTPUT_TEXTURE_COORD23_EXT",     # 0x87B4
1612     "GL_OUTPUT_TEXTURE_COORD24_EXT",     # 0x87B5
1613     "GL_OUTPUT_TEXTURE_COORD25_EXT",     # 0x87B6
1614     "GL_OUTPUT_TEXTURE_COORD26_EXT",     # 0x87B7
1615     "GL_OUTPUT_TEXTURE_COORD27_EXT",     # 0x87B8
1616     "GL_OUTPUT_TEXTURE_COORD28_EXT",     # 0x87B9
1617     "GL_OUTPUT_TEXTURE_COORD29_EXT",     # 0x87BA
1618     "GL_OUTPUT_TEXTURE_COORD30_EXT",     # 0x87BB
1619     "GL_OUTPUT_TEXTURE_COORD31_EXT",     # 0x87BC
1620     "GL_OUTPUT_FOG_EXT",                 # 0x87BD
1621     "GL_SCALAR_EXT",                     # 0x87BE
1622     "GL_VECTOR_EXT",                     # 0x87BF
1623     "GL_MATRIX_EXT",                     # 0x87C0
1624     "GL_VARIANT_EXT",                    # 0x87C1
1625     "GL_INVARIANT_EXT",                  # 0x87C2
1626     "GL_LOCAL_CONSTANT_EXT",             # 0x87C3
1627     "GL_LOCAL_EXT",                      # 0x87C4
1628     "GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT", # 0x87C5
1629     "GL_MAX_VERTEX_SHADER_VARIANTS_EXT", # 0x87C6
1630     "GL_MAX_VERTEX_SHADER_INVARIANTS_EXT", # 0x87C7
1631     "GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT", # 0x87C8
1632     "GL_MAX_VERTEX_SHADER_LOCALS_EXT",   # 0x87C9
1633     "GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT", # 0x87CA
1634     "GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT", # 0x87CB
1635     "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT", # 0x87CC
1636     "GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT", # 0x87CD
1637     "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT", # 0x87CE
1638     "GL_VERTEX_SHADER_INSTRUCTIONS_EXT", # 0x87CF
1639     "GL_VERTEX_SHADER_VARIANTS_EXT",     # 0x87D0
1640     "GL_VERTEX_SHADER_INVARIANTS_EXT",   # 0x87D1
1641     "GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT", # 0x87D2
1642     "GL_VERTEX_SHADER_LOCALS_EXT",       # 0x87D3
1643     "GL_VERTEX_SHADER_OPTIMIZED_EXT",    # 0x87D4
1644     "GL_X_EXT",                          # 0x87D5
1645     "GL_Y_EXT",                          # 0x87D6
1646     "GL_Z_EXT",                          # 0x87D7
1647     "GL_W_EXT",                          # 0x87D8
1648     "GL_NEGATIVE_X_EXT",                 # 0x87D9
1649     "GL_NEGATIVE_Y_EXT",                 # 0x87DA
1650     "GL_NEGATIVE_Z_EXT",                 # 0x87DB
1651     "GL_NEGATIVE_W_EXT",                 # 0x87DC
1652     "GL_ZERO_EXT",                       # 0x87DD
1653     "GL_ONE_EXT",                        # 0x87DE
1654     "GL_NEGATIVE_ONE_EXT",               # 0x87DF
1655     "GL_NORMALIZED_RANGE_EXT",           # 0x87E0
1656     "GL_FULL_RANGE_EXT",                 # 0x87E1
1657     "GL_CURRENT_VERTEX_EXT",             # 0x87E2
1658     "GL_MVP_MATRIX_EXT",                 # 0x87E3
1659     "GL_VARIANT_VALUE_EXT",              # 0x87E4
1660     "GL_VARIANT_DATATYPE_EXT",           # 0x87E5
1661     "GL_VARIANT_ARRAY_STRIDE_EXT",       # 0x87E6
1662     "GL_VARIANT_ARRAY_TYPE_EXT",         # 0x87E7
1663     "GL_VARIANT_ARRAY_EXT",              # 0x87E8
1664     "GL_VARIANT_ARRAY_POINTER_EXT",      # 0x87E9
1665     "GL_INVARIANT_VALUE_EXT",            # 0x87EA
1666     "GL_INVARIANT_DATATYPE_EXT",         # 0x87EB
1667     "GL_LOCAL_CONSTANT_VALUE_EXT",       # 0x87EC
1668     "GL_LOCAL_CONSTANT_DATATYPE_EXT",    # 0x87ED
1669     "GL_PN_TRIANGLES_ATI",               # 0x87F0
1670     "GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI", # 0x87F1
1671     "GL_PN_TRIANGLES_POINT_MODE_ATI",    # 0x87F2
1672     "GL_PN_TRIANGLES_NORMAL_MODE_ATI",   # 0x87F3
1673     "GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI", # 0x87F4
1674     "GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI", # 0x87F5
1675     "GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI", # 0x87F6
1676     "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI", # 0x87F7
1677     "GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI", # 0x87F8
1678     "GL_VBO_FREE_MEMORY_ATI",            # 0x87FB
1679     "GL_TEXTURE_FREE_MEMORY_ATI",        # 0x87FC
1680     "GL_RENDERBUFFER_FREE_MEMORY_ATI",   # 0x87FD
1681     "GL_STENCIL_BACK_FUNC",              # 0x8800
1682     "GL_STENCIL_BACK_FAIL",              # 0x8801
1683     "GL_STENCIL_BACK_PASS_DEPTH_FAIL",   # 0x8802
1684     "GL_STENCIL_BACK_PASS_DEPTH_PASS",   # 0x8803
1685     "GL_FRAGMENT_PROGRAM_ARB",           # 0x8804
1686     "GL_PROGRAM_ALU_INSTRUCTIONS_ARB",   # 0x8805
1687     "GL_PROGRAM_TEX_INSTRUCTIONS_ARB",   # 0x8806
1688     "GL_PROGRAM_TEX_INDIRECTIONS_ARB",   # 0x8807
1689     "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", # 0x8808
1690     "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", # 0x8809
1691     "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", # 0x880A
1692     "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB", # 0x880B
1693     "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB", # 0x880C
1694     "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB", # 0x880D
1695     "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB", # 0x880E
1696     "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB", # 0x880F
1697     "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB", # 0x8810
1698     "GL_RGBA32F",                        # 0x8814
1699     "GL_RGB32F",                         # 0x8815
1700     "GL_ALPHA32F_ARB",                   # 0x8816
1701     "GL_INTENSITY32F_ARB",               # 0x8817
1702     "GL_LUMINANCE32F_ARB",               # 0x8818
1703     "GL_LUMINANCE_ALPHA32F_ARB",         # 0x8819
1704     "GL_RGBA16F",                        # 0x881A
1705     "GL_RGB16F",                         # 0x881B
1706     "GL_ALPHA16F_ARB",                   # 0x881C
1707     "GL_INTENSITY16F_ARB",               # 0x881D
1708     "GL_LUMINANCE16F_ARB",               # 0x881E
1709     "GL_LUMINANCE_ALPHA16F_ARB",         # 0x881F
1710     "GL_RGBA_FLOAT_MODE_ARB",            # 0x8820
1711     "GL_MAX_DRAW_BUFFERS",               # 0x8824
1712     "GL_DRAW_BUFFER0",                   # 0x8825
1713     "GL_DRAW_BUFFER1",                   # 0x8826
1714     "GL_DRAW_BUFFER2",                   # 0x8827
1715     "GL_DRAW_BUFFER3",                   # 0x8828
1716     "GL_DRAW_BUFFER4",                   # 0x8829
1717     "GL_DRAW_BUFFER5",                   # 0x882A
1718     "GL_DRAW_BUFFER6",                   # 0x882B
1719     "GL_DRAW_BUFFER7",                   # 0x882C
1720     "GL_DRAW_BUFFER8",                   # 0x882D
1721     "GL_DRAW_BUFFER9",                   # 0x882E
1722     "GL_DRAW_BUFFER10",                  # 0x882F
1723     "GL_DRAW_BUFFER11",                  # 0x8830
1724     "GL_DRAW_BUFFER12",                  # 0x8831
1725     "GL_DRAW_BUFFER13",                  # 0x8832
1726     "GL_DRAW_BUFFER14",                  # 0x8833
1727     "GL_DRAW_BUFFER15",                  # 0x8834
1728     "GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI",# 0x8835
1729     "GL_BLEND_EQUATION_ALPHA",           # 0x883D
1730     "GL_MATRIX_PALETTE_ARB",             # 0x8840
1731     "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB", # 0x8841
1732     "GL_MAX_PALETTE_MATRICES_ARB",       # 0x8842
1733     "GL_CURRENT_PALETTE_MATRIX_ARB",     # 0x8843
1734     "GL_MATRIX_INDEX_ARRAY_ARB",         # 0x8844
1735     "GL_CURRENT_MATRIX_INDEX_ARB",       # 0x8845
1736     "GL_MATRIX_INDEX_ARRAY_SIZE_ARB",    # 0x8846
1737     "GL_MATRIX_INDEX_ARRAY_TYPE_ARB",    # 0x8847
1738     "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB",  # 0x8848
1739     "GL_MATRIX_INDEX_ARRAY_POINTER_ARB", # 0x8849
1740     "GL_TEXTURE_DEPTH_SIZE",             # 0x884A
1741     "GL_DEPTH_TEXTURE_MODE",             # 0x884B
1742     "GL_TEXTURE_COMPARE_MODE",           # 0x884C
1743     "GL_TEXTURE_COMPARE_FUNC",           # 0x884D
1744     "GL_COMPARE_REF_TO_TEXTURE",         # 0x884E
1745     "GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV",# 0x8850
1746     "GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV", # 0x8851
1747     "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV", # 0x8852
1748     "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV", # 0x8853
1749     "GL_OFFSET_HILO_TEXTURE_2D_NV",      # 0x8854
1750     "GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV", # 0x8855
1751     "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV", # 0x8856
1752     "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV", # 0x8857
1753     "GL_DEPENDENT_HILO_TEXTURE_2D_NV",   # 0x8858
1754     "GL_DEPENDENT_RGB_TEXTURE_3D_NV",    # 0x8859
1755     "GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV", # 0x885A
1756     "GL_DOT_PRODUCT_PASS_THROUGH_NV",    # 0x885B
1757     "GL_DOT_PRODUCT_TEXTURE_1D_NV",      # 0x885C
1758     "GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV", # 0x885D
1759     "GL_HILO8_NV",                       # 0x885E
1760     "GL_SIGNED_HILO8_NV",                # 0x885F
1761     "GL_FORCE_BLUE_TO_ONE_NV",           # 0x8860
1762     "GL_POINT_SPRITE",                   # 0x8861
1763     "GL_COORD_REPLACE",                  # 0x8862
1764     "GL_POINT_SPRITE_R_MODE_NV",         # 0x8863
1765     "GL_QUERY_COUNTER_BITS",             # 0x8864
1766     "GL_CURRENT_QUERY",                  # 0x8865
1767     "GL_QUERY_RESULT",                   # 0x8866
1768     "GL_QUERY_RESULT_AVAILABLE",         # 0x8867
1769     "GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV", # 0x8868
1770     "GL_MAX_VERTEX_ATTRIBS",             # 0x8869
1771     "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED", # 0x886A
1772     "GL_DEPTH_STENCIL_TO_RGBA_NV",       # 0x886E
1773     "GL_DEPTH_STENCIL_TO_BGRA_NV",       # 0x886F
1774     "GL_FRAGMENT_PROGRAM_NV",            # 0x8870
1775     "GL_MAX_TEXTURE_COORDS",             # 0x8871
1776     "GL_MAX_TEXTURE_IMAGE_UNITS",        # 0x8872
1777     "GL_FRAGMENT_PROGRAM_BINDING_NV",    # 0x8873
1778     "GL_PROGRAM_ERROR_STRING_ARB",       # 0x8874
1779     "GL_PROGRAM_FORMAT_ASCII_ARB",       # 0x8875
1780     "GL_PROGRAM_FORMAT_ARB",             # 0x8876
1781     "GL_WRITE_PIXEL_DATA_RANGE_NV",      # 0x8878
1782     "GL_READ_PIXEL_DATA_RANGE_NV",       # 0x8879
1783     "GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV", # 0x887A
1784     "GL_READ_PIXEL_DATA_RANGE_LENGTH_NV",# 0x887B
1785     "GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV", # 0x887C
1786     "GL_READ_PIXEL_DATA_RANGE_POINTER_NV", # 0x887D
1787     "GL_FLOAT_R_NV",                     # 0x8880
1788     "GL_FLOAT_RG_NV",                    # 0x8881
1789     "GL_FLOAT_RGB_NV",                   # 0x8882
1790     "GL_FLOAT_RGBA_NV",                  # 0x8883
1791     "GL_FLOAT_R16_NV",                   # 0x8884
1792     "GL_FLOAT_R32_NV",                   # 0x8885
1793     "GL_FLOAT_RG16_NV",                  # 0x8886
1794     "GL_FLOAT_RG32_NV",                  # 0x8887
1795     "GL_FLOAT_RGB16_NV",                 # 0x8888
1796     "GL_FLOAT_RGB32_NV",                 # 0x8889
1797     "GL_FLOAT_RGBA16_NV",                # 0x888A
1798     "GL_FLOAT_RGBA32_NV",                # 0x888B
1799     "GL_TEXTURE_FLOAT_COMPONENTS_NV",    # 0x888C
1800     "GL_FLOAT_CLEAR_COLOR_VALUE_NV",     # 0x888D
1801     "GL_FLOAT_RGBA_MODE_NV",             # 0x888E
1802     "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV", # 0x888F
1803     "GL_DEPTH_BOUNDS_TEST_EXT",          # 0x8890
1804     "GL_DEPTH_BOUNDS_EXT",               # 0x8891
1805     "GL_ARRAY_BUFFER",                   # 0x8892
1806     "GL_ELEMENT_ARRAY_BUFFER",           # 0x8893
1807     "GL_ARRAY_BUFFER_BINDING",           # 0x8894
1808     "GL_ELEMENT_ARRAY_BUFFER_BINDING",   # 0x8895
1809     "GL_VERTEX_ARRAY_BUFFER_BINDING",    # 0x8896
1810     "GL_NORMAL_ARRAY_BUFFER_BINDING",    # 0x8897
1811     "GL_COLOR_ARRAY_BUFFER_BINDING",     # 0x8898
1812     "GL_INDEX_ARRAY_BUFFER_BINDING",     # 0x8899
1813     "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING", # 0x889A
1814     "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING", # 0x889B
1815     "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING", # 0x889C
1816     "GL_FOG_COORD_ARRAY_BUFFER_BINDING", # 0x889D
1817     "GL_WEIGHT_ARRAY_BUFFER_BINDING",    # 0x889E
1818     "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", # 0x889F
1819     "GL_PROGRAM_INSTRUCTIONS_ARB",       # 0x88A0
1820     "GL_MAX_PROGRAM_INSTRUCTIONS_ARB",   # 0x88A1
1821     "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB",# 0x88A2
1822     "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB", # 0x88A3
1823     "GL_PROGRAM_TEMPORARIES_ARB",        # 0x88A4
1824     "GL_MAX_PROGRAM_TEMPORARIES_ARB",    # 0x88A5
1825     "GL_PROGRAM_NATIVE_TEMPORARIES_ARB", # 0x88A6
1826     "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB", # 0x88A7
1827     "GL_PROGRAM_PARAMETERS_ARB",         # 0x88A8
1828     "GL_MAX_PROGRAM_PARAMETERS_ARB",     # 0x88A9
1829     "GL_PROGRAM_NATIVE_PARAMETERS_ARB",  # 0x88AA
1830     "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB", # 0x88AB
1831     "GL_PROGRAM_ATTRIBS_ARB",            # 0x88AC
1832     "GL_MAX_PROGRAM_ATTRIBS_ARB",        # 0x88AD
1833     "GL_PROGRAM_NATIVE_ATTRIBS_ARB",     # 0x88AE
1834     "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB", # 0x88AF
1835     "GL_PROGRAM_ADDRESS_REGISTERS_ARB",  # 0x88B0
1836     "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB", # 0x88B1
1837     "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", # 0x88B2
1838     "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB", # 0x88B3
1839     "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB", # 0x88B4
1840     "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB", # 0x88B5
1841     "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB",# 0x88B6
1842     "GL_TRANSPOSE_CURRENT_MATRIX_ARB",   # 0x88B7
1843     "GL_READ_ONLY",                      # 0x88B8
1844     "GL_WRITE_ONLY",                     # 0x88B9
1845     "GL_READ_WRITE",                     # 0x88BA
1846     "GL_BUFFER_ACCESS",                  # 0x88BB
1847     "GL_BUFFER_MAPPED",                  # 0x88BC
1848     "GL_BUFFER_MAP_POINTER",             # 0x88BD
1849     "GL_TIME_ELAPSED_EXT",               # 0x88BF
1850     "GL_MATRIX0_ARB",                    # 0x88C0
1851     "GL_MATRIX1_ARB",                    # 0x88C1
1852     "GL_MATRIX2_ARB",                    # 0x88C2
1853     "GL_MATRIX3_ARB",                    # 0x88C3
1854     "GL_MATRIX4_ARB",                    # 0x88C4
1855     "GL_MATRIX5_ARB",                    # 0x88C5
1856     "GL_MATRIX6_ARB",                    # 0x88C6
1857     "GL_MATRIX7_ARB",                    # 0x88C7
1858     "GL_MATRIX8_ARB",                    # 0x88C8
1859     "GL_MATRIX9_ARB",                    # 0x88C9
1860     "GL_MATRIX10_ARB",                   # 0x88CA
1861     "GL_MATRIX11_ARB",                   # 0x88CB
1862     "GL_MATRIX12_ARB",                   # 0x88CC
1863     "GL_MATRIX13_ARB",                   # 0x88CD
1864     "GL_MATRIX14_ARB",                   # 0x88CE
1865     "GL_MATRIX15_ARB",                   # 0x88CF
1866     "GL_MATRIX16_ARB",                   # 0x88D0
1867     "GL_MATRIX17_ARB",                   # 0x88D1
1868     "GL_MATRIX18_ARB",                   # 0x88D2
1869     "GL_MATRIX19_ARB",                   # 0x88D3
1870     "GL_MATRIX20_ARB",                   # 0x88D4
1871     "GL_MATRIX21_ARB",                   # 0x88D5
1872     "GL_MATRIX22_ARB",                   # 0x88D6
1873     "GL_MATRIX23_ARB",                   # 0x88D7
1874     "GL_MATRIX24_ARB",                   # 0x88D8
1875     "GL_MATRIX25_ARB",                   # 0x88D9
1876     "GL_MATRIX26_ARB",                   # 0x88DA
1877     "GL_MATRIX27_ARB",                   # 0x88DB
1878     "GL_MATRIX28_ARB",                   # 0x88DC
1879     "GL_MATRIX29_ARB",                   # 0x88DD
1880     "GL_MATRIX30_ARB",                   # 0x88DE
1881     "GL_MATRIX31_ARB",                   # 0x88DF
1882     "GL_STREAM_DRAW",                    # 0x88E0
1883     "GL_STREAM_READ",                    # 0x88E1
1884     "GL_STREAM_COPY",                    # 0x88E2
1885     "GL_STATIC_DRAW",                    # 0x88E4
1886     "GL_STATIC_READ",                    # 0x88E5
1887     "GL_STATIC_COPY",                    # 0x88E6
1888     "GL_DYNAMIC_DRAW",                   # 0x88E8
1889     "GL_DYNAMIC_READ",                   # 0x88E9
1890     "GL_DYNAMIC_COPY",                   # 0x88EA
1891     "GL_PIXEL_PACK_BUFFER",              # 0x88EB
1892     "GL_PIXEL_UNPACK_BUFFER",            # 0x88EC
1893     "GL_PIXEL_PACK_BUFFER_BINDING",      # 0x88ED
1894     "GL_PIXEL_UNPACK_BUFFER_BINDING",    # 0x88EF
1895     "GL_DEPTH24_STENCIL8",               # 0x88F0
1896     "GL_TEXTURE_STENCIL_SIZE",           # 0x88F1
1897     "GL_STENCIL_TAG_BITS_EXT",           # 0x88F2
1898     "GL_STENCIL_CLEAR_TAG_VALUE_EXT",    # 0x88F3
1899     "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV", # 0x88F4
1900     "GL_MAX_PROGRAM_CALL_DEPTH_NV",      # 0x88F5
1901     "GL_MAX_PROGRAM_IF_DEPTH_NV",        # 0x88F6
1902     "GL_MAX_PROGRAM_LOOP_DEPTH_NV",      # 0x88F7
1903     "GL_MAX_PROGRAM_LOOP_COUNT_NV",      # 0x88F8
1904     "GL_VERTEX_ATTRIB_ARRAY_INTEGER",    # 0x88FD
1905     "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB",# 0x88FE
1906     "GL_MAX_ARRAY_TEXTURE_LAYERS",       # 0x88FF
1907     "GL_MIN_PROGRAM_TEXEL_OFFSET",       # 0x8904
1908     "GL_MAX_PROGRAM_TEXEL_OFFSET",       # 0x8905
1909     "GL_PROGRAM_ATTRIB_COMPONENTS_NV",   # 0x8906
1910     "GL_PROGRAM_RESULT_COMPONENTS_NV",   # 0x8907
1911     "GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV", # 0x8908
1912     "GL_MAX_PROGRAM_RESULT_COMPONENTS_NV", # 0x8909
1913     "GL_STENCIL_TEST_TWO_SIDE_EXT",      # 0x8910
1914     "GL_ACTIVE_STENCIL_FACE_EXT",        # 0x8911
1915     "GL_MIRROR_CLAMP_TO_BORDER_EXT",     # 0x8912
1916     "GL_SAMPLES_PASSED",                 # 0x8914
1917     "GL_CLAMP_VERTEX_COLOR",             # 0x891A
1918     "GL_CLAMP_FRAGMENT_COLOR",           # 0x891B
1919     "GL_CLAMP_READ_COLOR",               # 0x891C
1920     "GL_FIXED_ONLY",                     # 0x891D
1921     "GL_FRAGMENT_SHADER_ATI",            # 0x8920
1922     "GL_REG_0_ATI",                      # 0x8921
1923     "GL_REG_1_ATI",                      # 0x8922
1924     "GL_REG_2_ATI",                      # 0x8923
1925     "GL_REG_3_ATI",                      # 0x8924
1926     "GL_REG_4_ATI",                      # 0x8925
1927     "GL_REG_5_ATI",                      # 0x8926
1928     "GL_REG_6_ATI",                      # 0x8927
1929     "GL_REG_7_ATI",                      # 0x8928
1930     "GL_REG_8_ATI",                      # 0x8929
1931     "GL_REG_9_ATI",                      # 0x892A
1932     "GL_REG_10_ATI",                     # 0x892B
1933     "GL_REG_11_ATI",                     # 0x892C
1934     "GL_REG_12_ATI",                     # 0x892D
1935     "GL_REG_13_ATI",                     # 0x892E
1936     "GL_REG_14_ATI",                     # 0x892F
1937     "GL_REG_15_ATI",                     # 0x8930
1938     "GL_REG_16_ATI",                     # 0x8931
1939     "GL_REG_17_ATI",                     # 0x8932
1940     "GL_REG_18_ATI",                     # 0x8933
1941     "GL_REG_19_ATI",                     # 0x8934
1942     "GL_REG_20_ATI",                     # 0x8935
1943     "GL_REG_21_ATI",                     # 0x8936
1944     "GL_REG_22_ATI",                     # 0x8937
1945     "GL_REG_23_ATI",                     # 0x8938
1946     "GL_REG_24_ATI",                     # 0x8939
1947     "GL_REG_25_ATI",                     # 0x893A
1948     "GL_REG_26_ATI",                     # 0x893B
1949     "GL_REG_27_ATI",                     # 0x893C
1950     "GL_REG_28_ATI",                     # 0x893D
1951     "GL_REG_29_ATI",                     # 0x893E
1952     "GL_REG_30_ATI",                     # 0x893F
1953     "GL_REG_31_ATI",                     # 0x8940
1954     "GL_CON_0_ATI",                      # 0x8941
1955     "GL_CON_1_ATI",                      # 0x8942
1956     "GL_CON_2_ATI",                      # 0x8943
1957     "GL_CON_3_ATI",                      # 0x8944
1958     "GL_CON_4_ATI",                      # 0x8945
1959     "GL_CON_5_ATI",                      # 0x8946
1960     "GL_CON_6_ATI",                      # 0x8947
1961     "GL_CON_7_ATI",                      # 0x8948
1962     "GL_CON_8_ATI",                      # 0x8949
1963     "GL_CON_9_ATI",                      # 0x894A
1964     "GL_CON_10_ATI",                     # 0x894B
1965     "GL_CON_11_ATI",                     # 0x894C
1966     "GL_CON_12_ATI",                     # 0x894D
1967     "GL_CON_13_ATI",                     # 0x894E
1968     "GL_CON_14_ATI",                     # 0x894F
1969     "GL_CON_15_ATI",                     # 0x8950
1970     "GL_CON_16_ATI",                     # 0x8951
1971     "GL_CON_17_ATI",                     # 0x8952
1972     "GL_CON_18_ATI",                     # 0x8953
1973     "GL_CON_19_ATI",                     # 0x8954
1974     "GL_CON_20_ATI",                     # 0x8955
1975     "GL_CON_21_ATI",                     # 0x8956
1976     "GL_CON_22_ATI",                     # 0x8957
1977     "GL_CON_23_ATI",                     # 0x8958
1978     "GL_CON_24_ATI",                     # 0x8959
1979     "GL_CON_25_ATI",                     # 0x895A
1980     "GL_CON_26_ATI",                     # 0x895B
1981     "GL_CON_27_ATI",                     # 0x895C
1982     "GL_CON_28_ATI",                     # 0x895D
1983     "GL_CON_29_ATI",                     # 0x895E
1984     "GL_CON_30_ATI",                     # 0x895F
1985     "GL_CON_31_ATI",                     # 0x8960
1986     "GL_MOV_ATI",                        # 0x8961
1987     "GL_ADD_ATI",                        # 0x8963
1988     "GL_MUL_ATI",                        # 0x8964
1989     "GL_SUB_ATI",                        # 0x8965
1990     "GL_DOT3_ATI",                       # 0x8966
1991     "GL_DOT4_ATI",                       # 0x8967
1992     "GL_MAD_ATI",                        # 0x8968
1993     "GL_LERP_ATI",                       # 0x8969
1994     "GL_CND_ATI",                        # 0x896A
1995     "GL_CND0_ATI",                       # 0x896B
1996     "GL_DOT2_ADD_ATI",                   # 0x896C
1997     "GL_SECONDARY_INTERPOLATOR_ATI",     # 0x896D
1998     "GL_NUM_FRAGMENT_REGISTERS_ATI",     # 0x896E
1999     "GL_NUM_FRAGMENT_CONSTANTS_ATI",     # 0x896F
2000     "GL_NUM_PASSES_ATI",                 # 0x8970
2001     "GL_NUM_INSTRUCTIONS_PER_PASS_ATI",  # 0x8971
2002     "GL_NUM_INSTRUCTIONS_TOTAL_ATI",     # 0x8972
2003     "GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI", # 0x8973
2004     "GL_NUM_LOOPBACK_COMPONENTS_ATI",    # 0x8974
2005     "GL_COLOR_ALPHA_PAIRING_ATI",        # 0x8975
2006     "GL_SWIZZLE_STR_ATI",                # 0x8976
2007     "GL_SWIZZLE_STQ_ATI",                # 0x8977
2008     "GL_SWIZZLE_STR_DR_ATI",             # 0x8978
2009     "GL_SWIZZLE_STQ_DQ_ATI",             # 0x8979
2010     "GL_SWIZZLE_STRQ_ATI",               # 0x897A
2011     "GL_SWIZZLE_STRQ_DQ_ATI",            # 0x897B
2012     "GL_INTERLACE_OML",                  # 0x8980
2013     "GL_INTERLACE_READ_OML",             # 0x8981
2014     "GL_FORMAT_SUBSAMPLE_24_24_OML",     # 0x8982
2015     "GL_FORMAT_SUBSAMPLE_244_244_OML",   # 0x8983
2016     "GL_PACK_RESAMPLE_OML",              # 0x8984
2017     "GL_UNPACK_RESAMPLE_OML",            # 0x8985
2018     "GL_RESAMPLE_REPLICATE_OML",         # 0x8986
2019     "GL_RESAMPLE_ZERO_FILL_OML",         # 0x8987
2020     "GL_RESAMPLE_AVERAGE_OML",           # 0x8988
2021     "GL_RESAMPLE_DECIMATE_OML",          # 0x8989
2022     "GL_DRAW_PIXELS_APPLE",              # 0x8A0A
2023     "GL_FENCE_APPLE",                    # 0x8A0B
2024     "GL_UNIFORM_BUFFER",                 # 0x8A11
2025     "GL_BUFFER_SERIALIZED_MODIFY_APPLE", # 0x8A12
2026     "GL_BUFFER_FLUSHING_UNMAP_APPLE",    # 0x8A13
2027     "GL_UNIFORM_BUFFER_BINDING",         # 0x8A28
2028     "GL_UNIFORM_BUFFER_START",           # 0x8A29
2029     "GL_UNIFORM_BUFFER_SIZE",            # 0x8A2A
2030     "GL_MAX_VERTEX_UNIFORM_BLOCKS",      # 0x8A2B
2031     "GL_MAX_GEOMETRY_UNIFORM_BLOCKS",    # 0x8A2C
2032     "GL_MAX_FRAGMENT_UNIFORM_BLOCKS",    # 0x8A2D
2033     "GL_MAX_COMBINED_UNIFORM_BLOCKS",    # 0x8A2E
2034     "GL_MAX_UNIFORM_BUFFER_BINDINGS",    # 0x8A2F
2035     "GL_MAX_UNIFORM_BLOCK_SIZE",         # 0x8A30
2036     "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", # 0x8A31
2037     "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS", # 0x8A32
2038     "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", # 0x8A33
2039     "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT",# 0x8A34
2040     "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH", # 0x8A35
2041     "GL_ACTIVE_UNIFORM_BLOCKS",          # 0x8A36
2042     "GL_UNIFORM_TYPE",                   # 0x8A37
2043     "GL_UNIFORM_SIZE",                   # 0x8A38
2044     "GL_UNIFORM_NAME_LENGTH",            # 0x8A39
2045     "GL_UNIFORM_BLOCK_INDEX",            # 0x8A3A
2046     "GL_UNIFORM_OFFSET",                 # 0x8A3B
2047     "GL_UNIFORM_ARRAY_STRIDE",           # 0x8A3C
2048     "GL_UNIFORM_MATRIX_STRIDE",          # 0x8A3D
2049     "GL_UNIFORM_IS_ROW_MAJOR",           # 0x8A3E
2050     "GL_UNIFORM_BLOCK_BINDING",          # 0x8A3F
2051     "GL_UNIFORM_BLOCK_DATA_SIZE",        # 0x8A40
2052     "GL_UNIFORM_BLOCK_NAME_LENGTH",      # 0x8A41
2053     "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS",  # 0x8A42
2054     "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES", # 0x8A43
2055     "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER", # 0x8A44
2056     "GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER", # 0x8A45
2057     "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER", # 0x8A46
2058     "GL_FRAGMENT_SHADER",                # 0x8B30
2059     "GL_VERTEX_SHADER",                  # 0x8B31
2060     "GL_PROGRAM_OBJECT_ARB",             # 0x8B40
2061     "GL_SHADER_OBJECT_ARB",              # 0x8B48
2062     "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS",# 0x8B49
2063     "GL_MAX_VERTEX_UNIFORM_COMPONENTS",  # 0x8B4A
2064     "GL_MAX_VARYING_COMPONENTS",         # 0x8B4B
2065     "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS", # 0x8B4C
2066     "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS", # 0x8B4D
2067     "GL_OBJECT_TYPE_ARB",                # 0x8B4E
2068     "GL_SHADER_TYPE",                    # 0x8B4F
2069     "GL_FLOAT_VEC2",                     # 0x8B50
2070     "GL_FLOAT_VEC3",                     # 0x8B51
2071     "GL_FLOAT_VEC4",                     # 0x8B52
2072     "GL_INT_VEC2",                       # 0x8B53
2073     "GL_INT_VEC3",                       # 0x8B54
2074     "GL_INT_VEC4",                       # 0x8B55
2075     "GL_BOOL",                           # 0x8B56
2076     "GL_BOOL_VEC2",                      # 0x8B57
2077     "GL_BOOL_VEC3",                      # 0x8B58
2078     "GL_BOOL_VEC4",                      # 0x8B59
2079     "GL_FLOAT_MAT2",                     # 0x8B5A
2080     "GL_FLOAT_MAT3",                     # 0x8B5B
2081     "GL_FLOAT_MAT4",                     # 0x8B5C
2082     "GL_SAMPLER_1D",                     # 0x8B5D
2083     "GL_SAMPLER_2D",                     # 0x8B5E
2084     "GL_SAMPLER_3D",                     # 0x8B5F
2085     "GL_SAMPLER_CUBE",                   # 0x8B60
2086     "GL_SAMPLER_1D_SHADOW",              # 0x8B61
2087     "GL_SAMPLER_2D_SHADOW",              # 0x8B62
2088     "GL_SAMPLER_2D_RECT",                # 0x8B63
2089     "GL_SAMPLER_2D_RECT_SHADOW",         # 0x8B64
2090     "GL_FLOAT_MAT2x3",                   # 0x8B65
2091     "GL_FLOAT_MAT2x4",                   # 0x8B66
2092     "GL_FLOAT_MAT3x2",                   # 0x8B67
2093     "GL_FLOAT_MAT3x4",                   # 0x8B68
2094     "GL_FLOAT_MAT4x2",                   # 0x8B69
2095     "GL_FLOAT_MAT4x3",                   # 0x8B6A
2096     "GL_DELETE_STATUS",                  # 0x8B80
2097     "GL_COMPILE_STATUS",                 # 0x8B81
2098     "GL_LINK_STATUS",                    # 0x8B82
2099     "GL_VALIDATE_STATUS",                # 0x8B83
2100     "GL_INFO_LOG_LENGTH",                # 0x8B84
2101     "GL_ATTACHED_SHADERS",               # 0x8B85
2102     "GL_ACTIVE_UNIFORMS",                # 0x8B86
2103     "GL_ACTIVE_UNIFORM_MAX_LENGTH",      # 0x8B87
2104     "GL_SHADER_SOURCE_LENGTH",           # 0x8B88
2105     "GL_ACTIVE_ATTRIBUTES",              # 0x8B89
2106     "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH",    # 0x8B8A
2107     "GL_FRAGMENT_SHADER_DERIVATIVE_HINT",# 0x8B8B
2108     "GL_SHADING_LANGUAGE_VERSION",       # 0x8B8C
2109     "GL_CURRENT_PROGRAM",                # 0x8B8D
2110     "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES", # 0x8B9A
2111     "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES", # 0x8B9B
2112     "GL_COUNTER_TYPE_AMD",               # 0x8BC0
2113     "GL_COUNTER_RANGE_AMD",              # 0x8BC1
2114     "GL_UNSIGNED_INT64_AMD",             # 0x8BC2
2115     "GL_PERCENTAGE_AMD",                 # 0x8BC3
2116     "GL_PERFMON_RESULT_AVAILABLE_AMD",   # 0x8BC4
2117     "GL_PERFMON_RESULT_SIZE_AMD",        # 0x8BC5
2118     "GL_PERFMON_RESULT_AMD",             # 0x8BC6
2119     "GL_TEXTURE_RED_TYPE",               # 0x8C10
2120     "GL_TEXTURE_GREEN_TYPE",             # 0x8C11
2121     "GL_TEXTURE_BLUE_TYPE",              # 0x8C12
2122     "GL_TEXTURE_ALPHA_TYPE",             # 0x8C13
2123     "GL_TEXTURE_LUMINANCE_TYPE",         # 0x8C14
2124     "GL_TEXTURE_INTENSITY_TYPE",         # 0x8C15
2125     "GL_TEXTURE_DEPTH_TYPE",             # 0x8C16
2126     "GL_UNSIGNED_NORMALIZED",            # 0x8C17
2127     "GL_TEXTURE_1D_ARRAY",               # 0x8C18
2128     "GL_PROXY_TEXTURE_1D_ARRAY",         # 0x8C19
2129     "GL_TEXTURE_2D_ARRAY",               # 0x8C1A
2130     "GL_PROXY_TEXTURE_2D_ARRAY",         # 0x8C1B
2131     "GL_TEXTURE_BINDING_1D_ARRAY",       # 0x8C1C
2132     "GL_TEXTURE_BINDING_2D_ARRAY",       # 0x8C1D
2133     "GL_GEOMETRY_PROGRAM_NV",            # 0x8C26
2134     "GL_MAX_PROGRAM_OUTPUT_VERTICES_NV", # 0x8C27
2135     "GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV", # 0x8C28
2136     "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB", # 0x8C29
2137     "GL_TEXTURE_BUFFER",                 # 0x8C2A
2138     "GL_MAX_TEXTURE_BUFFER_SIZE",        # 0x8C2B
2139     "GL_TEXTURE_BINDING_BUFFER",         # 0x8C2C
2140     "GL_TEXTURE_BUFFER_DATA_STORE_BINDING", # 0x8C2D
2141     "GL_TEXTURE_BUFFER_FORMAT",          # 0x8C2E
2142     "GL_R11F_G11F_B10F",                 # 0x8C3A
2143     "GL_UNSIGNED_INT_10F_11F_11F_REV",   # 0x8C3B
2144     "GL_RGBA_SIGNED_COMPONENTS_EXT",     # 0x8C3C
2145     "GL_RGB9_E5",                        # 0x8C3D
2146     "GL_UNSIGNED_INT_5_9_9_9_REV",       # 0x8C3E
2147     "GL_TEXTURE_SHARED_SIZE",            # 0x8C3F
2148     "GL_SRGB",                           # 0x8C40
2149     "GL_SRGB8",                          # 0x8C41
2150     "GL_SRGB_ALPHA",                     # 0x8C42
2151     "GL_SRGB8_ALPHA8",                   # 0x8C43
2152     "GL_SLUMINANCE_ALPHA",               # 0x8C44
2153     "GL_SLUMINANCE8_ALPHA8",             # 0x8C45
2154     "GL_SLUMINANCE",                     # 0x8C46
2155     "GL_SLUMINANCE8",                    # 0x8C47
2156     "GL_COMPRESSED_SRGB",                # 0x8C48
2157     "GL_COMPRESSED_SRGB_ALPHA",          # 0x8C49
2158     "GL_COMPRESSED_SLUMINANCE",          # 0x8C4A
2159     "GL_COMPRESSED_SLUMINANCE_ALPHA",    # 0x8C4B
2160     "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT",  # 0x8C4C
2161     "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", # 0x8C4D
2162     "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", # 0x8C4E
2163     "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", # 0x8C4F
2164     "GL_COMPRESSED_LUMINANCE_LATC1_EXT", # 0x8C70
2165     "GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT", # 0x8C71
2166     "GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT", # 0x8C72
2167     "GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT", # 0x8C73
2168     "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH", # 0x8C76
2169     "GL_BACK_PRIMARY_COLOR_NV",          # 0x8C77
2170     "GL_BACK_SECONDARY_COLOR_NV",        # 0x8C78
2171     "GL_TEXTURE_COORD_NV",               # 0x8C79
2172     "GL_CLIP_DISTANCE_NV",               # 0x8C7A
2173     "GL_VERTEX_ID_NV",                   # 0x8C7B
2174     "GL_PRIMITIVE_ID_NV",                # 0x8C7C
2175     "GL_GENERIC_ATTRIB_NV",              # 0x8C7D
2176     "GL_TRANSFORM_FEEDBACK_ATTRIBS_NV",  # 0x8C7E
2177     "GL_TRANSFORM_FEEDBACK_BUFFER_MODE", # 0x8C7F
2178     "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", # 0x8C80
2179     "GL_ACTIVE_VARYINGS_NV",             # 0x8C81
2180     "GL_ACTIVE_VARYING_MAX_LENGTH_NV",   # 0x8C82
2181     "GL_TRANSFORM_FEEDBACK_VARYINGS",    # 0x8C83
2182     "GL_TRANSFORM_FEEDBACK_BUFFER_START",# 0x8C84
2183     "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE", # 0x8C85
2184     "GL_TRANSFORM_FEEDBACK_RECORD_NV",   # 0x8C86
2185     "GL_PRIMITIVES_GENERATED",           # 0x8C87
2186     "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN", # 0x8C88
2187     "GL_RASTERIZER_DISCARD",             # 0x8C89
2188     "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV", # 0x8C8A
2189     "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", # 0x8C8B
2190     "GL_INTERLEAVED_ATTRIBS",            # 0x8C8C
2191     "GL_SEPARATE_ATTRIBS",               # 0x8C8D
2192     "GL_TRANSFORM_FEEDBACK_BUFFER",      # 0x8C8E
2193     "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING", # 0x8C8F
2194     "GL_POINT_SPRITE_COORD_ORIGIN",      # 0x8CA0
2195     "GL_LOWER_LEFT",                     # 0x8CA1
2196     "GL_UPPER_LEFT",                     # 0x8CA2
2197     "GL_STENCIL_BACK_REF",               # 0x8CA3
2198     "GL_STENCIL_BACK_VALUE_MASK",        # 0x8CA4
2199     "GL_STENCIL_BACK_WRITEMASK",         # 0x8CA5
2200     "GL_FRAMEBUFFER_BINDING",            # 0x8CA6
2201     "GL_RENDERBUFFER_BINDING",           # 0x8CA7
2202     "GL_READ_FRAMEBUFFER",               # 0x8CA8
2203     "GL_DRAW_FRAMEBUFFER",               # 0x8CA9
2204     "GL_READ_FRAMEBUFFER_BINDING",       # 0x8CAA
2205     "GL_RENDERBUFFER_SAMPLES",           # 0x8CAB
2206     "GL_DEPTH_COMPONENT32F",             # 0x8CAC
2207     "GL_DEPTH32F_STENCIL8",              # 0x8CAD
2208     "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", # 0x8CD0
2209     "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", # 0x8CD1
2210     "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", # 0x8CD2
2211     "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", # 0x8CD3
2212     "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT", # 0x8CD4
2213     "GL_FRAMEBUFFER_COMPLETE",           # 0x8CD5
2214     "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT", # 0x8CD6
2215     "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", # 0x8CD7
2216     "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT", # 0x8CD9
2217     "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT", # 0x8CDA
2218     "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER", # 0x8CDB
2219     "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER", # 0x8CDC
2220     "GL_FRAMEBUFFER_UNSUPPORTED",        # 0x8CDD
2221     "GL_MAX_COLOR_ATTACHMENTS",          # 0x8CDF
2222     "GL_COLOR_ATTACHMENT0",              # 0x8CE0
2223     "GL_COLOR_ATTACHMENT1",              # 0x8CE1
2224     "GL_COLOR_ATTACHMENT2",              # 0x8CE2
2225     "GL_COLOR_ATTACHMENT3",              # 0x8CE3
2226     "GL_COLOR_ATTACHMENT4",              # 0x8CE4
2227     "GL_COLOR_ATTACHMENT5",              # 0x8CE5
2228     "GL_COLOR_ATTACHMENT6",              # 0x8CE6
2229     "GL_COLOR_ATTACHMENT7",              # 0x8CE7
2230     "GL_COLOR_ATTACHMENT8",              # 0x8CE8
2231     "GL_COLOR_ATTACHMENT9",              # 0x8CE9
2232     "GL_COLOR_ATTACHMENT10",             # 0x8CEA
2233     "GL_COLOR_ATTACHMENT11",             # 0x8CEB
2234     "GL_COLOR_ATTACHMENT12",             # 0x8CEC
2235     "GL_COLOR_ATTACHMENT13",             # 0x8CED
2236     "GL_COLOR_ATTACHMENT14",             # 0x8CEE
2237     "GL_COLOR_ATTACHMENT15",             # 0x8CEF
2238     "GL_DEPTH_ATTACHMENT",               # 0x8D00
2239     "GL_STENCIL_ATTACHMENT",             # 0x8D20
2240     "GL_FRAMEBUFFER",                    # 0x8D40
2241     "GL_RENDERBUFFER",                   # 0x8D41
2242     "GL_RENDERBUFFER_WIDTH",             # 0x8D42
2243     "GL_RENDERBUFFER_HEIGHT",            # 0x8D43
2244     "GL_RENDERBUFFER_INTERNAL_FORMAT",   # 0x8D44
2245     "GL_STENCIL_INDEX1",                 # 0x8D46
2246     "GL_STENCIL_INDEX4",                 # 0x8D47
2247     "GL_STENCIL_INDEX8",                 # 0x8D48
2248     "GL_STENCIL_INDEX16",                # 0x8D49
2249     "GL_RENDERBUFFER_RED_SIZE",          # 0x8D50
2250     "GL_RENDERBUFFER_GREEN_SIZE",        # 0x8D51
2251     "GL_RENDERBUFFER_BLUE_SIZE",         # 0x8D52
2252     "GL_RENDERBUFFER_ALPHA_SIZE",        # 0x8D53
2253     "GL_RENDERBUFFER_DEPTH_SIZE",        # 0x8D54
2254     "GL_RENDERBUFFER_STENCIL_SIZE",      # 0x8D55
2255     "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE", # 0x8D56
2256     "GL_MAX_SAMPLES_EXT",                # 0x8D57
2257     "GL_RGBA32UI",                       # 0x8D70
2258     "GL_RGB32UI",                        # 0x8D71
2259     "GL_ALPHA32UI_EXT",                  # 0x8D72
2260     "GL_INTENSITY32UI_EXT",              # 0x8D73
2261     "GL_LUMINANCE32UI_EXT",              # 0x8D74
2262     "GL_LUMINANCE_ALPHA32UI_EXT",        # 0x8D75
2263     "GL_RGBA16UI",                       # 0x8D76
2264     "GL_RGB16UI",                        # 0x8D77
2265     "GL_ALPHA16UI_EXT",                  # 0x8D78
2266     "GL_INTENSITY16UI_EXT",              # 0x8D79
2267     "GL_LUMINANCE16UI_EXT",              # 0x8D7A
2268     "GL_LUMINANCE_ALPHA16UI_EXT",        # 0x8D7B
2269     "GL_RGBA8UI",                        # 0x8D7C
2270     "GL_RGB8UI",                         # 0x8D7D
2271     "GL_ALPHA8UI_EXT",                   # 0x8D7E
2272     "GL_INTENSITY8UI_EXT",               # 0x8D7F
2273     "GL_LUMINANCE8UI_EXT",               # 0x8D80
2274     "GL_LUMINANCE_ALPHA8UI_EXT",         # 0x8D81
2275     "GL_RGBA32I",                        # 0x8D82
2276     "GL_RGB32I",                         # 0x8D83
2277     "GL_ALPHA32I_EXT",                   # 0x8D84
2278     "GL_INTENSITY32I_EXT",               # 0x8D85
2279     "GL_LUMINANCE32I_EXT",               # 0x8D86
2280     "GL_LUMINANCE_ALPHA32I_EXT",         # 0x8D87
2281     "GL_RGBA16I",                        # 0x8D88
2282     "GL_RGB16I",                         # 0x8D89
2283     "GL_ALPHA16I_EXT",                   # 0x8D8A
2284     "GL_INTENSITY16I_EXT",               # 0x8D8B
2285     "GL_LUMINANCE16I_EXT",               # 0x8D8C
2286     "GL_LUMINANCE_ALPHA16I_EXT",         # 0x8D8D
2287     "GL_RGBA8I",                         # 0x8D8E
2288     "GL_RGB8I",                          # 0x8D8F
2289     "GL_ALPHA8I_EXT",                    # 0x8D90
2290     "GL_INTENSITY8I_EXT",                # 0x8D91
2291     "GL_LUMINANCE8I_EXT",                # 0x8D92
2292     "GL_LUMINANCE_ALPHA8I_EXT",          # 0x8D93
2293     "GL_RED_INTEGER",                    # 0x8D94
2294     "GL_GREEN_INTEGER",                  # 0x8D95
2295     "GL_BLUE_INTEGER",                   # 0x8D96
2296     "GL_ALPHA_INTEGER",                  # 0x8D97
2297     "GL_RGB_INTEGER",                    # 0x8D98
2298     "GL_RGBA_INTEGER",                   # 0x8D99
2299     "GL_BGR_INTEGER",                    # 0x8D9A
2300     "GL_BGRA_INTEGER",                   # 0x8D9B
2301     "GL_LUMINANCE_INTEGER_EXT",          # 0x8D9C
2302     "GL_LUMINANCE_ALPHA_INTEGER_EXT",    # 0x8D9D
2303     "GL_RGBA_INTEGER_MODE_EXT",          # 0x8D9E
2304     "GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV", # 0x8DA0
2305     "GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV", # 0x8DA1
2306     "GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV", # 0x8DA2
2307     "GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV", # 0x8DA3
2308     "GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV", # 0x8DA4
2309     "GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV", # 0x8DA5
2310     "GL_MAX_PROGRAM_GENERIC_RESULTS_NV", # 0x8DA6
2311     "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB", # 0x8DA7
2312     "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB", # 0x8DA8
2313     "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB", # 0x8DA9
2314     "GL_DEPTH_COMPONENT32F_NV",          # 0x8DAB
2315     "GL_DEPTH32F_STENCIL8_NV",           # 0x8DAC
2316     "GL_FLOAT_32_UNSIGNED_INT_24_8_REV", # 0x8DAD
2317     "GL_DEPTH_BUFFER_FLOAT_MODE_NV",     # 0x8DAF
2318     "GL_FRAMEBUFFER_SRGB",               # 0x8DB9
2319     "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT",   # 0x8DBA
2320     "GL_COMPRESSED_RED_RGTC1",           # 0x8DBB
2321     "GL_COMPRESSED_SIGNED_RED_RGTC1",    # 0x8DBC
2322     "GL_COMPRESSED_RG_RGTC2",            # 0x8DBD
2323     "GL_COMPRESSED_SIGNED_RG_RGTC2",     # 0x8DBE
2324     "GL_SAMPLER_1D_ARRAY",               # 0x8DC0
2325     "GL_SAMPLER_2D_ARRAY",               # 0x8DC1
2326     "GL_SAMPLER_BUFFER",                 # 0x8DC2
2327     "GL_SAMPLER_1D_ARRAY_SHADOW",        # 0x8DC3
2328     "GL_SAMPLER_2D_ARRAY_SHADOW",        # 0x8DC4
2329     "GL_SAMPLER_CUBE_SHADOW",            # 0x8DC5
2330     "GL_UNSIGNED_INT_VEC2",              # 0x8DC6
2331     "GL_UNSIGNED_INT_VEC3",              # 0x8DC7
2332     "GL_UNSIGNED_INT_VEC4",              # 0x8DC8
2333     "GL_INT_SAMPLER_1D",                 # 0x8DC9
2334     "GL_INT_SAMPLER_2D",                 # 0x8DCA
2335     "GL_INT_SAMPLER_3D",                 # 0x8DCB
2336     "GL_INT_SAMPLER_CUBE",               # 0x8DCC
2337     "GL_INT_SAMPLER_2D_RECT",            # 0x8DCD
2338     "GL_INT_SAMPLER_1D_ARRAY",           # 0x8DCE
2339     "GL_INT_SAMPLER_2D_ARRAY",           # 0x8DCF
2340     "GL_INT_SAMPLER_BUFFER",             # 0x8DD0
2341     "GL_UNSIGNED_INT_SAMPLER_1D",        # 0x8DD1
2342     "GL_UNSIGNED_INT_SAMPLER_2D",        # 0x8DD2
2343     "GL_UNSIGNED_INT_SAMPLER_3D",        # 0x8DD3
2344     "GL_UNSIGNED_INT_SAMPLER_CUBE",      # 0x8DD4
2345     "GL_UNSIGNED_INT_SAMPLER_2D_RECT",   # 0x8DD5
2346     "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY",  # 0x8DD6
2347     "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY",  # 0x8DD7
2348     "GL_UNSIGNED_INT_SAMPLER_BUFFER",    # 0x8DD8
2349     "GL_GEOMETRY_SHADER_ARB",            # 0x8DD9
2350     "GL_GEOMETRY_VERTICES_OUT_ARB",      # 0x8DDA
2351     "GL_GEOMETRY_INPUT_TYPE_ARB",        # 0x8DDB
2352     "GL_GEOMETRY_OUTPUT_TYPE_ARB",       # 0x8DDC
2353     "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB", # 0x8DDD
2354     "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB", # 0x8DDE
2355     "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB", # 0x8DDF
2356     "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB", # 0x8DE0
2357     "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB", # 0x8DE1
2358     "GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT", # 0x8DE2
2359     "GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT", # 0x8DE3
2360     "GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT", # 0x8DE4
2361     "GL_MAX_BINDABLE_UNIFORM_SIZE_EXT",  # 0x8DED
2362     "GL_UNIFORM_BUFFER_EXT",             # 0x8DEE
2363     "GL_UNIFORM_BUFFER_BINDING_EXT",     # 0x8DEF
2364     "GL_RENDERBUFFER_COLOR_SAMPLES_NV",  # 0x8E10
2365     "GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV", # 0x8E11
2366     "GL_MULTISAMPLE_COVERAGE_MODES_NV",  # 0x8E12
2367     "GL_QUERY_WAIT",                     # 0x8E13
2368     "GL_QUERY_NO_WAIT",                  # 0x8E14
2369     "GL_QUERY_BY_REGION_WAIT",           # 0x8E15
2370     "GL_QUERY_BY_REGION_NO_WAIT",        # 0x8E16
2371     "GL_TRANSFORM_FEEDBACK_NV",          # 0x8E22
2372     "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV", # 0x8E23
2373     "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV", # 0x8E24
2374     "GL_TRANSFORM_FEEDBACK_BINDING_NV",  # 0x8E25
2375     "GL_FRAME_NV",                       # 0x8E26
2376     "GL_FIELDS_NV",                      # 0x8E27
2377     "GL_CURRENT_TIME_NV",                # 0x8E28
2378     "GL_NUM_FILL_STREAMS_NV",            # 0x8E29
2379     "GL_PRESENT_TIME_NV",                # 0x8E2A
2380     "GL_PRESENT_DURATION_NV",            # 0x8E2B
2381     "GL_PROGRAM_MATRIX_EXT",             # 0x8E2D
2382     "GL_TRANSPOSE_PROGRAM_MATRIX_EXT",   # 0x8E2E
2383     "GL_PROGRAM_MATRIX_STACK_DEPTH_EXT", # 0x8E2F
2384     "GL_TEXTURE_SWIZZLE_R_EXT",          # 0x8E42
2385     "GL_TEXTURE_SWIZZLE_G_EXT",          # 0x8E43
2386     "GL_TEXTURE_SWIZZLE_B_EXT",          # 0x8E44
2387     "GL_TEXTURE_SWIZZLE_A_EXT",          # 0x8E45
2388     "GL_TEXTURE_SWIZZLE_RGBA_EXT",       # 0x8E46
2389     "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT", # 0x8E4C
2390     "GL_FIRST_VERTEX_CONVENTION_EXT",    # 0x8E4D
2391     "GL_LAST_VERTEX_CONVENTION_EXT",     # 0x8E4E
2392     "GL_PROVOKING_VERTEX_EXT",           # 0x8E4F
2393     "GL_SAMPLE_POSITION_NV",             # 0x8E50
2394     "GL_SAMPLE_MASK_NV",                 # 0x8E51
2395     "GL_SAMPLE_MASK_VALUE_NV",           # 0x8E52
2396     "GL_TEXTURE_BINDING_RENDERBUFFER_NV",# 0x8E53
2397     "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV", # 0x8E54
2398     "GL_TEXTURE_RENDERBUFFER_NV",        # 0x8E55
2399     "GL_SAMPLER_RENDERBUFFER_NV",        # 0x8E56
2400     "GL_INT_SAMPLER_RENDERBUFFER_NV",    # 0x8E57
2401     "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV", # 0x8E58
2402     "GL_MAX_SAMPLE_MASK_WORDS_NV",       # 0x8E59
2403     "GL_COPY_READ_BUFFER",               # 0x8F36
2404     "GL_COPY_WRITE_BUFFER",              # 0x8F37
2405     "GL_RED_SNORM",                      # 0x8F90
2406     "GL_RG_SNORM",                       # 0x8F91
2407     "GL_RGB_SNORM",                      # 0x8F92
2408     "GL_RGBA_SNORM",                     # 0x8F93
2409     "GL_R8_SNORM",                       # 0x8F94
2410     "GL_RG8_SNORM",                      # 0x8F95
2411     "GL_RGB8_SNORM",                     # 0x8F96
2412     "GL_RGBA8_SNORM",                    # 0x8F97
2413     "GL_R16_SNORM",                      # 0x8F98
2414     "GL_RG16_SNORM",                     # 0x8F99
2415     "GL_RGB16_SNORM",                    # 0x8F9A
2416     "GL_RGBA16_SNORM",                   # 0x8F9B
2417     "GL_SIGNED_NORMALIZED",              # 0x8F9C
2418     "GL_PRIMITIVE_RESTART",              # 0x8F9D
2419     "GL_PRIMITIVE_RESTART_INDEX",        # 0x8F9E
2420     "GL_SAMPLER_BUFFER_AMD",             # 0x9001
2421     "GL_INT_SAMPLER_BUFFER_AMD",         # 0x9002
2422     "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD",# 0x9003
2423     "GL_TESSELLATION_MODE_AMD",          # 0x9004
2424     "GL_TESSELLATION_FACTOR_AMD",        # 0x9005
2425     "GL_DISCRETE_AMD",                   # 0x9006
2426     "GL_CONTINUOUS_AMD",                 # 0x9007
2427
2428     "GL_RASTER_POSITION_UNCLIPPED_IBM",         # 0x19262
2429     "GL_CULL_VERTEX_IBM",                       # 0X1928A
2430     "GL_VERTEX_ARRAY_LIST_IBM",                 # 0X1929E
2431     "GL_NORMAL_ARRAY_LIST_IBM",                 # 0X1929F
2432     "GL_COLOR_ARRAY_LIST_IBM",                  # 0X192A0
2433     "GL_INDEX_ARRAY_LIST_IBM",                  # 0X192A1
2434     "GL_TEXTURE_COORD_ARRAY_LIST_IBM",          # 0X192A2
2435     "GL_EDGE_FLAG_ARRAY_LIST_IBM",              # 0X192A3
2436     "GL_FOG_COORDINATE_ARRAY_LIST_IBM",         # 0X192A4
2437     "GL_SECONDARY_COLOR_ARRAY_LIST_IBM",        # 0X192A5
2438     "GL_VERTEX_ARRAY_LIST_STRIDE_IBM",          # 0X192A8
2439     "GL_NORMAL_ARRAY_LIST_STRIDE_IBM",          # 0X192A9
2440     "GL_COLOR_ARRAY_LIST_STRIDE_IBM",           # 0X192AA
2441     "GL_INDEX_ARRAY_LIST_STRIDE_IBM",           # 0X192AB
2442     "GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM",   # 0X192AC
2443     "GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM",       # 0X192AD
2444     "GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM",  # 0X192AE
2445     "GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM", # 0X192AF
2446
2447     "GL_PREFER_DOUBLEBUFFER_HINT_PGI",   # 0x1A1F8
2448     "GL_CONSERVE_MEMORY_HINT_PGI",       # 0x1A1FD
2449     "GL_RECLAIM_MEMORY_HINT_PGI",        # 0x1A1FE
2450     "GL_NATIVE_GRAPHICS_HANDLE_PGI",     # 0x1A202
2451     "GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI", # 0x1A203
2452     "GL_NATIVE_GRAPHICS_END_HINT_PGI",   # 0x1A204
2453     "GL_ALWAYS_FAST_HINT_PGI",           # 0x1A20C
2454     "GL_ALWAYS_SOFT_HINT_PGI",           # 0x1A20D
2455     "GL_ALLOW_DRAW_OBJ_HINT_PGI",        # 0x1A20E
2456     "GL_ALLOW_DRAW_WIN_HINT_PGI",        # 0x1A20F
2457     "GL_ALLOW_DRAW_FRG_HINT_PGI",        # 0x1A210
2458     "GL_ALLOW_DRAW_MEM_HINT_PGI",        # 0x1A211
2459     "GL_STRICT_DEPTHFUNC_HINT_PGI",      # 0x1A216
2460     "GL_STRICT_LIGHTING_HINT_PGI",       # 0x1A217
2461     "GL_STRICT_SCISSOR_HINT_PGI",        # 0x1A218
2462     "GL_FULL_STIPPLE_HINT_PGI",          # 0x1A219
2463     "GL_CLIP_NEAR_HINT_PGI",             # 0x1A220
2464     "GL_CLIP_FAR_HINT_PGI",              # 0x1A221
2465     "GL_WIDE_LINE_HINT_PGI",             # 0x1A222
2466     "GL_BACK_NORMALS_HINT_PGI",          # 0x1A223
2467     "GL_VERTEX_DATA_HINT_PGI",           # 0x1A22A
2468     "GL_VERTEX_CONSISTENT_HINT_PGI",     # 0x1A22B
2469     "GL_MATERIAL_SIDE_HINT_PGI",         # 0x1A22C
2470     "GL_MAX_VERTEX_HINT_PGI",            # 0x1A22D
2471 ])
2472
2473 GLenum_mode = FakeEnum(GLenum, [
2474     "GL_POINTS",                         # 0x0000
2475     "GL_LINES",                          # 0x0001
2476     "GL_LINE_LOOP",                      # 0x0002
2477     "GL_LINE_STRIP",                     # 0x0003
2478     "GL_TRIANGLES",                      # 0x0004
2479     "GL_TRIANGLE_STRIP",                 # 0x0005
2480     "GL_TRIANGLE_FAN",                   # 0x0006
2481     "GL_QUADS",                          # 0x0007
2482     "GL_QUAD_STRIP",                     # 0x0008
2483     "GL_POLYGON",                        # 0x0009
2484     "GL_LINES_ADJACENCY_ARB",            # 0x000A
2485     "GL_LINE_STRIP_ADJACENCY_ARB",       # 0x000B
2486     "GL_TRIANGLES_ADJACENCY_ARB",        # 0x000C
2487     "GL_TRIANGLE_STRIP_ADJACENCY_ARB",   # 0x000D
2488 ])
2489
2490 GLbitfield_attrib = Flags(GLbitfield, [
2491     "GL_ALL_ATTRIB_BITS",     # 0x000FFFFF
2492     "GL_CURRENT_BIT",         # 0x00000001
2493     "GL_POINT_BIT",           # 0x00000002
2494     "GL_LINE_BIT",            # 0x00000004
2495     "GL_POLYGON_BIT",         # 0x00000008
2496     "GL_POLYGON_STIPPLE_BIT", # 0x00000010
2497     "GL_PIXEL_MODE_BIT",      # 0x00000020
2498     "GL_LIGHTING_BIT",        # 0x00000040
2499     "GL_FOG_BIT",             # 0x00000080
2500     "GL_DEPTH_BUFFER_BIT",    # 0x00000100
2501     "GL_ACCUM_BUFFER_BIT",    # 0x00000200
2502     "GL_STENCIL_BUFFER_BIT",  # 0x00000400
2503     "GL_VIEWPORT_BIT",        # 0x00000800
2504     "GL_TRANSFORM_BIT",       # 0x00001000
2505     "GL_ENABLE_BIT",          # 0x00002000
2506     "GL_COLOR_BUFFER_BIT",    # 0x00004000
2507     "GL_HINT_BIT",            # 0x00008000
2508     "GL_EVAL_BIT",            # 0x00010000
2509     "GL_LIST_BIT",            # 0x00020000
2510     "GL_TEXTURE_BIT",         # 0x00040000
2511     "GL_SCISSOR_BIT",         # 0x00080000
2512     "GL_MULTISAMPLE_BIT",     # 0x20000000
2513 ])
2514
2515 GLbitfield_client_attrib = Flags(GLbitfield, [
2516     "GL_CLIENT_ALL_ATTRIB_BITS",  # 0xFFFFFFFF
2517     "GL_CLIENT_PIXEL_STORE_BIT",  # 0x00000001
2518     "GL_CLIENT_VERTEX_ARRAY_BIT", # 0x00000002
2519 ])
2520
2521 GLlist = Handle("list", GLuint)
2522 GLtexture = Handle("texture", GLuint)
2523 GLbuffer = Handle("buffer", GLuint)
2524 GLquery = Handle("query", GLuint)
2525 GLfence = Handle("fence", GLuint)
2526 GLprogram = Handle("program", GLuint)
2527 GLframebuffer = Handle("framebuffer", GLuint)
2528 GLrenderbuffer = Handle("renderbuffer", GLuint)
2529
2530
2531 def GlFunction(*args, **kwargs):
2532     kwargs.setdefault('call', 'GLAPIENTRY')
2533     return Function(*args, **kwargs)
2534
2535
2536 glapi = API('GL')
2537
2538
2539 glapi.add_functions([
2540     # GL_VERSION_1_0
2541     GlFunction(Void, "glCullFace", [(GLenum, "mode")]),
2542     GlFunction(Void, "glFrontFace", [(GLenum, "mode")]),
2543     GlFunction(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]),
2544     GlFunction(Void, "glLineWidth", [(GLfloat, "width")]),
2545     GlFunction(Void, "glPointSize", [(GLfloat, "size")]),
2546     GlFunction(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]),
2547     GlFunction(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
2548     GlFunction(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
2549     GlFunction(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Const(Array(GLfloat, "(pname == GL_TEXTURE_BORDER_COLOR ? 4 : 1)")), "params")]),
2550     GlFunction(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
2551     GlFunction(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Const(Array(GLint, "(pname == GL_TEXTURE_BORDER_COLOR ? 4 : 1)")), "params")]),
2552     GlFunction(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, 1, 1, border)"), "pixels")]),
2553     GlFunction(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, height, 1, border)"), "pixels")]),
2554     GlFunction(Void, "glDrawBuffer", [(GLenum, "mode")]),
2555     GlFunction(Void, "glClear", [(GLbitfield_attrib, "mask")]),
2556     GlFunction(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
2557     GlFunction(Void, "glClearStencil", [(GLint, "s")]),
2558     GlFunction(Void, "glClearDepth", [(GLclampd, "depth")]),
2559     GlFunction(Void, "glStencilMask", [(GLuint, "mask")]),
2560     GlFunction(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]),
2561     GlFunction(Void, "glDepthMask", [(GLboolean, "flag")]),
2562     GlFunction(Void, "glDisable", [(GLenum, "cap")]),
2563     GlFunction(Void, "glEnable", [(GLenum, "cap")]),
2564     GlFunction(Void, "glFinish", []),
2565     GlFunction(Void, "glFlush", []),
2566     GlFunction(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]),
2567     GlFunction(Void, "glLogicOp", [(GLenum, "opcode")]),
2568     GlFunction(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
2569     GlFunction(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]),
2570     GlFunction(Void, "glDepthFunc", [(GLenum, "func")]),
2571     GlFunction(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]),
2572     GlFunction(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]),
2573     GlFunction(Void, "glReadBuffer", [(GLenum, "mode")]),
2574     GlFunction(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")], sideeffects=False),
2575     GlFunction(Void, "glGetBooleanv", [(GLenum, "pname"), Out(Pointer(GLboolean), "params")], sideeffects=False),
2576     GlFunction(Void, "glGetDoublev", [(GLenum, "pname"), Out(Pointer(GLdouble), "params")], sideeffects=False),
2577     GlFunction(GLenum, "glGetError", [], sideeffects=False),
2578     GlFunction(Void, "glGetFloatv", [(GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2579     GlFunction(Void, "glGetIntegerv", [(GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2580     GlFunction(Alias("const GLubyte *", CString), "glGetString", [(GLenum, "name")], sideeffects=False),
2581     GlFunction(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), Out(OpaquePointer(GLvoid), "pixels")], sideeffects=False),
2582     GlFunction(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2583     GlFunction(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2584     GlFunction(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2585     GlFunction(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2586     GlFunction(GLboolean, "glIsEnabled", [(GLenum, "cap")]),
2587     GlFunction(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]),
2588     GlFunction(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
2589
2590     # GL_VERSION_1_0_DEPRECATED
2591     GlFunction(Void, "glNewList", [(GLlist, "list"), (GLenum, "mode")]),
2592     GlFunction(Void, "glEndList", []),
2593     GlFunction(Void, "glCallList", [(GLlist, "list")]),
2594     GlFunction(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_calllists_size(n, type)"), "lists")]), # XXX
2595     GlFunction(Void, "glDeleteLists", [(GLlist, "list"), (GLsizei, "range")]), # XXX
2596     GlFunction(GLlist, "glGenLists", [(GLsizei, "range")]), # XXX
2597     GlFunction(Void, "glListBase", [(GLuint, "base")]),
2598     GlFunction(Void, "glBegin", [(GLenum_mode, "mode")]),
2599     GlFunction(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Blob(Const(GLubyte), "__gl_bitmap_size(width, height)"), "bitmap")]),
2600     GlFunction(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
2601     GlFunction(Void, "glColor3bv", [(Const(Array(GLbyte, "3")), "v")]),
2602     GlFunction(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
2603     GlFunction(Void, "glColor3dv", [(Const(Array(GLdouble, "3")), "v")]),
2604     GlFunction(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
2605     GlFunction(Void, "glColor3fv", [(Const(Array(GLfloat, "3")), "v")]),
2606     GlFunction(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
2607     GlFunction(Void, "glColor3iv", [(Const(Array(GLint, "3")), "v")]),
2608     GlFunction(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
2609     GlFunction(Void, "glColor3sv", [(Const(Array(GLshort, "3")), "v")]),
2610     GlFunction(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
2611     GlFunction(Void, "glColor3ubv", [(Const(Array(GLubyte, "3")), "v")]),
2612     GlFunction(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
2613     GlFunction(Void, "glColor3uiv", [(Const(Array(GLuint, "3")), "v")]),
2614     GlFunction(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
2615     GlFunction(Void, "glColor3usv", [(Const(Array(GLushort, "3")), "v")]),
2616     GlFunction(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]),
2617     GlFunction(Void, "glColor4bv", [(Const(Array(GLbyte, "4")), "v")]),
2618     GlFunction(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]),
2619     GlFunction(Void, "glColor4dv", [(Const(Array(GLdouble, "4")), "v")]),
2620     GlFunction(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
2621     GlFunction(Void, "glColor4fv", [(Const(Array(GLfloat, "4")), "v")]),
2622     GlFunction(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]),
2623     GlFunction(Void, "glColor4iv", [(Const(Array(GLint, "4")), "v")]),
2624     GlFunction(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]),
2625     GlFunction(Void, "glColor4sv", [(Const(Array(GLshort, "4")), "v")]),
2626     GlFunction(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]),
2627     GlFunction(Void, "glColor4ubv", [(Const(Array(GLubyte, "4")), "v")]),
2628     GlFunction(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]),
2629     GlFunction(Void, "glColor4uiv", [(Const(Array(GLuint, "4")), "v")]),
2630     GlFunction(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]),
2631     GlFunction(Void, "glColor4usv", [(Const(Array(GLushort, "4")), "v")]),
2632     GlFunction(Void, "glEdgeFlag", [(GLboolean, "flag")]),
2633     GlFunction(Void, "glEdgeFlagv", [(Const(Array(GLboolean, "1")), "flag")]),
2634     GlFunction(Void, "glEnd", []),
2635     GlFunction(Void, "glIndexd", [(GLdouble, "c")]),
2636     GlFunction(Void, "glIndexdv", [(Const(Array(GLdouble, "1")), "c")]),
2637     GlFunction(Void, "glIndexf", [(GLfloat, "c")]),
2638     GlFunction(Void, "glIndexfv", [(Const(Array(GLfloat, "1")), "c")]),
2639     GlFunction(Void, "glIndexi", [(GLint, "c")]),
2640     GlFunction(Void, "glIndexiv", [(Const(Array(GLint, "1")), "c")]),
2641     GlFunction(Void, "glIndexs", [(GLshort, "c")]),
2642     GlFunction(Void, "glIndexsv", [(Const(Array(GLshort, "1")), "c")]),
2643     GlFunction(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]),
2644     GlFunction(Void, "glNormal3bv", [(Const(Array(GLbyte, "3")), "v")]),
2645     GlFunction(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]),
2646     GlFunction(Void, "glNormal3dv", [(Const(Array(GLdouble, "3")), "v")]),
2647     GlFunction(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]),
2648     GlFunction(Void, "glNormal3fv", [(Const(Array(GLfloat, "3")), "v")]),
2649     GlFunction(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]),
2650     GlFunction(Void, "glNormal3iv", [(Const(Array(GLint, "3")), "v")]),
2651     GlFunction(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]),
2652     GlFunction(Void, "glNormal3sv", [(Const(Array(GLshort, "3")), "v")]),
2653     GlFunction(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
2654     GlFunction(Void, "glRasterPos2dv", [(Const(Array(GLdouble, "2")), "v")]),
2655     GlFunction(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
2656     GlFunction(Void, "glRasterPos2fv", [(Const(Array(GLfloat, "2")), "v")]),
2657     GlFunction(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]),
2658     GlFunction(Void, "glRasterPos2iv", [(Const(Array(GLint, "2")), "v")]),
2659     GlFunction(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]),
2660     GlFunction(Void, "glRasterPos2sv", [(Const(Array(GLshort, "2")), "v")]),
2661     GlFunction(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
2662     GlFunction(Void, "glRasterPos3dv", [(Const(Array(GLdouble, "3")), "v")]),
2663     GlFunction(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
2664     GlFunction(Void, "glRasterPos3fv", [(Const(Array(GLfloat, "3")), "v")]),
2665     GlFunction(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
2666     GlFunction(Void, "glRasterPos3iv", [(Const(Array(GLint, "3")), "v")]),
2667     GlFunction(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
2668     GlFunction(Void, "glRasterPos3sv", [(Const(Array(GLshort, "3")), "v")]),
2669     GlFunction(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
2670     GlFunction(Void, "glRasterPos4dv", [(Const(Array(GLdouble, "4")), "v")]),
2671     GlFunction(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
2672     GlFunction(Void, "glRasterPos4fv", [(Const(Array(GLfloat, "4")), "v")]),
2673     GlFunction(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
2674     GlFunction(Void, "glRasterPos4iv", [(Const(Array(GLint, "4")), "v")]),
2675     GlFunction(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
2676     GlFunction(Void, "glRasterPos4sv", [(Const(Array(GLshort, "4")), "v")]),
2677     GlFunction(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]),
2678     GlFunction(Void, "glRectdv", [(Const(Array(GLdouble, "2")), "v1"), (Const(Array(GLdouble, "2")), "v2")]),
2679     GlFunction(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]),
2680     GlFunction(Void, "glRectfv", [(Const(Array(GLfloat, "2")), "v1"), (Const(Array(GLfloat, "2")), "v2")]),
2681     GlFunction(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]),
2682     GlFunction(Void, "glRectiv", [(Const(Array(GLint, "2")), "v1"), (Const(Array(GLint, "2")), "v2")]),
2683     GlFunction(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]),
2684     GlFunction(Void, "glRectsv", [(Const(Array(GLshort, "2")), "v1"), (Const(Array(GLshort, "2")), "v2")]),
2685     GlFunction(Void, "glTexCoord1d", [(GLdouble, "s")]),
2686     GlFunction(Void, "glTexCoord1dv", [(Const(Array(GLdouble, "1")), "v")]),
2687     GlFunction(Void, "glTexCoord1f", [(GLfloat, "s")]),
2688     GlFunction(Void, "glTexCoord1fv", [(Const(Array(GLfloat, "1")), "v")]),
2689     GlFunction(Void, "glTexCoord1i", [(GLint, "s")]),
2690     GlFunction(Void, "glTexCoord1iv", [(Const(Array(GLint, "1")), "v")]),
2691     GlFunction(Void, "glTexCoord1s", [(GLshort, "s")]),
2692     GlFunction(Void, "glTexCoord1sv", [(Const(Array(GLshort, "1")), "v")]),
2693     GlFunction(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]),
2694     GlFunction(Void, "glTexCoord2dv", [(Const(Array(GLdouble, "2")), "v")]),
2695     GlFunction(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]),
2696     GlFunction(Void, "glTexCoord2fv", [(Const(Array(GLfloat, "2")), "v")]),
2697     GlFunction(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]),
2698     GlFunction(Void, "glTexCoord2iv", [(Const(Array(GLint, "2")), "v")]),
2699     GlFunction(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]),
2700     GlFunction(Void, "glTexCoord2sv", [(Const(Array(GLshort, "2")), "v")]),
2701     GlFunction(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
2702     GlFunction(Void, "glTexCoord3dv", [(Const(Array(GLdouble, "3")), "v")]),
2703     GlFunction(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
2704     GlFunction(Void, "glTexCoord3fv", [(Const(Array(GLfloat, "3")), "v")]),
2705     GlFunction(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]),
2706     GlFunction(Void, "glTexCoord3iv", [(Const(Array(GLint, "3")), "v")]),
2707     GlFunction(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
2708     GlFunction(Void, "glTexCoord3sv", [(Const(Array(GLshort, "3")), "v")]),
2709     GlFunction(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
2710     GlFunction(Void, "glTexCoord4dv", [(Const(Array(GLdouble, "4")), "v")]),
2711     GlFunction(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
2712     GlFunction(Void, "glTexCoord4fv", [(Const(Array(GLfloat, "4")), "v")]),
2713     GlFunction(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
2714     GlFunction(Void, "glTexCoord4iv", [(Const(Array(GLint, "4")), "v")]),
2715     GlFunction(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
2716     GlFunction(Void, "glTexCoord4sv", [(Const(Array(GLshort, "4")), "v")]),
2717     GlFunction(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]),
2718     GlFunction(Void, "glVertex2dv", [(Const(Array(GLdouble, "2")), "v")]),
2719     GlFunction(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]),
2720     GlFunction(Void, "glVertex2fv", [(Const(Array(GLfloat, "2")), "v")]),
2721     GlFunction(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]),
2722     GlFunction(Void, "glVertex2iv", [(Const(Array(GLint, "2")), "v")]),
2723     GlFunction(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]),
2724     GlFunction(Void, "glVertex2sv", [(Const(Array(GLshort, "2")), "v")]),
2725     GlFunction(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
2726     GlFunction(Void, "glVertex3dv", [(Const(Array(GLdouble, "3")), "v")]),
2727     GlFunction(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
2728     GlFunction(Void, "glVertex3fv", [(Const(Array(GLfloat, "3")), "v")]),
2729     GlFunction(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
2730     GlFunction(Void, "glVertex3iv", [(Const(Array(GLint, "3")), "v")]),
2731     GlFunction(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
2732     GlFunction(Void, "glVertex3sv", [(Const(Array(GLshort, "3")), "v")]),
2733     GlFunction(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
2734     GlFunction(Void, "glVertex4dv", [(Const(Array(GLdouble, "4")), "v")]),
2735     GlFunction(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
2736     GlFunction(Void, "glVertex4fv", [(Const(Array(GLfloat, "4")), "v")]),
2737     GlFunction(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
2738     GlFunction(Void, "glVertex4iv", [(Const(Array(GLint, "4")), "v")]),
2739     GlFunction(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
2740     GlFunction(Void, "glVertex4sv", [(Const(Array(GLshort, "4")), "v")]),
2741     GlFunction(Void, "glClipPlane", [(GLenum, "plane"), (Const(Array(GLdouble, "4")), "equation")]),
2742     GlFunction(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]),
2743     GlFunction(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]),
2744     GlFunction(Void, "glFogfv", [(GLenum, "pname"), (Const(Array(GLfloat, "(pname == GL_FOG_COLOR ? 4 : 1)")), "params")]),
2745     GlFunction(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]),
2746     GlFunction(Void, "glFogiv", [(GLenum, "pname"), (Const(Array(GLint, "(pname == GL_FOG_COLOR ? 4 : 1)")), "params")]),
2747     GlFunction(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]),
2748     GlFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Const(Array(GLfloat, "4")), "params")]), # XXX
2749     GlFunction(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]),
2750     GlFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Const(Array(GLint, "4")), "params")]), # XXX
2751     GlFunction(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]),
2752     GlFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Const(Array(GLfloat, "4")), "params")]), # XXX
2753     GlFunction(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]),
2754     GlFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Const(Array(GLint, "4")), "params")]), # XXX
2755     GlFunction(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]),
2756     GlFunction(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]),
2757     GlFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Const(Array(GLfloat, "4")), "params")]), # XXX
2758     GlFunction(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]),
2759     GlFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Const(Array(GLint, "4")), "params")]), # XXX
2760     GlFunction(Void, "glPolygonStipple", [(Blob(Const(GLubyte), "__gl_bitmap_size(32, 32)"), "mask")]),
2761     GlFunction(Void, "glShadeModel", [(GLenum, "mode")]),
2762     GlFunction(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
2763     GlFunction(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Const(Array(GLfloat, "(pname == GL_TEXTURE_ENV_COLOR ? 4 : 1)")), "params")]),
2764     GlFunction(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
2765     GlFunction(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Const(Array(GLint, "(pname == GL_TEXTURE_ENV_COLOR ? 4 : 1)")), "params")]),
2766     GlFunction(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]),
2767     GlFunction(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLdouble)), "params")]),
2768     GlFunction(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]),
2769     GlFunction(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
2770     GlFunction(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]),
2771     GlFunction(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
2772     GlFunction(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), Out(Array(GLfloat, "size"), "buffer")]),
2773     GlFunction(Void, "glSelectBuffer", [(GLsizei, "size"), Out(Array(GLuint, "size"), "buffer")]),
2774     GlFunction(GLint, "glRenderMode", [(GLenum, "mode")]),
2775     GlFunction(Void, "glInitNames", []),
2776     GlFunction(Void, "glLoadName", [(GLuint, "name")]),
2777     GlFunction(Void, "glPassThrough", [(GLfloat, "token")]),
2778     GlFunction(Void, "glPopName", []),
2779     GlFunction(Void, "glPushName", [(GLuint, "name")]),
2780     GlFunction(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
2781     GlFunction(Void, "glClearIndex", [(GLfloat, "c")]),
2782     GlFunction(Void, "glIndexMask", [(GLuint, "mask")]),
2783     GlFunction(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]),
2784     GlFunction(Void, "glPopAttrib", []),
2785     GlFunction(Void, "glPushAttrib", [(GLbitfield_attrib, "mask")]),
2786     GlFunction(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Const(OpaquePointer(GLdouble)), "points")]),
2787     GlFunction(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Const(OpaquePointer(GLfloat)), "points")]),
2788     GlFunction(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Const(OpaquePointer(GLdouble)), "points")]),
2789     GlFunction(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Const(OpaquePointer(GLfloat)), "points")]),
2790     GlFunction(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]),
2791     GlFunction(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]),
2792     GlFunction(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]),
2793     GlFunction(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]),
2794     GlFunction(Void, "glEvalCoord1d", [(GLdouble, "u")]),
2795     GlFunction(Void, "glEvalCoord1dv", [(Const(Array(GLdouble, "1")), "u")]),
2796     GlFunction(Void, "glEvalCoord1f", [(GLfloat, "u")]),
2797     GlFunction(Void, "glEvalCoord1fv", [(Const(Array(GLfloat, "1")), "u")]),
2798     GlFunction(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]),
2799     GlFunction(Void, "glEvalCoord2dv", [(Const(Array(GLdouble, "2")), "u")]),
2800     GlFunction(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]),
2801     GlFunction(Void, "glEvalCoord2fv", [(Const(Array(GLfloat, "2")), "u")]),
2802     GlFunction(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]),
2803     GlFunction(Void, "glEvalPoint1", [(GLint, "i")]),
2804     GlFunction(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]),
2805     GlFunction(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]),
2806     GlFunction(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]),
2807     GlFunction(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]),
2808     GlFunction(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]),
2809     GlFunction(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]),
2810     GlFunction(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Const(Array(GLfloat, "mapsize")), "values")]),
2811     GlFunction(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Const(Array(GLuint, "mapsize")), "values")]),
2812     GlFunction(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Const(Array(GLushort, "mapsize")), "values")]),
2813     GlFunction(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]),
2814     GlFunction(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, height, 1, 0)"), "pixels")]),
2815     GlFunction(Void, "glGetClipPlane", [(GLenum, "plane"), Out(Array(GLdouble, "4"), "equation")], sideeffects=False),
2816     GlFunction(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2817     GlFunction(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2818     GlFunction(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLdouble), "v")], sideeffects=False),
2819     GlFunction(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLfloat), "v")], sideeffects=False),
2820     GlFunction(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), Out(Pointer(GLint), "v")], sideeffects=False),
2821     GlFunction(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2822     GlFunction(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2823     GlFunction(Void, "glGetPixelMapfv", [(GLenum, "map"), Out(Pointer(GLfloat), "values")], sideeffects=False),
2824     GlFunction(Void, "glGetPixelMapuiv", [(GLenum, "map"), Out(Pointer(GLuint), "values")], sideeffects=False),
2825     GlFunction(Void, "glGetPixelMapusv", [(GLenum, "map"), Out(Pointer(GLushort), "values")], sideeffects=False),
2826     GlFunction(Void, "glGetPolygonStipple", [Out(Pointer(GLubyte), "mask")], sideeffects=False),
2827     GlFunction(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
2828     GlFunction(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
2829     GlFunction(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), Out(OpaquePointer(GLdouble), "params")], sideeffects=False),
2830     GlFunction(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
2831     GlFunction(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
2832     GlFunction(GLboolean, "glIsList", [(GLuint, "list")]),
2833     GlFunction(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
2834     GlFunction(Void, "glLoadIdentity", []),
2835     GlFunction(Void, "glLoadMatrixf", [(Const(Array(GLfloat, "16")), "m")]),
2836     GlFunction(Void, "glLoadMatrixd", [(Const(Array(GLdouble, "16")), "m")]),
2837     GlFunction(Void, "glMatrixMode", [(GLenum, "mode")]),
2838     GlFunction(Void, "glMultMatrixf", [(Const(Array(GLfloat, "16")), "m")]),
2839     GlFunction(Void, "glMultMatrixd", [(Const(Array(GLdouble, "16")), "m")]),
2840     GlFunction(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
2841     GlFunction(Void, "glPopMatrix", []),
2842     GlFunction(Void, "glPushMatrix", []),
2843     GlFunction(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
2844     GlFunction(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
2845     GlFunction(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
2846     GlFunction(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
2847     GlFunction(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
2848     GlFunction(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
2849
2850     # GL_VERSION_1_1
2851     GlFunction(Void, "glDrawArrays", [(GLenum_mode, "mode"), (GLint, "first"), (GLsizei, "count")]),
2852     GlFunction(Void, "glDrawElements", [(GLenum_mode, "mode"), (GLsizei, "count"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_calllists_size(count, type)"), "indices")]),
2853     GlFunction(Void, "glGetPointerv", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False),
2854     GlFunction(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]),
2855     GlFunction(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]),
2856     GlFunction(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]),
2857     GlFunction(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
2858     GlFunction(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
2859     GlFunction(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, 1, 1, 0)"), "pixels")]),
2860     GlFunction(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, height, 1, 0)"), "pixels")]),
2861     GlFunction(Void, "glBindTexture", [(GLenum, "target"), (GLtexture, "texture")]),
2862     GlFunction(Void, "glDeleteTextures", [(GLsizei, "n"), (Const(Array(GLtexture, "n")), "textures")]),
2863     GlFunction(Void, "glGenTextures", [(GLsizei, "n"), Out(Array(GLtexture, "n"), "textures")]),
2864     GlFunction(GLboolean, "glIsTexture", [(GLtexture, "texture")]),
2865
2866     # GL_VERSION_1_1_DEPRECATED
2867     GlFunction(Void, "glArrayElement", [(GLint, "i")]),
2868     GlFunction(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2869     GlFunction(Void, "glDisableClientState", [(GLenum, "array")]),
2870     GlFunction(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2871     GlFunction(Void, "glEnableClientState", [(GLenum, "array")]),
2872     GlFunction(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2873     GlFunction(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2874     GlFunction(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2875     GlFunction(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2876     GlFunction(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2877     GlFunction(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Const(Array(GLtexture, "n")), "textures"), Out(Array(GLboolean, "n"), "residences")]),
2878     GlFunction(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Const(Array(GLtexture, "n")), "textures"), (Const(Array(GLclampf, "n")), "priorities")]),
2879     GlFunction(Void, "glIndexub", [(GLubyte, "c")]),
2880     GlFunction(Void, "glIndexubv", [(Const(Array(GLubyte, "1")), "c")]),
2881     GlFunction(Void, "glPopClientAttrib", []),
2882     GlFunction(Void, "glPushClientAttrib", [(GLbitfield_client_attrib, "mask")]),
2883
2884     # GL_VERSION_1_2
2885     GlFunction(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
2886     GlFunction(Void, "glBlendEquation", [(GLenum, "mode")]),
2887     GlFunction(Void, "glDrawRangeElements", [(GLenum_mode, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_calllists_size(count, type)"), "indices")]),
2888     GlFunction(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, height, depth, border)"), "pixels")]),
2889     GlFunction(Void, "glTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Blob(Const(GLvoid), "__gl_image_size(format, type, width, height, depth, 0)"), "pixels")]),
2890     GlFunction(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
2891
2892     # GL_VERSION_1_2_DEPRECATED
2893     GlFunction(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "table")]),
2894     GlFunction(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
2895     GlFunction(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
2896     GlFunction(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
2897     GlFunction(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (OpaquePointer(GLvoid), "table")], sideeffects=False),
2898     GlFunction(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2899     GlFunction(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2900     GlFunction(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "data")]),
2901     GlFunction(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
2902     GlFunction(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "image")]),
2903     GlFunction(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "image")]),
2904     GlFunction(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]),
2905     GlFunction(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
2906     GlFunction(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]),
2907     GlFunction(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
2908     GlFunction(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
2909     GlFunction(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
2910     GlFunction(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (OpaquePointer(GLvoid), "image")], sideeffects=False),
2911     GlFunction(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2912     GlFunction(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2913     GlFunction(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (OpaquePointer(GLvoid), "row"), (OpaquePointer(GLvoid), "column"), (OpaquePointer(GLvoid), "span")], sideeffects=False),
2914     GlFunction(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "row"), (Const(OpaquePointer(GLvoid)), "column")]),
2915     GlFunction(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (OpaquePointer(GLvoid), "values")], sideeffects=False),
2916     GlFunction(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2917     GlFunction(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2918     GlFunction(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (OpaquePointer(GLvoid), "values")], sideeffects=False),
2919     GlFunction(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLfloat), "params")], sideeffects=False),
2920     GlFunction(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
2921     GlFunction(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]),
2922     GlFunction(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]),
2923     GlFunction(Void, "glResetHistogram", [(GLenum, "target")]),
2924     GlFunction(Void, "glResetMinmax", [(GLenum, "target")]),
2925
2926     # GL_VERSION_1_3
2927     GlFunction(Void, "glActiveTexture", [(GLenum, "texture")]),
2928     GlFunction(Void, "glSampleCoverage", [(GLclampf, "value"), (GLboolean, "invert")]),
2929     GlFunction(Void, "glCompressedTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2930     GlFunction(Void, "glCompressedTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2931     GlFunction(Void, "glCompressedTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2932     GlFunction(Void, "glCompressedTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2933     GlFunction(Void, "glCompressedTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2934     GlFunction(Void, "glCompressedTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(Blob(GLvoid, "imageSize")), "data")]),
2935     GlFunction(Void, "glGetCompressedTexImage", [(GLenum, "target"), (GLint, "level"), Out(OpaquePointer(GLvoid), "img")], sideeffects=False),
2936
2937     # GL_VERSION_1_3_DEPRECATED
2938     GlFunction(Void, "glClientActiveTexture", [(GLenum, "texture")]),
2939     GlFunction(Void, "glMultiTexCoord1d", [(GLenum, "target"), (GLdouble, "s")]),
2940     GlFunction(Void, "glMultiTexCoord1dv", [(GLenum, "target"), (Const(Array(GLdouble, "1")), "v")]),
2941     GlFunction(Void, "glMultiTexCoord1f", [(GLenum, "target"), (GLfloat, "s")]),
2942     GlFunction(Void, "glMultiTexCoord1fv", [(GLenum, "target"), (Const(Array(GLfloat, "1")), "v")]),
2943     GlFunction(Void, "glMultiTexCoord1i", [(GLenum, "target"), (GLint, "s")]),
2944     GlFunction(Void, "glMultiTexCoord1iv", [(GLenum, "target"), (Const(Array(GLint, "1")), "v")]),
2945     GlFunction(Void, "glMultiTexCoord1s", [(GLenum, "target"), (GLshort, "s")]),
2946     GlFunction(Void, "glMultiTexCoord1sv", [(GLenum, "target"), (Const(Array(GLshort, "1")), "v")]),
2947     GlFunction(Void, "glMultiTexCoord2d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]),
2948     GlFunction(Void, "glMultiTexCoord2dv", [(GLenum, "target"), (Const(Array(GLdouble, "2")), "v")]),
2949     GlFunction(Void, "glMultiTexCoord2f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]),
2950     GlFunction(Void, "glMultiTexCoord2fv", [(GLenum, "target"), (Const(Array(GLfloat, "2")), "v")]),
2951     GlFunction(Void, "glMultiTexCoord2i", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]),
2952     GlFunction(Void, "glMultiTexCoord2iv", [(GLenum, "target"), (Const(Array(GLint, "2")), "v")]),
2953     GlFunction(Void, "glMultiTexCoord2s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]),
2954     GlFunction(Void, "glMultiTexCoord2sv", [(GLenum, "target"), (Const(Array(GLshort, "2")), "v")]),
2955     GlFunction(Void, "glMultiTexCoord3d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
2956     GlFunction(Void, "glMultiTexCoord3dv", [(GLenum, "target"), (Const(Array(GLdouble, "3")), "v")]),
2957     GlFunction(Void, "glMultiTexCoord3f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
2958     GlFunction(Void, "glMultiTexCoord3fv", [(GLenum, "target"), (Const(Array(GLfloat, "3")), "v")]),
2959     GlFunction(Void, "glMultiTexCoord3i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]),
2960     GlFunction(Void, "glMultiTexCoord3iv", [(GLenum, "target"), (Const(Array(GLint, "3")), "v")]),
2961     GlFunction(Void, "glMultiTexCoord3s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
2962     GlFunction(Void, "glMultiTexCoord3sv", [(GLenum, "target"), (Const(Array(GLshort, "3")), "v")]),
2963     GlFunction(Void, "glMultiTexCoord4d", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
2964     GlFunction(Void, "glMultiTexCoord4dv", [(GLenum, "target"), (Const(Array(GLdouble, "4")), "v")]),
2965     GlFunction(Void, "glMultiTexCoord4f", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
2966     GlFunction(Void, "glMultiTexCoord4fv", [(GLenum, "target"), (Const(Array(GLfloat, "4")), "v")]),
2967     GlFunction(Void, "glMultiTexCoord4i", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
2968     GlFunction(Void, "glMultiTexCoord4iv", [(GLenum, "target"), (Const(Array(GLint, "4")), "v")]),
2969     GlFunction(Void, "glMultiTexCoord4s", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
2970     GlFunction(Void, "glMultiTexCoord4sv", [(GLenum, "target"), (Const(Array(GLshort, "4")), "v")]),
2971     GlFunction(Void, "glLoadTransposeMatrixf", [(Const(Array(GLfloat, "16")), "m")]),
2972     GlFunction(Void, "glLoadTransposeMatrixd", [(Const(Array(GLdouble, "16")), "m")]),
2973     GlFunction(Void, "glMultTransposeMatrixf", [(Const(Array(GLfloat, "16")), "m")]),
2974     GlFunction(Void, "glMultTransposeMatrixd", [(Const(Array(GLdouble, "16")), "m")]),
2975
2976     # GL_VERSION_1_4
2977     GlFunction(Void, "glBlendFuncSeparate", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]),
2978     GlFunction(Void, "glMultiDrawArrays", [(GLenum_mode, "mode"), (OpaquePointer(GLint), "first"), (OpaquePointer(GLsizei), "count"), (GLsizei, "primcount")]),
2979     GlFunction(Void, "glMultiDrawElements", [(GLenum_mode, "mode"), (Const(Array(GLsizei, "primcount")), "count"), (GLenum, "type"), (Array(Const(Const(OpaquePointer(GLvoid))), "primcount"), "indices"), (GLsizei, "primcount")]),
2980     GlFunction(Void, "glPointParameterf", [(GLenum, "pname"), (GLfloat, "param")]),
2981     GlFunction(Void, "glPointParameterfv", [(GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
2982     GlFunction(Void, "glPointParameteri", [(GLenum, "pname"), (GLint, "param")]),
2983     GlFunction(Void, "glPointParameteriv", [(GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
2984
2985     # GL_VERSION_1_4_DEPRECATED
2986     GlFunction(Void, "glFogCoordf", [(GLfloat, "coord")]),
2987     GlFunction(Void, "glFogCoordfv", [(Const(Array(GLfloat, "1")), "coord")]),
2988     GlFunction(Void, "glFogCoordd", [(GLdouble, "coord")]),
2989     GlFunction(Void, "glFogCoorddv", [(Const(Array(GLdouble, "1")), "coord")]),
2990     GlFunction(Void, "glFogCoordPointer", [(GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
2991     GlFunction(Void, "glSecondaryColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
2992     GlFunction(Void, "glSecondaryColor3bv", [(Const(Array(GLbyte, "3")), "v")]),
2993     GlFunction(Void, "glSecondaryColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
2994     GlFunction(Void, "glSecondaryColor3dv", [(Const(Array(GLdouble, "3")), "v")]),
2995     GlFunction(Void, "glSecondaryColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
2996     GlFunction(Void, "glSecondaryColor3fv", [(Const(Array(GLfloat, "3")), "v")]),
2997     GlFunction(Void, "glSecondaryColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
2998     GlFunction(Void, "glSecondaryColor3iv", [(Const(Array(GLint, "3")), "v")]),
2999     GlFunction(Void, "glSecondaryColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
3000     GlFunction(Void, "glSecondaryColor3sv", [(Const(Array(GLshort, "3")), "v")]),
3001     GlFunction(Void, "glSecondaryColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
3002     GlFunction(Void, "glSecondaryColor3ubv", [(Const(Array(GLubyte, "3")), "v")]),
3003     GlFunction(Void, "glSecondaryColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
3004     GlFunction(Void, "glSecondaryColor3uiv", [(Const(Array(GLuint, "3")), "v")]),
3005     GlFunction(Void, "glSecondaryColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
3006     GlFunction(Void, "glSecondaryColor3usv", [(Const(Array(GLushort, "3")), "v")]),
3007     GlFunction(Void, "glSecondaryColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3008     GlFunction(Void, "glWindowPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
3009     GlFunction(Void, "glWindowPos2dv", [(Const(Array(GLdouble, "2")), "v")]),
3010     GlFunction(Void, "glWindowPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
3011     GlFunction(Void, "glWindowPos2fv", [(Const(Array(GLfloat, "2")), "v")]),
3012     GlFunction(Void, "glWindowPos2i", [(GLint, "x"), (GLint, "y")]),
3013     GlFunction(Void, "glWindowPos2iv", [(Const(Array(GLint, "2")), "v")]),
3014     GlFunction(Void, "glWindowPos2s", [(GLshort, "x"), (GLshort, "y")]),
3015     GlFunction(Void, "glWindowPos2sv", [(Const(Array(GLshort, "2")), "v")]),
3016     GlFunction(Void, "glWindowPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3017     GlFunction(Void, "glWindowPos3dv", [(Const(Array(GLdouble, "3")), "v")]),
3018     GlFunction(Void, "glWindowPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3019     GlFunction(Void, "glWindowPos3fv", [(Const(Array(GLfloat, "3")), "v")]),
3020     GlFunction(Void, "glWindowPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
3021     GlFunction(Void, "glWindowPos3iv", [(Const(Array(GLint, "3")), "v")]),
3022     GlFunction(Void, "glWindowPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3023     GlFunction(Void, "glWindowPos3sv", [(Const(Array(GLshort, "3")), "v")]),
3024
3025     # GL_VERSION_1_5
3026     GlFunction(Void, "glGenQueries", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]),
3027     GlFunction(Void, "glDeleteQueries", [(GLsizei, "n"), (Const(Array(GLquery, "n")), "ids")]),
3028     GlFunction(GLboolean, "glIsQuery", [(GLquery, "id")]),
3029     GlFunction(Void, "glBeginQuery", [(GLenum, "target"), (GLquery, "id")]),
3030     GlFunction(Void, "glEndQuery", [(GLenum, "target")]),
3031     GlFunction(Void, "glGetQueryiv", [(GLenum, "target"), (GLenum, "pname"), Out(Array(GLint, "pname"), "params")], sideeffects=False),
3032     GlFunction(Void, "glGetQueryObjectiv", [(GLuint, "id"), (GLenum, "pname"), Out(Array(GLint, "pname"), "params")], sideeffects=False),
3033     GlFunction(Void, "glGetQueryObjectuiv", [(GLuint, "id"), (GLenum, "pname"), Out(Array(GLuint, "pname"), "params")], sideeffects=False),
3034     GlFunction(Void, "glBindBuffer", [(GLenum, "target"), (GLbuffer, "buffer")]),
3035     GlFunction(Void, "glDeleteBuffers", [(GLsizei, "n"), (Const(Array(GLbuffer, "n")), "buffer")]),
3036     GlFunction(Void, "glGenBuffers", [(GLsizei, "n"), Out(Array(GLbuffer, "n"), "buffer")]),
3037     GlFunction(GLboolean, "glIsBuffer", [(GLbuffer, "buffer")]),
3038     GlFunction(Void, "glBufferData", [(GLenum, "target"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data"), (GLenum, "usage")]),
3039     GlFunction(Void, "glBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), (Blob(Const(GLvoid), "size"), "data")]),
3040     GlFunction(Void, "glGetBufferSubData", [(GLenum, "target"), (GLintptr, "offset"), (GLsizeiptr, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False),
3041     GlFunction(OpaquePointer(GLvoid), "glMapBuffer", [(GLenum, "target"), (GLenum, "access")]),
3042     GlFunction(GLboolean, "glUnmapBuffer", [(GLenum, "target")]),
3043     GlFunction(Void, "glGetBufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3044     GlFunction(Void, "glGetBufferPointerv", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(OpaquePointer(GLvoid)), "params")], sideeffects=False),
3045
3046     # GL_VERSION_2_0
3047     GlFunction(Void, "glBlendEquationSeparate", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]),
3048     GlFunction(Void, "glDrawBuffers", [(GLsizei, "n"), (Const(Array(GLenum, "n")), "bufs")]),
3049     GlFunction(Void, "glStencilOpSeparate", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "zfail"), (GLenum, "zpass")]),
3050     GlFunction(Void, "glStencilFuncSeparate", [(GLenum, "face"), (GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
3051     GlFunction(Void, "glStencilMaskSeparate", [(GLenum, "face"), (GLuint, "mask")]),
3052     GlFunction(Void, "glAttachShader", [(GLuint, "program"), (GLuint, "shader")]),
3053     GlFunction(Void, "glBindAttribLocation", [(GLuint, "program"), (GLuint, "index"), (Const(GLstring), "name")]),
3054     GlFunction(Void, "glCompileShader", [(GLuint, "shader")]),
3055     GlFunction(GLuint, "glCreateProgram", []),
3056     GlFunction(GLuint, "glCreateShader", [(GLenum, "type")]),
3057     GlFunction(Void, "glDeleteProgram", [(GLuint, "program")]),
3058     GlFunction(Void, "glDeleteShader", [(GLuint, "shader")]),
3059     GlFunction(Void, "glDetachShader", [(GLuint, "program"), (GLuint, "shader")]),
3060     GlFunction(Void, "glDisableVertexAttribArray", [(GLuint, "index")]),
3061     GlFunction(Void, "glEnableVertexAttribArray", [(GLuint, "index")]),
3062     GlFunction(Void, "glGetActiveAttrib", [(GLuint, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False),
3063     GlFunction(Void, "glGetActiveUniform", [(GLuint, "program"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstring, "name")], sideeffects=False),
3064     GlFunction(Void, "glGetAttachedShaders", [(GLuint, "program"), (GLsizei, "maxCount"), Out(Pointer(GLsizei), "count"), Out(Array(GLuint, "maxCount"), "obj")], sideeffects=False),
3065     GlFunction(GLint, "glGetAttribLocation", [(GLuint, "program"), (Const(GLstring), "name")], sideeffects=False),
3066     GlFunction(Void, "glGetProgramiv", [(GLuint, "program"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3067     GlFunction(Void, "glGetProgramInfoLog", [(GLuint, "program"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False),
3068     GlFunction(Void, "glGetShaderiv", [(GLuint, "shader"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3069     GlFunction(Void, "glGetShaderInfoLog", [(GLuint, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False),
3070     GlFunction(Void, "glGetShaderSource", [(GLuint, "shader"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(String("GLchar *", "*length"), "source")], sideeffects=False),
3071     GlFunction(GLint, "glGetUniformLocation", [(GLuint, "program"), (Const(GLstring), "name")], sideeffects=False),
3072     GlFunction(Void, "glGetUniformfv", [(GLuint, "program"), (GLint, "location"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3073     GlFunction(Void, "glGetUniformiv", [(GLuint, "program"), (GLint, "location"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3074     GlFunction(Void, "glGetVertexAttribdv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "4"), "params")], sideeffects=False),
3075     GlFunction(Void, "glGetVertexAttribfv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "4"), "params")], sideeffects=False),
3076     GlFunction(Void, "glGetVertexAttribiv", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "4"), "params")], sideeffects=False),
3077     #GlFunction(Void, "glGetVertexAttribPointerv", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(GLvoid*), "pointer")], sideeffects=False),
3078     GlFunction(GLboolean, "glIsProgram", [(GLuint, "program")]),
3079     GlFunction(GLboolean, "glIsShader", [(GLuint, "shader")]),
3080     GlFunction(Void, "glLinkProgram", [(GLuint, "program")]),
3081     GlFunction(Void, "glShaderSource", [(GLuint, "shader"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Const(Array(GLint, "count")), "length")]),
3082     GlFunction(Void, "glUseProgram", [(GLuint, "program")]),
3083     GlFunction(Void, "glUniform1f", [(GLint, "location"), (GLfloat, "v0")]),
3084     GlFunction(Void, "glUniform2f", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1")]),
3085     GlFunction(Void, "glUniform3f", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]),
3086     GlFunction(Void, "glUniform4f", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]),
3087     GlFunction(Void, "glUniform1i", [(GLint, "location"), (GLint, "v0")]),
3088     GlFunction(Void, "glUniform2i", [(GLint, "location"), (GLint, "v0"), (GLint, "v1")]),
3089     GlFunction(Void, "glUniform3i", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]),
3090     GlFunction(Void, "glUniform4i", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]),
3091     GlFunction(Void, "glUniform1fv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "value")]),
3092     GlFunction(Void, "glUniform2fv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "value")]),
3093     GlFunction(Void, "glUniform3fv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "value")]),
3094     GlFunction(Void, "glUniform4fv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "value")]),
3095     GlFunction(Void, "glUniform1iv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "count")), "value")]),
3096     GlFunction(Void, "glUniform2iv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "count")), "value")]),
3097     GlFunction(Void, "glUniform3iv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "count")), "value")]),
3098     GlFunction(Void, "glUniform4iv", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "count")), "value")]),
3099     GlFunction(Void, "glUniformMatrix2fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "4")), "value")]),
3100     GlFunction(Void, "glUniformMatrix3fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "9")), "value")]),
3101     GlFunction(Void, "glUniformMatrix4fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "16")), "value")]),
3102     GlFunction(Void, "glValidateProgram", [(GLuint, "program")]),
3103     GlFunction(Void, "glVertexAttrib1d", [(GLuint, "index"), (GLdouble, "x")]),
3104     GlFunction(Void, "glVertexAttrib1dv", [(GLuint, "index"), (Const(Pointer(GLdouble)), "v")]),
3105     GlFunction(Void, "glVertexAttrib1f", [(GLuint, "index"), (GLfloat, "x")]),
3106     GlFunction(Void, "glVertexAttrib1fv", [(GLuint, "index"), (Const(Pointer(GLfloat)), "v")]),
3107     GlFunction(Void, "glVertexAttrib1s", [(GLuint, "index"), (GLshort, "x")]),
3108     GlFunction(Void, "glVertexAttrib1sv", [(GLuint, "index"), (Const(Pointer(GLshort)), "v")]),
3109     GlFunction(Void, "glVertexAttrib2d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]),
3110     GlFunction(Void, "glVertexAttrib2dv", [(GLuint, "index"), (Const(Array(GLdouble, "2")), "v")]),
3111     GlFunction(Void, "glVertexAttrib2f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]),
3112     GlFunction(Void, "glVertexAttrib2fv", [(GLuint, "index"), (Const(Array(GLfloat, "2")), "v")]),
3113     GlFunction(Void, "glVertexAttrib2s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]),
3114     GlFunction(Void, "glVertexAttrib2sv", [(GLuint, "index"), (Const(Array(GLshort, "2")), "v")]),
3115     GlFunction(Void, "glVertexAttrib3d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3116     GlFunction(Void, "glVertexAttrib3dv", [(GLuint, "index"), (Const(Array(GLdouble, "3")), "v")]),
3117     GlFunction(Void, "glVertexAttrib3f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3118     GlFunction(Void, "glVertexAttrib3fv", [(GLuint, "index"), (Const(Array(GLfloat, "3")), "v")]),
3119     GlFunction(Void, "glVertexAttrib3s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3120     GlFunction(Void, "glVertexAttrib3sv", [(GLuint, "index"), (Const(Array(GLshort, "3")), "v")]),
3121     GlFunction(Void, "glVertexAttrib4Nbv", [(GLuint, "index"), (Const(Array(GLbyte, "4")), "v")]),
3122     GlFunction(Void, "glVertexAttrib4Niv", [(GLuint, "index"), (Const(Array(GLint, "4")), "v")]),
3123     GlFunction(Void, "glVertexAttrib4Nsv", [(GLuint, "index"), (Const(Array(GLshort, "4")), "v")]),
3124     GlFunction(Void, "glVertexAttrib4Nub", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
3125     GlFunction(Void, "glVertexAttrib4Nubv", [(GLuint, "index"), (Const(Array(GLubyte, "4")), "v")]),
3126     GlFunction(Void, "glVertexAttrib4Nuiv", [(GLuint, "index"), (Const(Array(GLuint, "4")), "v")]),
3127     GlFunction(Void, "glVertexAttrib4Nusv", [(GLuint, "index"), (Const(Array(GLushort, "4")), "v")]),
3128     GlFunction(Void, "glVertexAttrib4bv", [(GLuint, "index"), (Const(Array(GLbyte, "4")), "v")]),
3129     GlFunction(Void, "glVertexAttrib4d", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3130     GlFunction(Void, "glVertexAttrib4dv", [(GLuint, "index"), (Const(Array(GLdouble, "4")), "v")]),
3131     GlFunction(Void, "glVertexAttrib4f", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3132     GlFunction(Void, "glVertexAttrib4fv", [(GLuint, "index"), (Const(Array(GLfloat, "4")), "v")]),
3133     GlFunction(Void, "glVertexAttrib4iv", [(GLuint, "index"), (Const(Array(GLint, "4")), "v")]),
3134     GlFunction(Void, "glVertexAttrib4s", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
3135     GlFunction(Void, "glVertexAttrib4sv", [(GLuint, "index"), (Const(Array(GLshort, "4")), "v")]),
3136     GlFunction(Void, "glVertexAttrib4ubv", [(GLuint, "index"), (Const(Array(GLubyte, "4")), "v")]),
3137     GlFunction(Void, "glVertexAttrib4uiv", [(GLuint, "index"), (Const(Array(GLuint, "4")), "v")]),
3138     GlFunction(Void, "glVertexAttrib4usv", [(GLuint, "index"), (Const(Array(GLushort, "4")), "v")]),
3139     GlFunction(Void, "glVertexAttribPointer", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3140
3141     # GL_VERSION_2_1
3142     GlFunction(Void, "glUniformMatrix2x3fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "6")), "value")]),
3143     GlFunction(Void, "glUniformMatrix3x2fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "6")), "value")]),
3144     GlFunction(Void, "glUniformMatrix2x4fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "8")), "value")]),
3145     GlFunction(Void, "glUniformMatrix4x2fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "8")), "value")]),
3146     GlFunction(Void, "glUniformMatrix3x4fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "12")), "value")]),
3147     GlFunction(Void, "glUniformMatrix4x3fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "12")), "value")]),
3148
3149     # GL_ARB_multitexture
3150     GlFunction(Void, "glActiveTextureARB", [(GLenum, "texture")]),
3151     GlFunction(Void, "glClientActiveTextureARB", [(GLenum, "texture")]),
3152     GlFunction(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]),
3153     GlFunction(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Const(Pointer(GLdouble)), "v")]),
3154     GlFunction(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]),
3155     GlFunction(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Const(Pointer(GLfloat)), "v")]),
3156     GlFunction(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]),
3157     GlFunction(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Const(Pointer(GLint)), "v")]),
3158     GlFunction(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]),
3159     GlFunction(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Const(Pointer(GLshort)), "v")]),
3160     GlFunction(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]),
3161     GlFunction(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Const(Array(GLdouble, "2")), "v")]),
3162     GlFunction(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]),
3163     GlFunction(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Const(Array(GLfloat, "2")), "v")]),
3164     GlFunction(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]),
3165     GlFunction(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Const(Array(GLint, "2")), "v")]),
3166     GlFunction(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]),
3167     GlFunction(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Const(Array(GLshort, "2")), "v")]),
3168     GlFunction(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
3169     GlFunction(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Const(Array(GLdouble, "3")), "v")]),
3170     GlFunction(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
3171     GlFunction(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Const(Array(GLfloat, "3")), "v")]),
3172     GlFunction(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]),
3173     GlFunction(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Const(Array(GLint, "3")), "v")]),
3174     GlFunction(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
3175     GlFunction(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Const(Array(GLshort, "3")), "v")]),
3176     GlFunction(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
3177     GlFunction(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Const(Array(GLdouble, "4")), "v")]),
3178     GlFunction(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
3179     GlFunction(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Const(Array(GLfloat, "4")), "v")]),
3180     GlFunction(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
3181     GlFunction(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Const(Array(GLint, "4")), "v")]),
3182     GlFunction(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
3183     GlFunction(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Const(Array(GLshort, "4")), "v")]),
3184
3185     # GL_ARB_transpose_matrix
3186     GlFunction(Void, "glLoadTransposeMatrixfARB", [(Const(Array(GLfloat, "16")), "m")]),
3187     GlFunction(Void, "glLoadTransposeMatrixdARB", [(Const(Array(GLdouble, "16")), "m")]),
3188     GlFunction(Void, "glMultTransposeMatrixfARB", [(Const(Array(GLfloat, "16")), "m")]),
3189     GlFunction(Void, "glMultTransposeMatrixdARB", [(Const(Array(GLdouble, "16")), "m")]),
3190
3191     # GL_ARB_multisample
3192     GlFunction(Void, "glSampleCoverageARB", [(GLclampf, "value"), (GLboolean, "invert")]),
3193
3194     # GL_ARB_texture_compression
3195     GlFunction(Void, "glCompressedTexImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3196     GlFunction(Void, "glCompressedTexImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3197     GlFunction(Void, "glCompressedTexImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3198     GlFunction(Void, "glCompressedTexSubImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3199     GlFunction(Void, "glCompressedTexSubImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3200     GlFunction(Void, "glCompressedTexSubImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Const(OpaquePointer(Void)), "data")]),
3201     GlFunction(Void, "glGetCompressedTexImageARB", [(GLenum, "target"), (GLint, "level"), Out(OpaquePointer(GLvoid), "img")], sideeffects=False),
3202
3203     # GL_ARB_matrix_palette
3204     GlFunction(Void, "glCurrentPaletteMatrixARB", [(GLint, "index")]),
3205     GlFunction(Void, "glMatrixIndexubvARB", [(GLint, "size"), (Const(Array(GLubyte, "size")), "indices")]),
3206     GlFunction(Void, "glMatrixIndexusvARB", [(GLint, "size"), (Const(Array(GLushort, "size")), "indices")]),
3207     GlFunction(Void, "glMatrixIndexuivARB", [(GLint, "size"), (Const(Array(GLuint, "size")), "indices")]),
3208     GlFunction(Void, "glMatrixIndexPointerARB", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3209
3210     # GL_ARB_window_pos
3211     GlFunction(Void, "glWindowPos2dARB", [(GLdouble, "x"), (GLdouble, "y")]),
3212     GlFunction(Void, "glWindowPos2dvARB", [(Const(Array(GLdouble, "2")), "v")]),
3213     GlFunction(Void, "glWindowPos2fARB", [(GLfloat, "x"), (GLfloat, "y")]),
3214     GlFunction(Void, "glWindowPos2fvARB", [(Const(Array(GLfloat, "2")), "v")]),
3215     GlFunction(Void, "glWindowPos2iARB", [(GLint, "x"), (GLint, "y")]),
3216     GlFunction(Void, "glWindowPos2ivARB", [(Const(Array(GLint, "2")), "v")]),
3217     GlFunction(Void, "glWindowPos2sARB", [(GLshort, "x"), (GLshort, "y")]),
3218     GlFunction(Void, "glWindowPos2svARB", [(Const(Array(GLshort, "2")), "v")]),
3219     GlFunction(Void, "glWindowPos3dARB", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3220     GlFunction(Void, "glWindowPos3dvARB", [(Const(Array(GLdouble, "3")), "v")]),
3221     GlFunction(Void, "glWindowPos3fARB", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3222     GlFunction(Void, "glWindowPos3fvARB", [(Const(Array(GLfloat, "3")), "v")]),
3223     GlFunction(Void, "glWindowPos3iARB", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
3224     GlFunction(Void, "glWindowPos3ivARB", [(Const(Array(GLint, "3")), "v")]),
3225     GlFunction(Void, "glWindowPos3sARB", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3226     GlFunction(Void, "glWindowPos3svARB", [(Const(Array(GLshort, "3")), "v")]),
3227
3228     # GL_ARB_vertex_program
3229     GlFunction(Void, "glVertexAttrib1dARB", [(GLuint, "index"), (GLdouble, "x")]),
3230     GlFunction(Void, "glVertexAttrib1dvARB", [(GLuint, "index"), (Const(Pointer(GLdouble)), "v")]),
3231     GlFunction(Void, "glVertexAttrib1fARB", [(GLuint, "index"), (GLfloat, "x")]),
3232     GlFunction(Void, "glVertexAttrib1fvARB", [(GLuint, "index"), (Const(Pointer(GLfloat)), "v")]),
3233     GlFunction(Void, "glVertexAttrib1sARB", [(GLuint, "index"), (GLshort, "x")]),
3234     GlFunction(Void, "glVertexAttrib1svARB", [(GLuint, "index"), (Const(Pointer(GLshort)), "v")]),
3235     GlFunction(Void, "glVertexAttrib2dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]),
3236     GlFunction(Void, "glVertexAttrib2dvARB", [(GLuint, "index"), (Const(Array(GLdouble, "2")), "v")]),
3237     GlFunction(Void, "glVertexAttrib2fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]),
3238     GlFunction(Void, "glVertexAttrib2fvARB", [(GLuint, "index"), (Const(Array(GLfloat, "2")), "v")]),
3239     GlFunction(Void, "glVertexAttrib2sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]),
3240     GlFunction(Void, "glVertexAttrib2svARB", [(GLuint, "index"), (Const(Array(GLshort, "2")), "v")]),
3241     GlFunction(Void, "glVertexAttrib3dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3242     GlFunction(Void, "glVertexAttrib3dvARB", [(GLuint, "index"), (Const(Array(GLdouble, "3")), "v")]),
3243     GlFunction(Void, "glVertexAttrib3fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3244     GlFunction(Void, "glVertexAttrib3fvARB", [(GLuint, "index"), (Const(Array(GLfloat, "3")), "v")]),
3245     GlFunction(Void, "glVertexAttrib3sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3246     GlFunction(Void, "glVertexAttrib3svARB", [(GLuint, "index"), (Const(Array(GLshort, "3")), "v")]),
3247     GlFunction(Void, "glVertexAttrib4NbvARB", [(GLuint, "index"), (Const(Array(GLbyte, "4")), "v")]),
3248     GlFunction(Void, "glVertexAttrib4NivARB", [(GLuint, "index"), (Const(Array(GLint, "4")), "v")]),
3249     GlFunction(Void, "glVertexAttrib4NsvARB", [(GLuint, "index"), (Const(Array(GLshort, "4")), "v")]),
3250     GlFunction(Void, "glVertexAttrib4NubARB", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
3251     GlFunction(Void, "glVertexAttrib4NubvARB", [(GLuint, "index"), (Const(Array(GLubyte, "4")), "v")]),
3252     GlFunction(Void, "glVertexAttrib4NuivARB", [(GLuint, "index"), (Const(Array(GLuint, "4")), "v")]),
3253     GlFunction(Void, "glVertexAttrib4NusvARB", [(GLuint, "index"), (Const(Array(GLushort, "4")), "v")]),
3254     GlFunction(Void, "glVertexAttrib4bvARB", [(GLuint, "index"), (Const(Array(GLbyte, "4")), "v")]),
3255     GlFunction(Void, "glVertexAttrib4dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3256     GlFunction(Void, "glVertexAttrib4dvARB", [(GLuint, "index"), (Const(Array(GLdouble, "4")), "v")]),
3257     GlFunction(Void, "glVertexAttrib4fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3258     GlFunction(Void, "glVertexAttrib4fvARB", [(GLuint, "index"), (Const(Array(GLfloat, "4")), "v")]),
3259     GlFunction(Void, "glVertexAttrib4ivARB", [(GLuint, "index"), (Const(Array(GLint, "4")), "v")]),
3260     GlFunction(Void, "glVertexAttrib4sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
3261     GlFunction(Void, "glVertexAttrib4svARB", [(GLuint, "index"), (Const(Array(GLshort, "4")), "v")]),
3262     GlFunction(Void, "glVertexAttrib4ubvARB", [(GLuint, "index"), (Const(Array(GLubyte, "4")), "v")]),
3263     GlFunction(Void, "glVertexAttrib4uivARB", [(GLuint, "index"), (Const(Array(GLuint, "4")), "v")]),
3264     GlFunction(Void, "glVertexAttrib4usvARB", [(GLuint, "index"), (Const(Array(GLushort, "4")), "v")]),
3265     GlFunction(Void, "glVertexAttribPointerARB", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3266     GlFunction(Void, "glEnableVertexAttribArrayARB", [(GLuint, "index")]),
3267     GlFunction(Void, "glDisableVertexAttribArrayARB", [(GLuint, "index")]),
3268     GlFunction(Void, "glProgramStringARB", [(GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (String("const void *", "len"), "string")]),
3269     GlFunction(Void, "glBindProgramARB", [(GLenum, "target"), (GLuint, "program")]),
3270     GlFunction(Void, "glDeleteProgramsARB", [(GLsizei, "n"), (Const(Array(GLuint, "n")), "programs")]),
3271     GlFunction(Void, "glGenProgramsARB", [(GLsizei, "n"), Out(Array(GLuint, "n"), "programs")]),
3272     GlFunction(Void, "glProgramEnvParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3273     GlFunction(Void, "glProgramEnvParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLdouble, "4")), "params")]),
3274     GlFunction(Void, "glProgramEnvParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3275     GlFunction(Void, "glProgramEnvParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLfloat, "4")), "params")]),
3276     GlFunction(Void, "glProgramLocalParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3277     GlFunction(Void, "glProgramLocalParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLdouble, "4")), "params")]),
3278     GlFunction(Void, "glProgramLocalParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3279     GlFunction(Void, "glProgramLocalParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLfloat, "4")), "params")]),
3280     GlFunction(Void, "glGetProgramEnvParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False),
3281     GlFunction(Void, "glGetProgramEnvParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False),
3282     GlFunction(Void, "glGetProgramLocalParameterdvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLdouble, "4"), "params")], sideeffects=False),
3283     GlFunction(Void, "glGetProgramLocalParameterfvARB", [(GLenum, "target"), (GLuint, "index"), Out(Array(GLfloat, "4"), "params")], sideeffects=False),
3284     GlFunction(Void, "glGetProgramivARB", [(GLenum, "target"), (GLenum, "pname"), Out(Pointer(GLint), "params")], sideeffects=False),
3285     GlFunction(Void, "glGetProgramStringARB", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLvoid), "string")], sideeffects=False),
3286     GlFunction(Void, "glGetVertexAttribdvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLdouble, "4"), "params")], sideeffects=False),
3287     GlFunction(Void, "glGetVertexAttribfvARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLfloat, "4"), "params")], sideeffects=False),
3288     GlFunction(Void, "glGetVertexAttribivARB", [(GLuint, "index"), (GLenum, "pname"), Out(Array(GLint, "4"), "params")], sideeffects=False),
3289     #GlFunction(Void, "glGetVertexAttribPointervARB", [(GLuint, "index"), (GLenum, "pname"), Out(Pointer(), "pointer")], sideeffects=False),
3290     GlFunction(GLboolean, "glIsProgramARB", [(GLuint, "program")]),
3291
3292     # GL_ARB_vertex_buffer_object
3293     GlFunction(Void, "glBindBufferARB", [(GLenum, "target"), (GLuint, "buffer")]),
3294     GlFunction(Void, "glDeleteBuffersARB", [(GLsizei, "n"), (Const(Array(GLuint, "n")), "buffers")]),
3295     GlFunction(Void, "glGenBuffersARB", [(GLsizei, "n"), Out(Array(GLuint, "n"), "buffers")]),
3296     GlFunction(GLboolean, "glIsBufferARB", [(GLuint, "buffer")]),
3297     GlFunction(Void, "glBufferDataARB", [(GLenum, "target"), (GLsizeiptrARB, "size"), (Const(Blob(GLvoid, "size")), "data"), (GLenum, "usage")]),
3298     GlFunction(Void, "glBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), (Const(Blob(GLvoid, "size")), "data")]),
3299     GlFunction(Void, "glGetBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), Out(Blob(GLvoid, "size"), "data")], sideeffects=False),
3300     GlFunction(OpaquePointer(GLvoid), "glMapBufferARB", [(GLenum, "target"), (GLenum, "access")]),
3301     GlFunction(GLboolean, "glUnmapBufferARB", [(GLenum, "target")]),
3302     GlFunction(Void, "glGetBufferParameterivARB", [(GLenum, "target"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3303     GlFunction(Void, "glGetBufferPointervARB", [(GLenum, "target"), (GLenum, "pname"), Out(Array(OpaquePointer(GLvoid), "1"), "params")], sideeffects=False),
3304
3305     # GL_ARB_occlusion_query
3306     GlFunction(Void, "glGenQueriesARB", [(GLsizei, "n"), Out(Array(GLquery, "n"), "ids")]),
3307     GlFunction(Void, "glDeleteQueriesARB", [(GLsizei, "n"), (Const(Array(GLquery, "n")), "ids")]),
3308     GlFunction(GLboolean, "glIsQueryARB", [(GLquery, "id")]),
3309     GlFunction(Void, "glBeginQueryARB", [(GLenum, "target"), (GLquery, "id")]),
3310     GlFunction(Void, "glEndQueryARB", [(GLenum, "target")]),
3311     GlFunction(Void, "glGetQueryivARB", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3312     GlFunction(Void, "glGetQueryObjectivARB", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3313     GlFunction(Void, "glGetQueryObjectuivARB", [(GLquery, "id"), (GLenum, "pname"), (OpaquePointer(GLuint), "params")], sideeffects=False),
3314
3315     # GL_ARB_shader_objects
3316     GlFunction(Void, "glDeleteObjectARB", [(GLhandleARB, "obj")]),
3317     GlFunction(GLhandleARB, "glGetHandleARB", [(GLenum, "pname")], sideeffects=False),
3318     GlFunction(Void, "glDetachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "attachedObj")]),
3319     GlFunction(GLhandleARB, "glCreateShaderObjectARB", [(GLenum, "shaderType")]),
3320     GlFunction(Void, "glShaderSourceARB", [(GLhandleARB, "shaderObj"), (GLsizei, "count"), (Const(Array(Const(GLstringARB), "count")), "string"), (Const(Array(GLint, "count")), "length")]),
3321     GlFunction(Void, "glCompileShaderARB", [(GLhandleARB, "shaderObj")]),
3322     GlFunction(GLhandleARB, "glCreateProgramObjectARB", []),
3323     GlFunction(Void, "glAttachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "obj")]),
3324     GlFunction(Void, "glLinkProgramARB", [(GLhandleARB, "programObj")]),
3325     GlFunction(Void, "glUseProgramObjectARB", [(GLhandleARB, "programObj")]),
3326     GlFunction(Void, "glValidateProgramARB", [(GLhandleARB, "programObj")]),
3327     GlFunction(Void, "glUniform1fARB", [(GLint, "location"), (GLfloat, "v0")]),
3328     GlFunction(Void, "glUniform2fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1")]),
3329     GlFunction(Void, "glUniform3fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]),
3330     GlFunction(Void, "glUniform4fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]),
3331     GlFunction(Void, "glUniform1iARB", [(GLint, "location"), (GLint, "v0")]),
3332     GlFunction(Void, "glUniform2iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1")]),
3333     GlFunction(Void, "glUniform3iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]),
3334     GlFunction(Void, "glUniform4iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]),
3335     GlFunction(Void, "glUniform1fvARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "value")]),
3336     GlFunction(Void, "glUniform2fvARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "(2*count)")), "value")]),
3337     GlFunction(Void, "glUniform3fvARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "(3*count)")), "value")]),
3338     GlFunction(Void, "glUniform4fvARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLfloat, "(4*count)")), "value")]),
3339     GlFunction(Void, "glUniform1ivARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "count")), "value")]),
3340     GlFunction(Void, "glUniform2ivARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "(2*count)")), "value")]),
3341     GlFunction(Void, "glUniform3ivARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "(3*count)")), "value")]),
3342     GlFunction(Void, "glUniform4ivARB", [(GLint, "location"), (GLsizei, "count"), (Const(Array(GLint, "(4*count)")), "value")]),
3343     GlFunction(Void, "glUniformMatrix2fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "4")), "value")]),
3344     GlFunction(Void, "glUniformMatrix3fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "9")), "value")]),
3345     GlFunction(Void, "glUniformMatrix4fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Const(Array(GLfloat, "16")), "value")]),
3346     GlFunction(Void, "glGetObjectParameterfvARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3347     GlFunction(Void, "glGetObjectParameterivARB", [(GLhandleARB, "obj"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3348     GlFunction(Void, "glGetInfoLogARB", [(GLhandleARB, "obj"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "infoLog")], sideeffects=False),
3349     GlFunction(Void, "glGetAttachedObjectsARB", [(GLhandleARB, "containerObj"), (GLsizei, "maxLength"), (OpaquePointer(GLsizei), "length"), (OpaquePointer(GLhandleARB), "infoLog")], sideeffects=False),
3350     GlFunction(GLint, "glGetUniformLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")], sideeffects=False),
3351     GlFunction(Void, "glGetActiveUniformARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False),
3352     GlFunction(Void, "glGetUniformfvARB", [(GLhandleARB, "programObj"), (GLint, "location"), (OpaquePointer(GLfloat), "params")], sideeffects=False),
3353     GlFunction(Void, "glGetUniformivARB", [(GLhandleARB, "programObj"), (GLint, "location"), (OpaquePointer(GLint), "params")], sideeffects=False),
3354     GlFunction(Void, "glGetShaderSourceARB", [(GLhandleARB, "obj"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstringARB, "source")], sideeffects=False),
3355
3356     # GL_ARB_vertex_shader
3357     GlFunction(Void, "glBindAttribLocationARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (Const(GLstringARB), "name")]),
3358     GlFunction(Void, "glGetActiveAttribARB", [(GLhandleARB, "programObj"), (GLuint, "index"), (GLsizei, "maxLength"), Out(Pointer(GLsizei), "length"), Out(Pointer(GLint), "size"), Out(Pointer(GLenum), "type"), Out(GLstringARB, "name")], sideeffects=False),
3359     GlFunction(GLint, "glGetAttribLocationARB", [(GLhandleARB, "programObj"), (Const(GLstringARB), "name")], sideeffects=False),
3360
3361     # GL_ARB_draw_buffers
3362     GlFunction(Void, "glDrawBuffersARB", [(GLsizei, "n"), (Const(Array(GLenum, "n")), "bufs")]),
3363
3364     # GL_ARB_color_buffer_float
3365     GlFunction(Void, "glClampColorARB", [(GLenum, "target"), (GLenum, "clamp")]),
3366
3367     # GL_ARB_draw_instanced
3368     GlFunction(Void, "glDrawArraysInstancedARB", [(GLenum, "mode"), (GLint, "first"), (GLsizei, "count"), (GLsizei, "primcount")]),
3369     GlFunction(Void, "glDrawElementsInstancedARB", [(GLenum, "mode"), (GLsizei, "count"), (GLenum, "type"), (Const(OpaquePointer(GLvoid)), "indices"), (GLsizei, "primcount")]),
3370
3371     # GL_ARB_framebuffer_object
3372     GlFunction(GLboolean, "glIsRenderbuffer", [(GLrenderbuffer, "renderbuffer")]),
3373     GlFunction(Void, "glBindRenderbuffer", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]),
3374     GlFunction(Void, "glDeleteRenderbuffers", [(GLsizei, "n"), (Const(Array(GLrenderbuffer, "n")), "renderbuffers")]),
3375     GlFunction(Void, "glGenRenderbuffers", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]),
3376     GlFunction(Void, "glRenderbufferStorage", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
3377     GlFunction(Void, "glGetRenderbufferParameteriv", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3378     GlFunction(GLboolean, "glIsFramebuffer", [(GLframebuffer, "framebuffer")]),
3379     GlFunction(Void, "glBindFramebuffer", [(GLenum, "target"), (GLframebuffer, "framebuffer")]),
3380     GlFunction(Void, "glDeleteFramebuffers", [(GLsizei, "n"), (Const(Array(GLframebuffer, "n")), "framebuffers")]),
3381     GlFunction(Void, "glGenFramebuffers", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]),
3382     GlFunction(GLenum, "glCheckFramebufferStatus", [(GLenum, "target")]),
3383     GlFunction(Void, "glFramebufferTexture1D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]),
3384     GlFunction(Void, "glFramebufferTexture2D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]),
3385     GlFunction(Void, "glFramebufferTexture3D", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]),
3386     GlFunction(Void, "glFramebufferRenderbuffer", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]),
3387     GlFunction(Void, "glGetFramebufferAttachmentParameteriv", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3388     GlFunction(Void, "glGenerateMipmap", [(GLenum, "target")]),
3389     GlFunction(Void, "glBlitFramebuffer", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]),
3390     GlFunction(Void, "glRenderbufferStorageMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
3391     GlFunction(Void, "glFramebufferTextureLayer", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]),
3392
3393     # GL_EXT_polygon_offset
3394     GlFunction(Void, "glPolygonOffsetEXT", [(GLfloat, "factor"), (GLfloat, "bias")]),
3395
3396     # GL_SGIX_pixel_texture
3397     GlFunction(Void, "glPixelTexGenSGIX", [(GLenum, "mode")]),
3398
3399     # GL_SGIS_pixel_texture
3400     #GlFunction(Void, "glPixelTexGenParameteriSGIS", [(GLenum, "pname"), (GLint, "param")]),
3401     #GlFunction(Void, "glPixelTexGenParameterivSGIS", [(GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
3402     #GlFunction(Void, "glPixelTexGenParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]),
3403     #GlFunction(Void, "glPixelTexGenParameterfvSGIS", [(GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
3404     #GlFunction(Void, "glGetPixelTexGenParameterivSGIS", [(GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3405     #GlFunction(Void, "glGetPixelTexGenParameterfvSGIS", [(GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3406
3407     # GL_SGIS_multisample
3408     #GlFunction(Void, "glSampleMaskSGIS", [(GLclampf, "value"), (GLboolean, "invert")]),
3409     #GlFunction(Void, "glSamplePatternSGIS", [(GLenum, "pattern")]),
3410
3411     # GL_EXT_vertex_array
3412     GlFunction(Void, "glArrayElementEXT", [(GLint, "i")]),
3413     GlFunction(Void, "glColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3414     GlFunction(Void, "glDrawArraysEXT", [(GLenum, "mode"), (GLint, "first"), (GLsizei, "count")]),
3415     GlFunction(Void, "glEdgeFlagPointerEXT", [(GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLboolean)), "pointer")]),
3416     GlFunction(Void, "glGetPointervEXT", [(GLenum, "pname"), Out(Pointer(OpaquePointer(GLvoid)), "params")], sideeffects=False),
3417     GlFunction(Void, "glIndexPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3418     GlFunction(Void, "glNormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3419     GlFunction(Void, "glTexCoordPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3420     GlFunction(Void, "glVertexPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3421
3422     # GL_EXT_point_parameters
3423     GlFunction(Void, "glPointParameterfEXT", [(GLenum, "pname"), (GLfloat, "param")]),
3424     GlFunction(Void, "glPointParameterfvEXT", [(GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
3425
3426     # GL_EXT_compiled_vertex_array
3427     GlFunction(Void, "glLockArraysEXT", [(GLint, "first"), (GLsizei, "count")]),
3428     GlFunction(Void, "glUnlockArraysEXT", []),
3429
3430     # GL_EXT_cull_vertex
3431     GlFunction(Void, "glCullParameterdvEXT", [(GLenum, "pname"), (Array(GLdouble, "4"), "params")]),
3432     GlFunction(Void, "glCullParameterfvEXT", [(GLenum, "pname"), (Array(GLfloat, "4"), "params")]),
3433
3434     # GL_EXT_secondary_color
3435     GlFunction(Void, "glSecondaryColor3bEXT", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
3436     GlFunction(Void, "glSecondaryColor3bvEXT", [(Const(Array(GLbyte, "3")), "v")]),
3437     GlFunction(Void, "glSecondaryColor3dEXT", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
3438     GlFunction(Void, "glSecondaryColor3dvEXT", [(Const(Array(GLdouble, "3")), "v")]),
3439     GlFunction(Void, "glSecondaryColor3fEXT", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
3440     GlFunction(Void, "glSecondaryColor3fvEXT", [(Const(Array(GLfloat, "3")), "v")]),
3441     GlFunction(Void, "glSecondaryColor3iEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
3442     GlFunction(Void, "glSecondaryColor3ivEXT", [(Const(Array(GLint, "3")), "v")]),
3443     GlFunction(Void, "glSecondaryColor3sEXT", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
3444     GlFunction(Void, "glSecondaryColor3svEXT", [(Const(Array(GLshort, "3")), "v")]),
3445     GlFunction(Void, "glSecondaryColor3ubEXT", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
3446     GlFunction(Void, "glSecondaryColor3ubvEXT", [(Const(Array(GLubyte, "3")), "v")]),
3447     GlFunction(Void, "glSecondaryColor3uiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
3448     GlFunction(Void, "glSecondaryColor3uivEXT", [(Const(Array(GLuint, "3")), "v")]),
3449     GlFunction(Void, "glSecondaryColor3usEXT", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
3450     GlFunction(Void, "glSecondaryColor3usvEXT", [(Const(Array(GLushort, "3")), "v")]),
3451     GlFunction(Void, "glSecondaryColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3452
3453     # GL_EXT_multi_draw_arrays
3454     GlFunction(Void, "glMultiDrawArraysEXT", [(GLenum_mode, "mode"), (OpaquePointer(GLint), "first"), (OpaquePointer(GLsizei), "count"), (GLsizei, "primcount")]),
3455     GlFunction(Void, "glMultiDrawElementsEXT", [(GLenum_mode, "mode"), (Const(Array(GLsizei, "primcount")), "count"), (GLenum, "type"), (Array(Const(Const(OpaquePointer(GLvoid))), "primcount"), "indices"), (GLsizei, "primcount")]),
3456
3457     # GL_EXT_fog_coord
3458     GlFunction(Void, "glFogCoordfEXT", [(GLfloat, "coord")]),
3459     GlFunction(Void, "glFogCoordfvEXT", [(Const(Array(GLfloat, "1")), "coord")]),
3460     GlFunction(Void, "glFogCoorddEXT", [(GLdouble, "coord")]),
3461     GlFunction(Void, "glFogCoorddvEXT", [(Const(Array(GLdouble, "1")), "coord")]),
3462     GlFunction(Void, "glFogCoordPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3463
3464     # GL_EXT_blend_func_separate
3465     GlFunction(Void, "glBlendFuncSeparateEXT", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]),
3466
3467     # GL_NV_vertex_array_range
3468     GlFunction(Void, "glFlushVertexArrayRangeNV", []),
3469     GlFunction(Void, "glVertexArrayRangeNV", [(GLsizei, "length"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3470
3471     # GL_NV_register_combiners
3472     GlFunction(Void, "glCombinerParameterfvNV", [(GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "params")]),
3473     GlFunction(Void, "glCombinerParameterfNV", [(GLenum, "pname"), (GLfloat, "param")]),
3474     GlFunction(Void, "glCombinerParameterivNV", [(GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
3475     GlFunction(Void, "glCombinerParameteriNV", [(GLenum, "pname"), (GLint, "param")]),
3476     GlFunction(Void, "glCombinerInputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]),
3477     GlFunction(Void, "glCombinerOutputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "abOutput"), (GLenum, "cdOutput"), (GLenum, "sumOutput"), (GLenum, "scale"), (GLenum, "bias"), (GLboolean, "abDotProduct"), (GLboolean, "cdDotProduct"), (GLboolean, "muxSum")]),
3478     GlFunction(Void, "glFinalCombinerInputNV", [(GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]),
3479     GlFunction(Void, "glGetCombinerInputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3480     GlFunction(Void, "glGetCombinerInputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3481     GlFunction(Void, "glGetCombinerOutputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3482     GlFunction(Void, "glGetCombinerOutputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3483     GlFunction(Void, "glGetFinalCombinerInputParameterfvNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLfloat), "params")], sideeffects=False),
3484     GlFunction(Void, "glGetFinalCombinerInputParameterivNV", [(GLenum, "variable"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3485
3486     # GL_MESA_resize_buffers
3487     GlFunction(Void, "glResizeBuffersMESA", []),
3488
3489     # GL_MESA_window_pos
3490     GlFunction(Void, "glWindowPos2dMESA", [(GLdouble, "x"), (GLdouble, "y")]),
3491     GlFunction(Void, "glWindowPos2dvMESA", [(Const(Array(GLdouble, "2")), "v")]),
3492     GlFunction(Void, "glWindowPos2fMESA", [(GLfloat, "x"), (GLfloat, "y")]),
3493     GlFunction(Void, "glWindowPos2fvMESA", [(Const(Array(GLfloat, "2")), "v")]),
3494     GlFunction(Void, "glWindowPos2iMESA", [(GLint, "x"), (GLint, "y")]),
3495     GlFunction(Void, "glWindowPos2ivMESA", [(Const(Array(GLint, "2")), "v")]),
3496     GlFunction(Void, "glWindowPos2sMESA", [(GLshort, "x"), (GLshort, "y")]),
3497     GlFunction(Void, "glWindowPos2svMESA", [(Const(Array(GLshort, "2")), "v")]),
3498     GlFunction(Void, "glWindowPos3dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3499     GlFunction(Void, "glWindowPos3dvMESA", [(Const(Array(GLdouble, "3")), "v")]),
3500     GlFunction(Void, "glWindowPos3fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3501     GlFunction(Void, "glWindowPos3fvMESA", [(Const(Array(GLfloat, "3")), "v")]),
3502     GlFunction(Void, "glWindowPos3iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
3503     GlFunction(Void, "glWindowPos3ivMESA", [(Const(Array(GLint, "3")), "v")]),
3504     GlFunction(Void, "glWindowPos3sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3505     GlFunction(Void, "glWindowPos3svMESA", [(Const(Array(GLshort, "3")), "v")]),
3506     GlFunction(Void, "glWindowPos4dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3507     GlFunction(Void, "glWindowPos4dvMESA", [(Const(Array(GLdouble, "4")), "v")]),
3508     GlFunction(Void, "glWindowPos4fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3509     GlFunction(Void, "glWindowPos4fvMESA", [(Const(Array(GLfloat, "4")), "v")]),
3510     GlFunction(Void, "glWindowPos4iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
3511     GlFunction(Void, "glWindowPos4ivMESA", [(Const(Array(GLint, "4")), "v")]),
3512     GlFunction(Void, "glWindowPos4sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
3513     GlFunction(Void, "glWindowPos4svMESA", [(Const(Array(GLshort, "4")), "v")]),
3514
3515     # GL_IBM_multimode_draw_arrays
3516     GlFunction(Void, "glMultiModeDrawArraysIBM", [(Const(Array(GLenum_mode, "primcount")), "mode"), (Const(Array(GLint, "primcount")), "first"), (Const(Array(GLsizei, "primcount")), "count"), (GLsizei, "primcount"), (GLint, "modestride")]),
3517     GlFunction(Void, "glMultiModeDrawElementsIBM", [(Const(Array(GLenum_mode, "primcount")), "mode"), (Const(Array(GLsizei, "primcount")), "count"), (GLenum, "type"), (Array(Const(Const(OpaquePointer(GLvoid))), "primcount"), "indices"), (GLsizei, "primcount"), (GLint, "modestride")]),
3518
3519     # GL_NV_fence
3520     GlFunction(Void, "glDeleteFencesNV", [(GLsizei, "n"), (Const(Array(GLfence, "n")), "fences")]),
3521     GlFunction(Void, "glGenFencesNV", [(GLsizei, "n"), Out(Array(GLfence, "n"), "fences")]),
3522     GlFunction(GLboolean, "glIsFenceNV", [(GLfence, "fence")]),
3523     GlFunction(GLboolean, "glTestFenceNV", [(GLfence, "fence")]),
3524     GlFunction(Void, "glGetFenceivNV", [(GLfence, "fence"), (GLenum, "pname"), Out(OpaquePointer(GLint), "params")], sideeffects=False),
3525     GlFunction(Void, "glFinishFenceNV", [(GLfence, "fence")]),
3526     GlFunction(Void, "glSetFenceNV", [(GLfence, "fence"), (GLenum, "condition")]),
3527
3528     # GL_NV_vertex_program
3529     GlFunction(GLboolean, "glAreProgramsResidentNV", [(GLsizei, "n"), (Const(Array(GLprogram, "n")), "ids"), Out(Array(GLboolean, "n"), "residences")]),
3530     GlFunction(Void, "glBindProgramNV", [(GLenum, "target"), (GLprogram, "program")]),
3531     GlFunction(Void, "glDeleteProgramsNV", [(GLsizei, "n"), (Const(Array(GLprogram, "n")), "programs")]),
3532     GlFunction(Void, "glExecuteProgramNV", [(GLenum, "target"), (GLprogram, "id"), (Const(Array(GLfloat, "4")), "params")]),
3533     GlFunction(Void, "glGenProgramsNV", [(GLsizei, "n"), Out(Array(GLprogram, "n"), "programs")]),
3534     GlFunction(Void, "glGetProgramParameterdvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False),
3535     GlFunction(Void, "glGetProgramParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False),
3536     GlFunction(Void, "glGetProgramivNV", [(GLprogram, "id"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3537     GlFunction(Void, "glGetProgramStringNV", [(GLprogram, "id"), (GLenum, "pname"), (OpaquePointer(GLubyte), "program")], sideeffects=False),
3538     GlFunction(Void, "glGetTrackMatrixivNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3539     GlFunction(Void, "glGetVertexAttribdvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLdouble), "params")], sideeffects=False),
3540     GlFunction(Void, "glGetVertexAttribfvNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLfloat), "params")], sideeffects=False),
3541     GlFunction(Void, "glGetVertexAttribivNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3542     GlFunction(Void, "glGetVertexAttribPointervNV", [(GLuint, "index"), (GLenum, "pname"), (OpaquePointer(OpaquePointer(GLvoid)), "pointer")], sideeffects=False),
3543     GlFunction(GLboolean, "glIsProgramNV", [(GLprogram, "program")]),
3544     GlFunction(Void, "glLoadProgramNV", [(GLenum, "target"), (GLprogram, "id"), (GLsizei, "len"), (String("const GLubyte *", "len"), "program")]),
3545     GlFunction(Void, "glProgramParameter4dNV", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3546     GlFunction(Void, "glProgramParameter4dvNV", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLdouble, "4")), "v")]),
3547     GlFunction(Void, "glProgramParameter4fNV", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3548     GlFunction(Void, "glProgramParameter4fvNV", [(GLenum, "target"), (GLuint, "index"), (Const(Array(GLfloat, "4")), "v")]),
3549     GlFunction(Void, "glProgramParameters4dvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Const(Array(GLdouble, "count*4")), "v")]),
3550     GlFunction(Void, "glProgramParameters4fvNV", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Const(Array(GLfloat, "count*4")), "v")]),
3551     GlFunction(Void, "glRequestResidentProgramsNV", [(GLsizei, "n"), (Const(Array(GLuint, "n")), "programs")]),
3552     GlFunction(Void, "glTrackMatrixNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "matrix"), (GLenum, "transform")]),
3553     GlFunction(Void, "glVertexAttribPointerNV", [(GLuint, "index"), (GLint, "fsize"), (GLenum, "type"), (GLsizei, "stride"), (Const(OpaquePointer(GLvoid)), "pointer")]),
3554     GlFunction(Void, "glVertexAttrib1dNV", [(GLuint, "index"), (GLdouble, "x")]),
3555     GlFunction(Void, "glVertexAttrib1dvNV", [(GLuint, "index"), (Const(Array(GLdouble, "1")), "v")]),
3556     GlFunction(Void, "glVertexAttrib1fNV", [(GLuint, "index"), (GLfloat, "x")]),
3557     GlFunction(Void, "glVertexAttrib1fvNV", [(GLuint, "index"), (Const(Array(GLfloat, "1")), "v")]),
3558     GlFunction(Void, "glVertexAttrib1sNV", [(GLuint, "index"), (GLshort, "x")]),
3559     GlFunction(Void, "glVertexAttrib1svNV", [(GLuint, "index"), (Const(Array(GLshort, "1")), "v")]),
3560     GlFunction(Void, "glVertexAttrib2dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]),
3561     GlFunction(Void, "glVertexAttrib2dvNV", [(GLuint, "index"), (Const(Array(GLdouble, "2")), "v")]),
3562     GlFunction(Void, "glVertexAttrib2fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]),
3563     GlFunction(Void, "glVertexAttrib2fvNV", [(GLuint, "index"), (Const(Array(GLfloat, "2")), "v")]),
3564     GlFunction(Void, "glVertexAttrib2sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]),
3565     GlFunction(Void, "glVertexAttrib2svNV", [(GLuint, "index"), (Const(Array(GLshort, "2")), "v")]),
3566     GlFunction(Void, "glVertexAttrib3dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
3567     GlFunction(Void, "glVertexAttrib3dvNV", [(GLuint, "index"), (Const(Array(GLdouble, "3")), "v")]),
3568     GlFunction(Void, "glVertexAttrib3fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
3569     GlFunction(Void, "glVertexAttrib3fvNV", [(GLuint, "index"), (Const(Array(GLfloat, "3")), "v")]),
3570     GlFunction(Void, "glVertexAttrib3sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
3571     GlFunction(Void, "glVertexAttrib3svNV", [(GLuint, "index"), (Const(Array(GLshort, "3")), "v")]),
3572     GlFunction(Void, "glVertexAttrib4dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3573     GlFunction(Void, "glVertexAttrib4dvNV", [(GLuint, "index"), (Const(Array(GLdouble, "4")), "v")]),
3574     GlFunction(Void, "glVertexAttrib4fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3575     GlFunction(Void, "glVertexAttrib4fvNV", [(GLuint, "index"), (Const(Array(GLfloat, "4")), "v")]),
3576     GlFunction(Void, "glVertexAttrib4sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
3577     GlFunction(Void, "glVertexAttrib4svNV", [(GLuint, "index"), (Const(Array(GLshort, "4")), "v")]),
3578     GlFunction(Void, "glVertexAttrib4ubNV", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
3579     GlFunction(Void, "glVertexAttrib4ubvNV", [(GLuint, "index"), (Const(Array(GLubyte, "4")), "v")]),
3580     GlFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLdouble, "count")), "v")]),
3581     GlFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLfloat, "count")), "v")]),
3582     GlFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLshort, "count")), "v")]),
3583     GlFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLdouble, "count*2")), "v")]),
3584     GlFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLfloat, "count*2")), "v")]),
3585     GlFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLshort, "count*2")), "v")]),
3586     GlFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLdouble, "count*3")), "v")]),
3587     GlFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLfloat, "count*3")), "v")]),
3588     GlFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLshort, "count*3")), "v")]),
3589     GlFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLdouble, "count*4")), "v")]),
3590     GlFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLfloat, "count*4")), "v")]),
3591     GlFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLshort, "count*4")), "v")]),
3592     GlFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "count"), (Const(Array(GLubyte, "count*4")), "v")]),
3593
3594     # GL_ATI_envmap_bumpmap
3595     GlFunction(Void, "glTexBumpParameterivATI", [(GLenum, "pname"), (Const(OpaquePointer(GLint)), "param")]),
3596     GlFunction(Void, "glTexBumpParameterfvATI", [(GLenum, "pname"), (Const(OpaquePointer(GLfloat)), "param")]),
3597     GlFunction(Void, "glGetTexBumpParameterivATI", [(GLenum, "pname"), Out(OpaquePointer(GLint), "param")], sideeffects=False),
3598     GlFunction(Void, "glGetTexBumpParameterfvATI", [(GLenum, "pname"), Out(OpaquePointer(GLfloat), "param")], sideeffects=False),
3599
3600     # GL_ATI_fragment_shader
3601     GlFunction(GLuint, "glGenFragmentShadersATI", [(GLuint, "range")]),
3602     GlFunction(Void, "glBindFragmentShaderATI", [(GLuint, "id")]),
3603     GlFunction(Void, "glDeleteFragmentShaderATI", [(GLuint, "id")]),
3604     GlFunction(Void, "glBeginFragmentShaderATI", []),
3605     GlFunction(Void, "glEndFragmentShaderATI", []),
3606     GlFunction(Void, "glPassTexCoordATI", [(GLuint, "dst"), (GLuint, "coord"), (GLenum, "swizzle")]),
3607     GlFunction(Void, "glSampleMapATI", [(GLuint, "dst"), (GLuint, "interp"), (GLenum, "swizzle")]),
3608     GlFunction(Void, "glColorFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]),
3609     GlFunction(Void, "glColorFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]),
3610     GlFunction(Void, "glColorFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]),
3611     GlFunction(Void, "glAlphaFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]),
3612     GlFunction(Void, "glAlphaFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]),
3613     GlFunction(Void, "glAlphaFragmentOp3ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod"), (GLuint, "arg3"), (GLuint, "arg3Rep"), (GLuint, "arg3Mod")]),
3614     GlFunction(Void, "glSetFragmentShaderConstantATI", [(GLuint, "dst"), (Const(Array(GLfloat, "4")), "value")]),
3615
3616     # GL_NV_point_sprite
3617     GlFunction(Void, "glPointParameteriNV", [(GLenum, "pname"), (GLint, "param")]),
3618     GlFunction(Void, "glPointParameterivNV", [(GLenum, "pname"), (Const(OpaquePointer(GLint)), "params")]),
3619
3620     # GL_EXT_stencil_two_side
3621     GlFunction(Void, "glActiveStencilFaceEXT", [(GLenum, "face")]),
3622
3623     # GL_APPLE_vertex_array_object
3624     GlFunction(Void, "glBindVertexArrayAPPLE", [(GLuint, "array")]),
3625     GlFunction(Void, "glDeleteVertexArraysAPPLE", [(GLsizei, "n"), (Const(Array(GLuint, "n")), "arrays")]),
3626     GlFunction(Void, "glGenVertexArraysAPPLE", [(GLsizei, "n"), Out(Array(GLuint, "n"), "arrays")]),
3627     GlFunction(GLboolean, "glIsVertexArrayAPPLE", [(GLuint, "array")]),
3628
3629     # GL_NV_fragment_program
3630     GlFunction(Void, "glProgramNamedParameter4fNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
3631     GlFunction(Void, "glProgramNamedParameter4dNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
3632     GlFunction(Void, "glProgramNamedParameter4fvNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (Const(Array(GLfloat, "4")), "v")]),
3633     GlFunction(Void, "glProgramNamedParameter4dvNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (Const(Array(GLdouble, "4")), "v")]),
3634     GlFunction(Void, "glGetProgramNamedParameterdvNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (OpaquePointer(GLdouble), "params")], sideeffects=False),
3635     GlFunction(Void, "glGetProgramNamedParameterfvNV", [(GLprogram, "id"), (GLsizei, "len"), (Const(OpaquePointer(GLubyte)), "name"), (OpaquePointer(GLfloat), "params")], sideeffects=False),
3636
3637     # GL_ATI_separate_stencil
3638     GlFunction(Void, "glStencilFuncSeparateATI", [(GLenum, "frontfunc"), (GLenum, "backfunc"), (GLint, "ref"), (GLuint, "mask")]),
3639
3640     # GL_EXT_depth_bounds_test
3641     GlFunction(Void, "glDepthBoundsEXT", [(GLclampd, "zmin"), (GLclampd, "zmax")]),
3642
3643     # GL_EXT_blend_equation_separate
3644     GlFunction(Void, "glBlendEquationSeparateEXT", [(GLenum, "modeRGB"), (GLenum, "modeAlpha")]),
3645
3646     # GL_EXT_framebuffer_object
3647     GlFunction(GLboolean, "glIsRenderbufferEXT", [(GLrenderbuffer, "renderbuffer")]),
3648     GlFunction(Void, "glBindRenderbufferEXT", [(GLenum, "target"), (GLrenderbuffer, "renderbuffer")]),
3649     GlFunction(Void, "glDeleteRenderbuffersEXT", [(GLsizei, "n"), (Const(Array(GLrenderbuffer, "n")), "renderbuffers")]),
3650     GlFunction(Void, "glGenRenderbuffersEXT", [(GLsizei, "n"), Out(Array(GLrenderbuffer, "n"), "renderbuffers")]),
3651     GlFunction(Void, "glRenderbufferStorageEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
3652     GlFunction(Void, "glGetRenderbufferParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3653     GlFunction(GLboolean, "glIsFramebufferEXT", [(GLframebuffer, "framebuffer")]),
3654     GlFunction(Void, "glBindFramebufferEXT", [(GLenum, "target"), (GLframebuffer, "framebuffer")]),
3655     GlFunction(Void, "glDeleteFramebuffersEXT", [(GLsizei, "n"), (Const(Array(GLframebuffer, "n")), "framebuffers")]),
3656     GlFunction(Void, "glGenFramebuffersEXT", [(GLsizei, "n"), Out(Array(GLframebuffer, "n"), "framebuffers")]),
3657     GlFunction(GLenum, "glCheckFramebufferStatusEXT", [(GLenum, "target")]),
3658     GlFunction(Void, "glFramebufferTexture1DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]),
3659     GlFunction(Void, "glFramebufferTexture2DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level")]),
3660     GlFunction(Void, "glFramebufferTexture3DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLint, "zoffset")]),
3661     GlFunction(Void, "glFramebufferRenderbufferEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]),
3662     GlFunction(Void, "glGetFramebufferAttachmentParameterivEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), (OpaquePointer(GLint), "params")], sideeffects=False),
3663     GlFunction(Void, "glGenerateMipmapEXT", [(GLenum, "target")]),
3664
3665     # GL_EXT_framebuffer_blit
3666     GlFunction(Void, "glBlitFramebufferEXT", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield_attrib, "mask"), (GLenum, "filter")]),
3667
3668     # GL_EXT_timer_query
3669     GlFunction(Void, "glGetQueryObjecti64vEXT", [(GLuint, "id"), (GLenum, "pname"), (OpaquePointer(GLint64EXT), "params")], sideeffects=False),
3670     GlFunction(Void, "glGetQueryObjectui64vEXT", [(GLuint, "id"), (GLenum, "pname"), (OpaquePointer(GLuint64EXT), "params")], sideeffects=False),
3671
3672     # GL_EXT_gpu_program_parameters
3673     GlFunction(Void, "glProgramEnvParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Const(OpaquePointer(GLfloat)), "params")]),
3674     GlFunction(Void, "glProgramLocalParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Const(OpaquePointer(GLfloat)), "params")]),
3675
3676     # GL_NV_geometry_program4
3677     GlFunction(Void, "glFramebufferTextureLayerEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLtexture, "texture"), (GLint, "level"), (GLint, "layer")]),
3678 ])
3679