summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-04-13 14:08:08 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-04-13 14:08:08 +0100
commit36e25aaf3ed6b7dfe1e3ff8014c662f2062973f1 (patch)
tree0c377ef6e2ed01780f6306daa9d297704b2b1dbc
parentfc0aa68d525ae010f744ccc01591446d7ba54a28 (diff)
Trace opengl32.dll.
-rw-r--r--.gitignore1
-rw-r--r--SConstruct17
-rw-r--r--gl.py850
-rw-r--r--opengl32.def371
-rw-r--r--opengl32.py553
-rw-r--r--windows.py1
6 files changed, 1793 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 539519d4..d39647f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@
*.zip
d3d8.cpp
d3d9.cpp
+opengl32.cpp
diff --git a/SConstruct b/SConstruct
index 1c308bda..f98a91d9 100644
--- a/SConstruct
+++ b/SConstruct
@@ -123,6 +123,23 @@ if has_d3d9:
env.Default(d3d9)
+env.Command(
+ target = 'opengl32.cpp',
+ source = ['opengl32.py', 'gl.py', 'windows.py', 'base.py'],
+ action = 'python $SOURCE > $TARGET',
+)
+
+opengl32 = env.SharedLibrary(
+ target = 'opengl32',
+ source = [
+ 'opengl32.def',
+ 'opengl32.cpp',
+ 'log.cpp',
+ ]
+)
+
+env.Default(opengl32)
+
env.Tool('packaging')
zip = env.Package(
diff --git a/gl.py b/gl.py
new file mode 100644
index 00000000..5f2f8d88
--- /dev/null
+++ b/gl.py
@@ -0,0 +1,850 @@
+#############################################################################
+#
+# Copyright 2009 VMware, Inc.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#############################################################################
+
+from base import *
+
+GLboolean = Enum("GLboolean", ["GL_FALSE", "GL_TRUE"])
+GLvoid = Alias("GLvoid", Void)
+GLbyte = Alias("GLbyte", SChar)
+GLshort = Alias("GLshort", Short)
+GLint = Alias("GLint", Int)
+GLubyte = Alias("GLubyte", UChar)
+GLushort = Alias("GLushort", UShort)
+GLuint = Alias("GLuint", UInt)
+GLsizei = Alias("GLsizei", Int)
+GLfloat = Alias("GLfloat", Float)
+GLclampf = Alias("GLclampf", Float)
+GLdouble = Alias("GLdouble", Double)
+GLclampd = Alias("GLclampd", Double)
+GLbitfield = Alias("GLbitfield", UInt)
+
+GLenum = Enum("GLenum", [
+
+ "GL_BYTE", # 0x1400
+ "GL_UNSIGNED_BYTE", # 0x1401
+ "GL_SHORT", # 0x1402
+ "GL_UNSIGNED_SHORT", # 0x1403
+ "GL_INT", # 0x1404
+ "GL_UNSIGNED_INT", # 0x1405
+ "GL_FLOAT", # 0x1406
+ "GL_2_BYTES", # 0x1407
+ "GL_3_BYTES", # 0x1408
+ "GL_4_BYTES", # 0x1409
+ "GL_DOUBLE", # 0x140A
+
+ "GL_VERTEX_ARRAY", # 0x8074
+ "GL_NORMAL_ARRAY", # 0x8075
+ "GL_COLOR_ARRAY", # 0x8076
+ "GL_INDEX_ARRAY", # 0x8077
+ "GL_TEXTURE_COORD_ARRAY", # 0x8078
+ "GL_EDGE_FLAG_ARRAY", # 0x8079
+ "GL_VERTEX_ARRAY_SIZE", # 0x807A
+ "GL_VERTEX_ARRAY_TYPE", # 0x807B
+ "GL_VERTEX_ARRAY_STRIDE", # 0x807C
+ "GL_NORMAL_ARRAY_TYPE", # 0x807E
+ "GL_NORMAL_ARRAY_STRIDE", # 0x807F
+ "GL_COLOR_ARRAY_SIZE", # 0x8081
+ "GL_COLOR_ARRAY_TYPE", # 0x8082
+ "GL_COLOR_ARRAY_STRIDE", # 0x8083
+ "GL_INDEX_ARRAY_TYPE", # 0x8085
+ "GL_INDEX_ARRAY_STRIDE", # 0x8086
+ "GL_TEXTURE_COORD_ARRAY_SIZE", # 0x8088
+ "GL_TEXTURE_COORD_ARRAY_TYPE", # 0x8089
+ "GL_TEXTURE_COORD_ARRAY_STRIDE", # 0x808A
+ "GL_EDGE_FLAG_ARRAY_STRIDE", # 0x808C
+ "GL_VERTEX_ARRAY_POINTER", # 0x808E
+ "GL_NORMAL_ARRAY_POINTER", # 0x808F
+ "GL_COLOR_ARRAY_POINTER", # 0x8090
+ "GL_INDEX_ARRAY_POINTER", # 0x8091
+ "GL_TEXTURE_COORD_ARRAY_POINTER", # 0x8092
+ "GL_EDGE_FLAG_ARRAY_POINTER", # 0x8093
+ "GL_V2F", # 0x2A20
+ "GL_V3F", # 0x2A21
+ "GL_C4UB_V2F", # 0x2A22
+ "GL_C4UB_V3F", # 0x2A23
+ "GL_C3F_V3F", # 0x2A24
+ "GL_N3F_V3F", # 0x2A25
+ "GL_C4F_N3F_V3F", # 0x2A26
+ "GL_T2F_V3F", # 0x2A27
+ "GL_T4F_V4F", # 0x2A28
+ "GL_T2F_C4UB_V3F", # 0x2A29
+ "GL_T2F_C3F_V3F", # 0x2A2A
+ "GL_T2F_N3F_V3F", # 0x2A2B
+ "GL_T2F_C4F_N3F_V3F", # 0x2A2C
+ "GL_T4F_C4F_N3F_V4F", # 0x2A2D
+
+ "GL_MATRIX_MODE", # 0x0BA0
+ "GL_MODELVIEW", # 0x1700
+ "GL_PROJECTION", # 0x1701
+ "GL_TEXTURE", # 0x1702
+
+ "GL_POINT_SMOOTH", # 0x0B10
+ "GL_POINT_SIZE", # 0x0B11
+ "GL_POINT_SIZE_GRANULARITY", # 0x0B13
+ "GL_POINT_SIZE_RANGE", # 0x0B12
+
+ "GL_LINE_SMOOTH", # 0x0B20
+ "GL_LINE_STIPPLE", # 0x0B24
+ "GL_LINE_STIPPLE_PATTERN", # 0x0B25
+ "GL_LINE_STIPPLE_REPEAT", # 0x0B26
+ "GL_LINE_WIDTH", # 0x0B21
+ "GL_LINE_WIDTH_GRANULARITY", # 0x0B23
+ "GL_LINE_WIDTH_RANGE", # 0x0B22
+
+ "GL_POINT", # 0x1B00
+ "GL_LINE", # 0x1B01
+ "GL_FILL", # 0x1B02
+ "GL_CW", # 0x0900
+ "GL_CCW", # 0x0901
+ "GL_POLYGON_MODE", # 0x0B40
+ "GL_POLYGON_SMOOTH", # 0x0B41
+ "GL_POLYGON_STIPPLE", # 0x0B42
+ "GL_EDGE_FLAG", # 0x0B43
+ "GL_CULL_FACE", # 0x0B44
+ "GL_CULL_FACE_MODE", # 0x0B45
+ "GL_FRONT_FACE", # 0x0B46
+ "GL_POLYGON_OFFSET_FACTOR", # 0x8038
+ "GL_POLYGON_OFFSET_UNITS", # 0x2A00
+ "GL_POLYGON_OFFSET_POINT", # 0x2A01
+ "GL_POLYGON_OFFSET_LINE", # 0x2A02
+ "GL_POLYGON_OFFSET_FILL", # 0x8037
+
+ "GL_COMPILE", # 0x1300
+ "GL_COMPILE_AND_EXECUTE", # 0x1301
+ "GL_LIST_BASE", # 0x0B32
+ "GL_LIST_INDEX", # 0x0B33
+ "GL_LIST_MODE", # 0x0B30
+
+ "GL_NEVER", # 0x0200
+ "GL_LESS", # 0x0201
+ "GL_EQUAL", # 0x0202
+ "GL_LEQUAL", # 0x0203
+ "GL_GREATER", # 0x0204
+ "GL_NOTEQUAL", # 0x0205
+ "GL_GEQUAL", # 0x0206
+ "GL_ALWAYS", # 0x0207
+ "GL_DEPTH_TEST", # 0x0B71
+ "GL_DEPTH_BITS", # 0x0D56
+ "GL_DEPTH_CLEAR_VALUE", # 0x0B73
+ "GL_DEPTH_FUNC", # 0x0B74
+ "GL_DEPTH_RANGE", # 0x0B70
+ "GL_DEPTH_WRITEMASK", # 0x0B72
+ "GL_DEPTH_COMPONENT", # 0x1902
+
+ "GL_LIGHTING", # 0x0B50
+ "GL_LIGHT0", # 0x4000
+ "GL_LIGHT1", # 0x4001
+ "GL_LIGHT2", # 0x4002
+ "GL_LIGHT3", # 0x4003
+ "GL_LIGHT4", # 0x4004
+ "GL_LIGHT5", # 0x4005
+ "GL_LIGHT6", # 0x4006
+ "GL_LIGHT7", # 0x4007
+ "GL_SPOT_EXPONENT", # 0x1205
+ "GL_SPOT_CUTOFF", # 0x1206
+ "GL_CONSTANT_ATTENUATION", # 0x1207
+ "GL_LINEAR_ATTENUATION", # 0x1208
+ "GL_QUADRATIC_ATTENUATION", # 0x1209
+ "GL_AMBIENT", # 0x1200
+ "GL_DIFFUSE", # 0x1201
+ "GL_SPECULAR", # 0x1202
+ "GL_SHININESS", # 0x1601
+ "GL_EMISSION", # 0x1600
+ "GL_POSITION", # 0x1203
+ "GL_SPOT_DIRECTION", # 0x1204
+ "GL_AMBIENT_AND_DIFFUSE", # 0x1602
+ "GL_COLOR_INDEXES", # 0x1603
+ "GL_LIGHT_MODEL_TWO_SIDE", # 0x0B52
+ "GL_LIGHT_MODEL_LOCAL_VIEWER", # 0x0B51
+ "GL_LIGHT_MODEL_AMBIENT", # 0x0B53
+ "GL_SHADE_MODEL", # 0x0B54
+ "GL_FLAT", # 0x1D00
+ "GL_SMOOTH", # 0x1D01
+ "GL_COLOR_MATERIAL", # 0x0B57
+ "GL_COLOR_MATERIAL_FACE", # 0x0B55
+ "GL_COLOR_MATERIAL_PARAMETER", # 0x0B56
+ "GL_NORMALIZE", # 0x0BA1
+
+ "GL_CLIP_PLANE0", # 0x3000
+ "GL_CLIP_PLANE1", # 0x3001
+ "GL_CLIP_PLANE2", # 0x3002
+ "GL_CLIP_PLANE3", # 0x3003
+ "GL_CLIP_PLANE4", # 0x3004
+ "GL_CLIP_PLANE5", # 0x3005
+
+ "GL_ACCUM_RED_BITS", # 0x0D58
+ "GL_ACCUM_GREEN_BITS", # 0x0D59
+ "GL_ACCUM_BLUE_BITS", # 0x0D5A
+ "GL_ACCUM_ALPHA_BITS", # 0x0D5B
+ "GL_ACCUM_CLEAR_VALUE", # 0x0B80
+ "GL_ACCUM", # 0x0100
+ "GL_ADD", # 0x0104
+ "GL_LOAD", # 0x0101
+ "GL_MULT", # 0x0103
+ "GL_RETURN", # 0x0102
+
+ "GL_ALPHA_TEST", # 0x0BC0
+ "GL_ALPHA_TEST_REF", # 0x0BC2
+ "GL_ALPHA_TEST_FUNC", # 0x0BC1
+
+ "GL_BLEND", # 0x0BE2
+ "GL_BLEND_SRC", # 0x0BE1
+ "GL_BLEND_DST", # 0x0BE0
+ "GL_ZERO", # 0x0
+ "GL_ONE", # 0x1
+ "GL_SRC_COLOR", # 0x0300
+ "GL_ONE_MINUS_SRC_COLOR", # 0x0301
+ "GL_SRC_ALPHA", # 0x0302
+ "GL_ONE_MINUS_SRC_ALPHA", # 0x0303
+ "GL_DST_ALPHA", # 0x0304
+ "GL_ONE_MINUS_DST_ALPHA", # 0x0305
+ "GL_DST_COLOR", # 0x0306
+ "GL_ONE_MINUS_DST_COLOR", # 0x0307
+ "GL_SRC_ALPHA_SATURATE", # 0x0308
+
+ "GL_FEEDBACK", # 0x1C01
+ "GL_RENDER", # 0x1C00
+ "GL_SELECT", # 0x1C02
+
+ "GL_2D", # 0x0600
+ "GL_3D", # 0x0601
+ "GL_3D_COLOR", # 0x0602
+ "GL_3D_COLOR_TEXTURE", # 0x0603
+ "GL_4D_COLOR_TEXTURE", # 0x0604
+ "GL_POINT_TOKEN", # 0x0701
+ "GL_LINE_TOKEN", # 0x0702
+ "GL_LINE_RESET_TOKEN", # 0x0707
+ "GL_POLYGON_TOKEN", # 0x0703
+ "GL_BITMAP_TOKEN", # 0x0704
+ "GL_DRAW_PIXEL_TOKEN", # 0x0705
+ "GL_COPY_PIXEL_TOKEN", # 0x0706
+ "GL_PASS_THROUGH_TOKEN", # 0x0700
+ "GL_FEEDBACK_BUFFER_POINTER", # 0x0DF0
+ "GL_FEEDBACK_BUFFER_SIZE", # 0x0DF1
+ "GL_FEEDBACK_BUFFER_TYPE", # 0x0DF2
+
+ "GL_SELECTION_BUFFER_POINTER", # 0x0DF3
+ "GL_SELECTION_BUFFER_SIZE", # 0x0DF4
+
+ "GL_FOG", # 0x0B60
+ "GL_FOG_MODE", # 0x0B65
+ "GL_FOG_DENSITY", # 0x0B62
+ "GL_FOG_COLOR", # 0x0B66
+ "GL_FOG_INDEX", # 0x0B61
+ "GL_FOG_START", # 0x0B63
+ "GL_FOG_END", # 0x0B64
+ "GL_LINEAR", # 0x2601
+ "GL_EXP", # 0x0800
+ "GL_EXP2", # 0x0801
+
+ "GL_INDEX_LOGIC_OP", # 0x0BF1
+ "GL_COLOR_LOGIC_OP", # 0x0BF2
+ "GL_LOGIC_OP_MODE", # 0x0BF0
+ "GL_CLEAR", # 0x1500
+ "GL_SET", # 0x150F
+ "GL_COPY", # 0x1503
+ "GL_COPY_INVERTED", # 0x150C
+ "GL_NOOP", # 0x1505
+ "GL_INVERT", # 0x150A
+ "GL_AND", # 0x1501
+ "GL_NAND", # 0x150E
+ "GL_OR", # 0x1507
+ "GL_NOR", # 0x1508
+ "GL_XOR", # 0x1506
+ "GL_EQUIV", # 0x1509
+ "GL_AND_REVERSE", # 0x1502
+ "GL_AND_INVERTED", # 0x1504
+ "GL_OR_REVERSE", # 0x150B
+ "GL_OR_INVERTED", # 0x150D
+
+ "GL_STENCIL_BITS", # 0x0D57
+ "GL_STENCIL_TEST", # 0x0B90
+ "GL_STENCIL_CLEAR_VALUE", # 0x0B91
+ "GL_STENCIL_FUNC", # 0x0B92
+ "GL_STENCIL_VALUE_MASK", # 0x0B93
+ "GL_STENCIL_FAIL", # 0x0B94
+ "GL_STENCIL_PASS_DEPTH_FAIL", # 0x0B95
+ "GL_STENCIL_PASS_DEPTH_PASS", # 0x0B96
+ "GL_STENCIL_REF", # 0x0B97
+ "GL_STENCIL_WRITEMASK", # 0x0B98
+ "GL_STENCIL_INDEX", # 0x1901
+ "GL_KEEP", # 0x1E00
+ "GL_REPLACE", # 0x1E01
+ "GL_INCR", # 0x1E02
+ "GL_DECR", # 0x1E03
+
+ #"GL_NONE", # 0x0
+ "GL_LEFT", # 0x0406
+ "GL_RIGHT", # 0x0407
+ "GL_FRONT", # 0x0404
+ "GL_BACK", # 0x0405
+ "GL_FRONT_AND_BACK", # 0x0408
+ "GL_FRONT_LEFT", # 0x0400
+ "GL_FRONT_RIGHT", # 0x0401
+ "GL_BACK_LEFT", # 0x0402
+ "GL_BACK_RIGHT", # 0x0403
+ "GL_AUX0", # 0x0409
+ "GL_AUX1", # 0x040A
+ "GL_AUX2", # 0x040B
+ "GL_AUX3", # 0x040C
+ "GL_COLOR_INDEX", # 0x1900
+ "GL_RED", # 0x1903
+ "GL_GREEN", # 0x1904
+ "GL_BLUE", # 0x1905
+ "GL_ALPHA", # 0x1906
+ "GL_LUMINANCE", # 0x1909
+ "GL_LUMINANCE_ALPHA", # 0x190A
+ "GL_ALPHA_BITS", # 0x0D55
+ "GL_RED_BITS", # 0x0D52
+ "GL_GREEN_BITS", # 0x0D53
+ "GL_BLUE_BITS", # 0x0D54
+ "GL_INDEX_BITS", # 0x0D51
+ "GL_SUBPIXEL_BITS", # 0x0D50
+ "GL_AUX_BUFFERS", # 0x0C00
+ "GL_READ_BUFFER", # 0x0C02
+ "GL_DRAW_BUFFER", # 0x0C01
+ "GL_DOUBLEBUFFER", # 0x0C32
+ "GL_STEREO", # 0x0C33
+ "GL_BITMAP", # 0x1A00
+ "GL_COLOR", # 0x1800
+ "GL_DEPTH", # 0x1801
+ "GL_STENCIL", # 0x1802
+ "GL_DITHER", # 0x0BD0
+ "GL_RGB", # 0x1907
+ "GL_RGBA", # 0x1908
+
+ "GL_MAX_LIST_NESTING", # 0x0B31
+ "GL_MAX_EVAL_ORDER", # 0x0D30
+ "GL_MAX_LIGHTS", # 0x0D31
+ "GL_MAX_CLIP_PLANES", # 0x0D32
+ "GL_MAX_TEXTURE_SIZE", # 0x0D33
+ "GL_MAX_PIXEL_MAP_TABLE", # 0x0D34
+ "GL_MAX_ATTRIB_STACK_DEPTH", # 0x0D35
+ "GL_MAX_MODELVIEW_STACK_DEPTH", # 0x0D36
+ "GL_MAX_NAME_STACK_DEPTH", # 0x0D37
+ "GL_MAX_PROJECTION_STACK_DEPTH", # 0x0D38
+ "GL_MAX_TEXTURE_STACK_DEPTH", # 0x0D39
+ "GL_MAX_VIEWPORT_DIMS", # 0x0D3A
+ "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH", # 0x0D3B
+
+ "GL_ATTRIB_STACK_DEPTH", # 0x0BB0
+ "GL_CLIENT_ATTRIB_STACK_DEPTH", # 0x0BB1
+ "GL_COLOR_CLEAR_VALUE", # 0x0C22
+ "GL_COLOR_WRITEMASK", # 0x0C23
+ "GL_CURRENT_INDEX", # 0x0B01
+ "GL_CURRENT_COLOR", # 0x0B00
+ "GL_CURRENT_NORMAL", # 0x0B02
+ "GL_CURRENT_RASTER_COLOR", # 0x0B04
+ "GL_CURRENT_RASTER_DISTANCE", # 0x0B09
+ "GL_CURRENT_RASTER_INDEX", # 0x0B05
+ "GL_CURRENT_RASTER_POSITION", # 0x0B07
+ "GL_CURRENT_RASTER_TEXTURE_COORDS", # 0x0B06
+ "GL_CURRENT_RASTER_POSITION_VALID", # 0x0B08
+ "GL_CURRENT_TEXTURE_COORDS", # 0x0B03
+ "GL_INDEX_CLEAR_VALUE", # 0x0C20
+ "GL_INDEX_MODE", # 0x0C30
+ "GL_INDEX_WRITEMASK", # 0x0C21
+ "GL_MODELVIEW_MATRIX", # 0x0BA6
+ "GL_MODELVIEW_STACK_DEPTH", # 0x0BA3
+ "GL_NAME_STACK_DEPTH", # 0x0D70
+ "GL_PROJECTION_MATRIX", # 0x0BA7
+ "GL_PROJECTION_STACK_DEPTH", # 0x0BA4
+ "GL_RENDER_MODE", # 0x0C40
+ "GL_RGBA_MODE", # 0x0C31
+ "GL_TEXTURE_MATRIX", # 0x0BA8
+ "GL_TEXTURE_STACK_DEPTH", # 0x0BA5
+ "GL_VIEWPORT", # 0x0BA2
+
+ "GL_AUTO_NORMAL", # 0x0D80
+ "GL_MAP1_COLOR_4", # 0x0D90
+ "GL_MAP1_INDEX", # 0x0D91
+ "GL_MAP1_NORMAL", # 0x0D92
+ "GL_MAP1_TEXTURE_COORD_1", # 0x0D93
+ "GL_MAP1_TEXTURE_COORD_2", # 0x0D94
+ "GL_MAP1_TEXTURE_COORD_3", # 0x0D95
+ "GL_MAP1_TEXTURE_COORD_4", # 0x0D96
+ "GL_MAP1_VERTEX_3", # 0x0D97
+ "GL_MAP1_VERTEX_4", # 0x0D98
+ "GL_MAP2_COLOR_4", # 0x0DB0
+ "GL_MAP2_INDEX", # 0x0DB1
+ "GL_MAP2_NORMAL", # 0x0DB2
+ "GL_MAP2_TEXTURE_COORD_1", # 0x0DB3
+ "GL_MAP2_TEXTURE_COORD_2", # 0x0DB4
+ "GL_MAP2_TEXTURE_COORD_3", # 0x0DB5
+ "GL_MAP2_TEXTURE_COORD_4", # 0x0DB6
+ "GL_MAP2_VERTEX_3", # 0x0DB7
+ "GL_MAP2_VERTEX_4", # 0x0DB8
+ "GL_MAP1_GRID_DOMAIN", # 0x0DD0
+ "GL_MAP1_GRID_SEGMENTS", # 0x0DD1
+ "GL_MAP2_GRID_DOMAIN", # 0x0DD2
+ "GL_MAP2_GRID_SEGMENTS", # 0x0DD3
+ "GL_COEFF", # 0x0A00
+ "GL_ORDER", # 0x0A01
+ "GL_DOMAIN", # 0x0A02
+
+ "GL_PERSPECTIVE_CORRECTION_HINT", # 0x0C50
+ "GL_POINT_SMOOTH_HINT", # 0x0C51
+ "GL_LINE_SMOOTH_HINT", # 0x0C52
+ "GL_POLYGON_SMOOTH_HINT", # 0x0C53
+ "GL_FOG_HINT", # 0x0C54
+ "GL_DONT_CARE", # 0x1100
+ "GL_FASTEST", # 0x1101
+ "GL_NICEST", # 0x1102
+
+ "GL_SCISSOR_BOX", # 0x0C10
+ "GL_SCISSOR_TEST", # 0x0C11
+
+ "GL_MAP_COLOR", # 0x0D10
+ "GL_MAP_STENCIL", # 0x0D11
+ "GL_INDEX_SHIFT", # 0x0D12
+ "GL_INDEX_OFFSET", # 0x0D13
+ "GL_RED_SCALE", # 0x0D14
+ "GL_RED_BIAS", # 0x0D15
+ "GL_GREEN_SCALE", # 0x0D18
+ "GL_GREEN_BIAS", # 0x0D19
+ "GL_BLUE_SCALE", # 0x0D1A
+ "GL_BLUE_BIAS", # 0x0D1B
+ "GL_ALPHA_SCALE", # 0x0D1C
+ "GL_ALPHA_BIAS", # 0x0D1D
+ "GL_DEPTH_SCALE", # 0x0D1E
+ "GL_DEPTH_BIAS", # 0x0D1F
+ "GL_PIXEL_MAP_S_TO_S_SIZE", # 0x0CB1
+ "GL_PIXEL_MAP_I_TO_I_SIZE", # 0x0CB0
+ "GL_PIXEL_MAP_I_TO_R_SIZE", # 0x0CB2
+ "GL_PIXEL_MAP_I_TO_G_SIZE", # 0x0CB3
+ "GL_PIXEL_MAP_I_TO_B_SIZE", # 0x0CB4
+ "GL_PIXEL_MAP_I_TO_A_SIZE", # 0x0CB5
+ "GL_PIXEL_MAP_R_TO_R_SIZE", # 0x0CB6
+ "GL_PIXEL_MAP_G_TO_G_SIZE", # 0x0CB7
+ "GL_PIXEL_MAP_B_TO_B_SIZE", # 0x0CB8
+ "GL_PIXEL_MAP_A_TO_A_SIZE", # 0x0CB9
+ "GL_PIXEL_MAP_S_TO_S", # 0x0C71
+ "GL_PIXEL_MAP_I_TO_I", # 0x0C70
+ "GL_PIXEL_MAP_I_TO_R", # 0x0C72
+ "GL_PIXEL_MAP_I_TO_G", # 0x0C73
+ "GL_PIXEL_MAP_I_TO_B", # 0x0C74
+ "GL_PIXEL_MAP_I_TO_A", # 0x0C75
+ "GL_PIXEL_MAP_R_TO_R", # 0x0C76
+ "GL_PIXEL_MAP_G_TO_G", # 0x0C77
+ "GL_PIXEL_MAP_B_TO_B", # 0x0C78
+ "GL_PIXEL_MAP_A_TO_A", # 0x0C79
+ "GL_PACK_ALIGNMENT", # 0x0D05
+ "GL_PACK_LSB_FIRST", # 0x0D01
+ "GL_PACK_ROW_LENGTH", # 0x0D02
+ "GL_PACK_SKIP_PIXELS", # 0x0D04
+ "GL_PACK_SKIP_ROWS", # 0x0D03
+ "GL_PACK_SWAP_BYTES", # 0x0D00
+ "GL_UNPACK_ALIGNMENT", # 0x0CF5
+ "GL_UNPACK_LSB_FIRST", # 0x0CF1
+ "GL_UNPACK_ROW_LENGTH", # 0x0CF2
+ "GL_UNPACK_SKIP_PIXELS", # 0x0CF4
+ "GL_UNPACK_SKIP_ROWS", # 0x0CF3
+ "GL_UNPACK_SWAP_BYTES", # 0x0CF0
+ "GL_ZOOM_X", # 0x0D16
+ "GL_ZOOM_Y", # 0x0D17
+
+ "GL_TEXTURE_ENV", # 0x2300
+ "GL_TEXTURE_ENV_MODE", # 0x2200
+ "GL_TEXTURE_1D", # 0x0DE0
+ "GL_TEXTURE_2D", # 0x0DE1
+ "GL_TEXTURE_WRAP_S", # 0x2802
+ "GL_TEXTURE_WRAP_T", # 0x2803
+ "GL_TEXTURE_MAG_FILTER", # 0x2800
+ "GL_TEXTURE_MIN_FILTER", # 0x2801
+ "GL_TEXTURE_ENV_COLOR", # 0x2201
+ "GL_TEXTURE_GEN_S", # 0x0C60
+ "GL_TEXTURE_GEN_T", # 0x0C61
+ "GL_TEXTURE_GEN_MODE", # 0x2500
+ "GL_TEXTURE_BORDER_COLOR", # 0x1004
+ "GL_TEXTURE_WIDTH", # 0x1000
+ "GL_TEXTURE_HEIGHT", # 0x1001
+ "GL_TEXTURE_BORDER", # 0x1005
+ "GL_TEXTURE_COMPONENTS", # 0x1003
+ "GL_TEXTURE_RED_SIZE", # 0x805C
+ "GL_TEXTURE_GREEN_SIZE", # 0x805D
+ "GL_TEXTURE_BLUE_SIZE", # 0x805E
+ "GL_TEXTURE_ALPHA_SIZE", # 0x805F
+ "GL_TEXTURE_LUMINANCE_SIZE", # 0x8060
+ "GL_TEXTURE_INTENSITY_SIZE", # 0x8061
+ "GL_NEAREST_MIPMAP_NEAREST", # 0x2700
+ "GL_NEAREST_MIPMAP_LINEAR", # 0x2702
+ "GL_LINEAR_MIPMAP_NEAREST", # 0x2701
+ "GL_LINEAR_MIPMAP_LINEAR", # 0x2703
+ "GL_OBJECT_LINEAR", # 0x2401
+ "GL_OBJECT_PLANE", # 0x2501
+ "GL_EYE_LINEAR", # 0x2400
+ "GL_EYE_PLANE", # 0x2502
+ "GL_SPHERE_MAP", # 0x2402
+ "GL_DECAL", # 0x2101
+ "GL_MODULATE", # 0x2100
+ "GL_NEAREST", # 0x2600
+ "GL_REPEAT", # 0x2901
+ "GL_CLAMP", # 0x2900
+ "GL_S", # 0x2000
+ "GL_T", # 0x2001
+ "GL_R", # 0x2002
+ "GL_Q", # 0x2003
+ "GL_TEXTURE_GEN_R", # 0x0C62
+ "GL_TEXTURE_GEN_Q", # 0x0C63
+
+ "GL_VENDOR", # 0x1F00
+ "GL_RENDERER", # 0x1F01
+ "GL_VERSION", # 0x1F02
+ "GL_EXTENSIONS", # 0x1F03
+
+ #"GL_NO_ERROR", # 0x0
+ "GL_INVALID_ENUM", # 0x0500
+ "GL_INVALID_VALUE", # 0x0501
+ "GL_INVALID_OPERATION", # 0x0502
+ "GL_STACK_OVERFLOW", # 0x0503
+ "GL_STACK_UNDERFLOW", # 0x0504
+ "GL_OUT_OF_MEMORY", # 0x0505
+
+ "GL_PROXY_TEXTURE_1D", # 0x8063
+ "GL_PROXY_TEXTURE_2D", # 0x8064
+ "GL_TEXTURE_PRIORITY", # 0x8066
+ "GL_TEXTURE_RESIDENT", # 0x8067
+ "GL_TEXTURE_BINDING_1D", # 0x8068
+ "GL_TEXTURE_BINDING_2D", # 0x8069
+ #"GL_TEXTURE_INTERNAL_FORMAT", # 0x1003
+ "GL_ALPHA4", # 0x803B
+ "GL_ALPHA8", # 0x803C
+ "GL_ALPHA12", # 0x803D
+ "GL_ALPHA16", # 0x803E
+ "GL_LUMINANCE4", # 0x803F
+ "GL_LUMINANCE8", # 0x8040
+ "GL_LUMINANCE12", # 0x8041
+ "GL_LUMINANCE16", # 0x8042
+ "GL_LUMINANCE4_ALPHA4", # 0x8043
+ "GL_LUMINANCE6_ALPHA2", # 0x8044
+ "GL_LUMINANCE8_ALPHA8", # 0x8045
+ "GL_LUMINANCE12_ALPHA4", # 0x8046
+ "GL_LUMINANCE12_ALPHA12", # 0x8047
+ "GL_LUMINANCE16_ALPHA16", # 0x8048
+ "GL_INTENSITY", # 0x8049
+ "GL_INTENSITY4", # 0x804A
+ "GL_INTENSITY8", # 0x804B
+ "GL_INTENSITY12", # 0x804C
+ "GL_INTENSITY16", # 0x804D
+ "GL_R3_G3_B2", # 0x2A10
+ "GL_RGB4", # 0x804F
+ "GL_RGB5", # 0x8050
+ "GL_RGB8", # 0x8051
+ "GL_RGB10", # 0x8052
+ "GL_RGB12", # 0x8053
+ "GL_RGB16", # 0x8054
+ "GL_RGBA2", # 0x8055
+ "GL_RGBA4", # 0x8056
+ "GL_RGB5_A1", # 0x8057
+ "GL_RGBA8", # 0x8058
+ "GL_RGB10_A2", # 0x8059
+ "GL_RGBA12", # 0x805A
+ "GL_RGBA16", # 0x805B
+
+# "GL_BGR", # 0x80E0
+# "GL_BGRA", # 0x80E1
+# "GL_UNSIGNED_BYTE_3_3_2", # 0x8032
+# "GL_UNSIGNED_BYTE_2_3_3_REV", # 0x8362
+# "GL_UNSIGNED_SHORT_5_6_5", # 0x8363
+# "GL_UNSIGNED_SHORT_5_6_5_REV", # 0x8364
+# "GL_UNSIGNED_SHORT_4_4_4_4", # 0x8033
+# "GL_UNSIGNED_SHORT_4_4_4_4_REV", # 0x8365
+# "GL_UNSIGNED_SHORT_5_5_5_1", # 0x8034
+# "GL_UNSIGNED_SHORT_1_5_5_5_REV", # 0x8366
+# "GL_UNSIGNED_INT_8_8_8_8", # 0x8035
+# "GL_UNSIGNED_INT_8_8_8_8_REV", # 0x8367
+# "GL_UNSIGNED_INT_10_10_10_2", # 0x8036
+# "GL_UNSIGNED_INT_2_10_10_10_REV", # 0x8368
+# "GL_LIGHT_MODEL_COLOR_CONTROL", # 0x81F8
+# "GL_SINGLE_COLOR", # 0x81F9
+# "GL_SEPARATE_SPECULAR_COLOR", # 0x81FA
+# "GL_TEXTURE_MIN_LOD", # 0x813A
+# "GL_TEXTURE_MAX_LOD", # 0x813B
+# "GL_TEXTURE_BASE_LEVEL", # 0x813C
+# "GL_TEXTURE_MAX_LEVEL", # 0x813D
+# "GL_SMOOTH_POINT_SIZE_RANGE", # 0x0B12
+# "GL_SMOOTH_POINT_SIZE_GRANULARITY", # 0x0B13
+# "GL_SMOOTH_LINE_WIDTH_RANGE", # 0x0B22
+# "GL_SMOOTH_LINE_WIDTH_GRANULARITY", # 0x0B23
+# "GL_ALIASED_POINT_SIZE_RANGE", # 0x846D
+# "GL_ALIASED_LINE_WIDTH_RANGE", # 0x846E
+# "GL_PACK_SKIP_IMAGES", # 0x806B
+# "GL_PACK_IMAGE_HEIGHT", # 0x806C
+# "GL_UNPACK_SKIP_IMAGES", # 0x806D
+# "GL_UNPACK_IMAGE_HEIGHT", # 0x806E
+# "GL_TEXTURE_3D", # 0x806F
+# "GL_PROXY_TEXTURE_3D", # 0x8070
+# "GL_TEXTURE_DEPTH", # 0x8071
+# "GL_TEXTURE_WRAP_R", # 0x8072
+# "GL_MAX_3D_TEXTURE_SIZE", # 0x8073
+# "GL_TEXTURE_BINDING_3D", # 0x806A
+#
+# "GL_CONSTANT_COLOR", # 0x8001
+# "GL_ONE_MINUS_CONSTANT_COLOR", # 0x8002
+# "GL_CONSTANT_ALPHA", # 0x8003
+# "GL_ONE_MINUS_CONSTANT_ALPHA", # 0x8004
+# "GL_COLOR_TABLE", # 0x80D0
+# "GL_POST_CONVOLUTION_COLOR_TABLE", # 0x80D1
+# "GL_POST_COLOR_MATRIX_COLOR_TABLE", # 0x80D2
+# "GL_PROXY_COLOR_TABLE", # 0x80D3
+# "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE", # 0x80D4
+# "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE", # 0x80D5
+# "GL_COLOR_TABLE_SCALE", # 0x80D6
+# "GL_COLOR_TABLE_BIAS", # 0x80D7
+# "GL_COLOR_TABLE_FORMAT", # 0x80D8
+# "GL_COLOR_TABLE_WIDTH", # 0x80D9
+# "GL_COLOR_TABLE_RED_SIZE", # 0x80DA
+# "GL_COLOR_TABLE_GREEN_SIZE", # 0x80DB
+# "GL_COLOR_TABLE_BLUE_SIZE", # 0x80DC
+# "GL_COLOR_TABLE_ALPHA_SIZE", # 0x80DD
+# "GL_COLOR_TABLE_LUMINANCE_SIZE", # 0x80DE
+# "GL_COLOR_TABLE_INTENSITY_SIZE", # 0x80DF
+# "GL_CONVOLUTION_1D", # 0x8010
+# "GL_CONVOLUTION_2D", # 0x8011
+# "GL_SEPARABLE_2D", # 0x8012
+# "GL_CONVOLUTION_BORDER_MODE", # 0x8013
+# "GL_CONVOLUTION_FILTER_SCALE", # 0x8014
+# "GL_CONVOLUTION_FILTER_BIAS", # 0x8015
+# "GL_REDUCE", # 0x8016
+# "GL_CONVOLUTION_FORMAT", # 0x8017
+# "GL_CONVOLUTION_WIDTH", # 0x8018
+# "GL_CONVOLUTION_HEIGHT", # 0x8019
+# "GL_MAX_CONVOLUTION_WIDTH", # 0x801A
+# "GL_MAX_CONVOLUTION_HEIGHT", # 0x801B
+# "GL_POST_CONVOLUTION_RED_SCALE", # 0x801C
+# "GL_POST_CONVOLUTION_GREEN_SCALE", # 0x801D
+# "GL_POST_CONVOLUTION_BLUE_SCALE", # 0x801E
+# "GL_POST_CONVOLUTION_ALPHA_SCALE", # 0x801F
+# "GL_POST_CONVOLUTION_RED_BIAS", # 0x8020
+# "GL_POST_CONVOLUTION_GREEN_BIAS", # 0x8021
+# "GL_POST_CONVOLUTION_BLUE_BIAS", # 0x8022
+# "GL_POST_CONVOLUTION_ALPHA_BIAS", # 0x8023
+# "GL_CONSTANT_BORDER", # 0x8151
+# "GL_REPLICATE_BORDER", # 0x8153
+# "GL_CONVOLUTION_BORDER_COLOR", # 0x8154
+# "GL_COLOR_MATRIX", # 0x80B1
+# "GL_COLOR_MATRIX_STACK_DEPTH", # 0x80B2
+# "GL_MAX_COLOR_MATRIX_STACK_DEPTH", # 0x80B3
+# "GL_POST_COLOR_MATRIX_RED_SCALE", # 0x80B4
+# "GL_POST_COLOR_MATRIX_GREEN_SCALE", # 0x80B5
+# "GL_POST_COLOR_MATRIX_BLUE_SCALE", # 0x80B6
+# "GL_POST_COLOR_MATRIX_ALPHA_SCALE", # 0x80B7
+# "GL_POST_COLOR_MATRIX_RED_BIAS", # 0x80B8
+# "GL_POST_COLOR_MATRIX_GREEN_BIAS", # 0x80B9
+# "GL_POST_COLOR_MATRIX_BLUE_BIAS", # 0x80BA
+# "GL_POST_COLOR_MATRIX_ALPHA_BIAS", # 0x80BB
+# "GL_HISTOGRAM", # 0x8024
+# "GL_PROXY_HISTOGRAM", # 0x8025
+# "GL_HISTOGRAM_WIDTH", # 0x8026
+# "GL_HISTOGRAM_FORMAT", # 0x8027
+# "GL_HISTOGRAM_RED_SIZE", # 0x8028
+# "GL_HISTOGRAM_GREEN_SIZE", # 0x8029
+# "GL_HISTOGRAM_BLUE_SIZE", # 0x802A
+# "GL_HISTOGRAM_ALPHA_SIZE", # 0x802B
+# "GL_HISTOGRAM_LUMINANCE_SIZE", # 0x802C
+# "GL_HISTOGRAM_SINK", # 0x802D
+# "GL_MINMAX", # 0x802E
+# "GL_MINMAX_FORMAT", # 0x802F
+# "GL_MINMAX_SINK", # 0x8030
+# "GL_TABLE_TOO_LARGE", # 0x8031
+# "GL_BLEND_EQUATION", # 0x8009
+# "GL_MIN", # 0x8007
+# "GL_MAX", # 0x8008
+# "GL_FUNC_ADD", # 0x8006
+# "GL_FUNC_SUBTRACT", # 0x800A
+# "GL_FUNC_REVERSE_SUBTRACT", # 0x800B
+# "GL_BLEND_COLOR", # 0x8005
+
+# "GL_TEXTURE0", # 0x84C0
+# "GL_TEXTURE1", # 0x84C1
+# "GL_TEXTURE2", # 0x84C2
+# "GL_TEXTURE3", # 0x84C3
+# "GL_TEXTURE4", # 0x84C4
+# "GL_TEXTURE5", # 0x84C5
+# "GL_TEXTURE6", # 0x84C6
+# "GL_TEXTURE7", # 0x84C7
+# "GL_TEXTURE8", # 0x84C8
+# "GL_TEXTURE9", # 0x84C9
+# "GL_TEXTURE10", # 0x84CA
+# "GL_TEXTURE11", # 0x84CB
+# "GL_TEXTURE12", # 0x84CC
+# "GL_TEXTURE13", # 0x84CD
+# "GL_TEXTURE14", # 0x84CE
+# "GL_TEXTURE15", # 0x84CF
+# "GL_TEXTURE16", # 0x84D0
+# "GL_TEXTURE17", # 0x84D1
+# "GL_TEXTURE18", # 0x84D2
+# "GL_TEXTURE19", # 0x84D3
+# "GL_TEXTURE20", # 0x84D4
+# "GL_TEXTURE21", # 0x84D5
+# "GL_TEXTURE22", # 0x84D6
+# "GL_TEXTURE23", # 0x84D7
+# "GL_TEXTURE24", # 0x84D8
+# "GL_TEXTURE25", # 0x84D9
+# "GL_TEXTURE26", # 0x84DA
+# "GL_TEXTURE27", # 0x84DB
+# "GL_TEXTURE28", # 0x84DC
+# "GL_TEXTURE29", # 0x84DD
+# "GL_TEXTURE30", # 0x84DE
+# "GL_TEXTURE31", # 0x84DF
+# "GL_ACTIVE_TEXTURE", # 0x84E0
+# "GL_CLIENT_ACTIVE_TEXTURE", # 0x84E1
+# "GL_MAX_TEXTURE_UNITS", # 0x84E2
+# "GL_NORMAL_MAP", # 0x8511
+# "GL_REFLECTION_MAP", # 0x8512
+# "GL_TEXTURE_CUBE_MAP", # 0x8513
+# "GL_TEXTURE_BINDING_CUBE_MAP", # 0x8514
+# "GL_TEXTURE_CUBE_MAP_POSITIVE_X", # 0x8515
+# "GL_TEXTURE_CUBE_MAP_NEGATIVE_X", # 0x8516
+# "GL_TEXTURE_CUBE_MAP_POSITIVE_Y", # 0x8517
+# "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y", # 0x8518
+# "GL_TEXTURE_CUBE_MAP_POSITIVE_Z", # 0x8519
+# "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z", # 0x851A
+# "GL_PROXY_TEXTURE_CUBE_MAP", # 0x851B
+# "GL_MAX_CUBE_MAP_TEXTURE_SIZE", # 0x851C
+# "GL_COMPRESSED_ALPHA", # 0x84E9
+# "GL_COMPRESSED_LUMINANCE", # 0x84EA
+# "GL_COMPRESSED_LUMINANCE_ALPHA", # 0x84EB
+# "GL_COMPRESSED_INTENSITY", # 0x84EC
+# "GL_COMPRESSED_RGB", # 0x84ED
+# "GL_COMPRESSED_RGBA", # 0x84EE
+# "GL_TEXTURE_COMPRESSION_HINT", # 0x84EF
+# "GL_TEXTURE_COMPRESSED_IMAGE_SIZE", # 0x86A0
+# "GL_TEXTURE_COMPRESSED", # 0x86A1
+# "GL_NUM_COMPRESSED_TEXTURE_FORMATS", # 0x86A2
+# "GL_COMPRESSED_TEXTURE_FORMATS", # 0x86A3
+# "GL_MULTISAMPLE", # 0x809D
+# "GL_SAMPLE_ALPHA_TO_COVERAGE", # 0x809E
+# "GL_SAMPLE_ALPHA_TO_ONE", # 0x809F
+# "GL_SAMPLE_COVERAGE", # 0x80A0
+# "GL_SAMPLE_BUFFERS", # 0x80A8
+# "GL_SAMPLES", # 0x80A9
+# "GL_SAMPLE_COVERAGE_VALUE", # 0x80AA
+# "GL_SAMPLE_COVERAGE_INVERT", # 0x80AB
+# "GL_TRANSPOSE_MODELVIEW_MATRIX", # 0x84E3
+# "GL_TRANSPOSE_PROJECTION_MATRIX", # 0x84E4
+# "GL_TRANSPOSE_TEXTURE_MATRIX", # 0x84E5
+# "GL_TRANSPOSE_COLOR_MATRIX", # 0x84E6
+# "GL_COMBINE", # 0x8570
+# "GL_COMBINE_RGB", # 0x8571
+# "GL_COMBINE_ALPHA", # 0x8572
+# "GL_SOURCE0_RGB", # 0x8580
+# "GL_SOURCE1_RGB", # 0x8581
+# "GL_SOURCE2_RGB", # 0x8582
+# "GL_SOURCE0_ALPHA", # 0x8588
+# "GL_SOURCE1_ALPHA", # 0x8589
+# "GL_SOURCE2_ALPHA", # 0x858A
+# "GL_OPERAND0_RGB", # 0x8590
+# "GL_OPERAND1_RGB", # 0x8591
+# "GL_OPERAND2_RGB", # 0x8592
+# "GL_OPERAND0_ALPHA", # 0x8598
+# "GL_OPERAND1_ALPHA", # 0x8599
+# "GL_OPERAND2_ALPHA", # 0x859A
+# "GL_RGB_SCALE", # 0x8573
+# "GL_ADD_SIGNED", # 0x8574
+# "GL_INTERPOLATE", # 0x8575
+# "GL_SUBTRACT", # 0x84E7
+# "GL_CONSTANT", # 0x8576
+# "GL_PRIMARY_COLOR", # 0x8577
+# "GL_PREVIOUS", # 0x8578
+# "GL_DOT3_RGB", # 0x86AE
+# "GL_DOT3_RGBA", # 0x86AF
+# "GL_CLAMP_TO_BORDER", # 0x812D
+
+# "GL_TEXTURE0_ARB", # 0x84C0
+# "GL_TEXTURE1_ARB", # 0x84C1
+# "GL_TEXTURE2_ARB", # 0x84C2
+# "GL_TEXTURE3_ARB", # 0x84C3
+# "GL_TEXTURE4_ARB", # 0x84C4
+# "GL_TEXTURE5_ARB", # 0x84C5
+# "GL_TEXTURE6_ARB", # 0x84C6
+# "GL_TEXTURE7_ARB", # 0x84C7
+# "GL_TEXTURE8_ARB", # 0x84C8
+# "GL_TEXTURE9_ARB", # 0x84C9
+# "GL_TEXTURE10_ARB", # 0x84CA
+# "GL_TEXTURE11_ARB", # 0x84CB
+# "GL_TEXTURE12_ARB", # 0x84CC
+# "GL_TEXTURE13_ARB", # 0x84CD
+# "GL_TEXTURE14_ARB", # 0x84CE
+# "GL_TEXTURE15_ARB", # 0x84CF
+# "GL_TEXTURE16_ARB", # 0x84D0
+# "GL_TEXTURE17_ARB", # 0x84D1
+# "GL_TEXTURE18_ARB", # 0x84D2
+# "GL_TEXTURE19_ARB", # 0x84D3
+# "GL_TEXTURE20_ARB", # 0x84D4
+# "GL_TEXTURE21_ARB", # 0x84D5
+# "GL_TEXTURE22_ARB", # 0x84D6
+# "GL_TEXTURE23_ARB", # 0x84D7
+# "GL_TEXTURE24_ARB", # 0x84D8
+# "GL_TEXTURE25_ARB", # 0x84D9
+# "GL_TEXTURE26_ARB", # 0x84DA
+# "GL_TEXTURE27_ARB", # 0x84DB
+# "GL_TEXTURE28_ARB", # 0x84DC
+# "GL_TEXTURE29_ARB", # 0x84DD
+# "GL_TEXTURE30_ARB", # 0x84DE
+# "GL_TEXTURE31_ARB", # 0x84DF
+# "GL_ACTIVE_TEXTURE_ARB", # 0x84E0
+# "GL_CLIENT_ACTIVE_TEXTURE_ARB", # 0x84E1
+# "GL_MAX_TEXTURE_UNITS_ARB", # 0x84E2
+])
+
+[
+ "GL_POINTS", # 0x0000
+ "GL_LINES", # 0x0001
+ "GL_LINE_LOOP", # 0x0002
+ "GL_LINE_STRIP", # 0x0003
+ "GL_TRIANGLES", # 0x0004
+ "GL_TRIANGLE_STRIP", # 0x0005
+ "GL_TRIANGLE_FAN", # 0x0006
+ "GL_QUADS", # 0x0007
+ "GL_QUAD_STRIP", # 0x0008
+ "GL_POLYGON", # 0x0009
+]
+
+[
+ "GL_ALL_ATTRIB_BITS", # 0x000FFFFF
+ "GL_CURRENT_BIT", # 0x00000001
+ "GL_POINT_BIT", # 0x00000002
+ "GL_LINE_BIT", # 0x00000004
+ "GL_POLYGON_BIT", # 0x00000008
+ "GL_POLYGON_STIPPLE_BIT", # 0x00000010
+ "GL_PIXEL_MODE_BIT", # 0x00000020
+ "GL_LIGHTING_BIT", # 0x00000040
+ "GL_FOG_BIT", # 0x00000080
+ "GL_DEPTH_BUFFER_BIT", # 0x00000100
+ "GL_ACCUM_BUFFER_BIT", # 0x00000200
+ "GL_STENCIL_BUFFER_BIT", # 0x00000400
+ "GL_VIEWPORT_BIT", # 0x00000800
+ "GL_TRANSFORM_BIT", # 0x00001000
+ "GL_ENABLE_BIT", # 0x00002000
+ "GL_COLOR_BUFFER_BIT", # 0x00004000
+ "GL_HINT_BIT", # 0x00008000
+ "GL_EVAL_BIT", # 0x00010000
+ "GL_LIST_BIT", # 0x00020000
+ "GL_TEXTURE_BIT", # 0x00040000
+ "GL_SCISSOR_BIT", # 0x00080000
+ "GL_MULTISAMPLE_BIT", # 0x20000000
+]
+
+[
+ "GL_CLIENT_PIXEL_STORE_BIT", # 0x00000001
+ "GL_CLIENT_VERTEX_ARRAY_BIT", # 0x00000002
+ "GL_ALL_CLIENT_ATTRIB_BITS", # 0xFFFFFFFF
+ "GL_CLIENT_ALL_ATTRIB_BITS", # 0xFFFFFFFF
+]
diff --git a/opengl32.def b/opengl32.def
new file mode 100644
index 00000000..9e717a79
--- /dev/null
+++ b/opengl32.def
@@ -0,0 +1,371 @@
+LIBRARY opengl32
+
+EXPORTS
+; GlmfBeginGlsBlock
+; GlmfCloseMetaFile
+; GlmfEndGlsBlock
+; GlmfEndPlayback
+; GlmfInitPlayback
+; GlmfPlayGlsRecord
+ glAccum
+ glAlphaFunc
+ glAreTexturesResident
+ glArrayElement
+ glBegin
+ glBindTexture
+ glBitmap
+ glBlendFunc
+ glCallList
+ glCallLists
+ glClear
+ glClearAccum
+ glClearColor
+ glClearDepth
+ glClearIndex
+ glClearStencil
+ glClipPlane
+ glColor3b
+ glColor3bv
+ glColor3d
+ glColor3dv
+ glColor3f
+ glColor3fv
+ glColor3i
+ glColor3iv
+ glColor3s
+ glColor3sv
+ glColor3ub
+ glColor3ubv
+ glColor3ui
+ glColor3uiv
+ glColor3us
+ glColor3usv
+ glColor4b
+ glColor4bv
+ glColor4d
+ glColor4dv
+ glColor4f
+ glColor4fv
+ glColor4i
+ glColor4iv
+ glColor4s
+ glColor4sv
+ glColor4ub
+ glColor4ubv
+ glColor4ui
+ glColor4uiv
+ glColor4us
+ glColor4usv
+ glColorMask
+ glColorMaterial
+ glColorPointer
+ glCopyPixels
+ glCopyTexImage1D
+ glCopyTexImage2D
+ glCopyTexSubImage1D
+ glCopyTexSubImage2D
+ glCullFace
+; glDebugEntry
+ glDeleteLists
+ glDeleteTextures
+ glDepthFunc
+ glDepthMask
+ glDepthRange
+ glDisable
+ glDisableClientState
+ glDrawArrays
+ glDrawBuffer
+ glDrawElements
+ glDrawPixels
+ glEdgeFlag
+ glEdgeFlagPointer
+ glEdgeFlagv
+ glEnable
+ glEnableClientState
+ glEnd
+ glEndList
+ glEvalCoord1d
+ glEvalCoord1dv
+ glEvalCoord1f
+ glEvalCoord1fv
+ glEvalCoord2d
+ glEvalCoord2dv
+ glEvalCoord2f
+ glEvalCoord2fv
+ glEvalMesh1
+ glEvalMesh2
+ glEvalPoint1
+ glEvalPoint2
+ glFeedbackBuffer
+ glFinish
+ glFlush
+ glFogf
+ glFogfv
+ glFogi
+ glFogiv
+ glFrontFace
+ glFrustum
+ glGenLists
+ glGenTextures
+ glGetBooleanv
+ glGetClipPlane
+ glGetDoublev
+ glGetError
+ glGetFloatv
+ glGetIntegerv
+ glGetLightfv
+ glGetLightiv
+ glGetMapdv
+ glGetMapfv
+ glGetMapiv
+ glGetMaterialfv
+ glGetMaterialiv
+ glGetPixelMapfv
+ glGetPixelMapuiv
+ glGetPixelMapusv
+ glGetPointerv
+ glGetPolygonStipple
+ glGetString
+ glGetTexEnvfv
+ glGetTexEnviv
+ glGetTexGendv
+ glGetTexGenfv
+ glGetTexGeniv
+ glGetTexImage
+ glGetTexLevelParameterfv
+ glGetTexLevelParameteriv
+ glGetTexParameterfv
+ glGetTexParameteriv
+ glHint
+ glIndexMask
+ glIndexPointer
+ glIndexd
+ glIndexdv
+ glIndexf
+ glIndexfv
+ glIndexi
+ glIndexiv
+ glIndexs
+ glIndexsv
+ glIndexub
+ glIndexubv
+ glInitNames
+ glInterleavedArrays
+ glIsEnabled
+ glIsList
+ glIsTexture
+ glLightModelf
+ glLightModelfv
+ glLightModeli
+ glLightModeliv
+ glLightf
+ glLightfv
+ glLighti
+ glLightiv
+ glLineStipple
+ glLineWidth
+ glListBase
+ glLoadIdentity
+ glLoadMatrixd
+ glLoadMatrixf
+ glLoadName
+ glLogicOp
+ glMap1d
+ glMap1f
+ glMap2d
+ glMap2f
+ glMapGrid1d
+ glMapGrid1f
+ glMapGrid2d
+ glMapGrid2f
+ glMaterialf
+ glMaterialfv
+ glMateriali
+ glMaterialiv
+ glMatrixMode
+ glMultMatrixd
+ glMultMatrixf
+ glNewList
+ glNormal3b
+ glNormal3bv
+ glNormal3d
+ glNormal3dv
+ glNormal3f
+ glNormal3fv
+ glNormal3i
+ glNormal3iv
+ glNormal3s
+ glNormal3sv
+ glNormalPointer
+ glOrtho
+ glPassThrough
+ glPixelMapfv
+ glPixelMapuiv
+ glPixelMapusv
+ glPixelStoref
+ glPixelStorei
+ glPixelTransferf
+ glPixelTransferi
+ glPixelZoom
+ glPointSize
+ glPolygonMode
+ glPolygonOffset
+ glPolygonStipple
+ glPopAttrib
+ glPopClientAttrib
+ glPopMatrix
+ glPopName
+ glPrioritizeTextures
+ glPushAttrib
+ glPushClientAttrib
+ glPushMatrix
+ glPushName
+ glRasterPos2d
+ glRasterPos2dv
+ glRasterPos2f
+ glRasterPos2fv
+ glRasterPos2i
+ glRasterPos2iv
+ glRasterPos2s
+ glRasterPos2sv
+ glRasterPos3d
+ glRasterPos3dv
+ glRasterPos3f
+ glRasterPos3fv
+ glRasterPos3i
+ glRasterPos3iv
+ glRasterPos3s
+ glRasterPos3sv
+ glRasterPos4d
+ glRasterPos4dv
+ glRasterPos4f
+ glRasterPos4fv
+ glRasterPos4i
+ glRasterPos4iv
+ glRasterPos4s
+ glRasterPos4sv
+ glReadBuffer
+ glReadPixels
+ glRectd
+ glRectdv
+ glRectf
+ glRectfv
+ glRecti
+ glRectiv
+ glRects
+ glRectsv
+ glRenderMode
+ glRotated
+ glRotatef
+ glScaled
+ glScalef
+ glScissor
+ glSelectBuffer
+ glShadeModel
+ glStencilFunc
+ glStencilMask
+ glStencilOp
+ glTexCoord1d
+ glTexCoord1dv
+ glTexCoord1f
+ glTexCoord1fv
+ glTexCoord1i
+ glTexCoord1iv
+ glTexCoord1s
+ glTexCoord1sv
+ glTexCoord2d
+ glTexCoord2dv
+ glTexCoord2f
+ glTexCoord2fv
+ glTexCoord2i
+ glTexCoord2iv
+ glTexCoord2s
+ glTexCoord2sv
+ glTexCoord3d
+ glTexCoord3dv
+ glTexCoord3f
+ glTexCoord3fv
+ glTexCoord3i
+ glTexCoord3iv
+ glTexCoord3s
+ glTexCoord3sv
+ glTexCoord4d
+ glTexCoord4dv
+ glTexCoord4f
+ glTexCoord4fv
+ glTexCoord4i
+ glTexCoord4iv
+ glTexCoord4s
+ glTexCoord4sv
+ glTexCoordPointer
+ glTexEnvf
+ glTexEnvfv
+ glTexEnvi
+ glTexEnviv
+ glTexGend
+ glTexGendv
+ glTexGenf
+ glTexGenfv
+ glTexGeni
+ glTexGeniv
+ glTexImage1D
+ glTexImage2D
+ glTexParameterf
+ glTexParameterfv
+ glTexParameteri
+ glTexParameteriv
+ glTexSubImage1D
+ glTexSubImage2D
+ glTranslated
+ glTranslatef
+ glVertex2d
+ glVertex2dv
+ glVertex2f
+ glVertex2fv
+ glVertex2i
+ glVertex2iv
+ glVertex2s
+ glVertex2sv
+ glVertex3d
+ glVertex3dv
+ glVertex3f
+ glVertex3fv
+ glVertex3i
+ glVertex3iv
+ glVertex3s
+ glVertex3sv
+ glVertex4d
+ glVertex4dv
+ glVertex4f
+ glVertex4fv
+ glVertex4i
+ glVertex4iv
+ glVertex4s
+ glVertex4sv
+ glVertexPointer
+ glViewport
+ wglChoosePixelFormat
+ wglCopyContext
+ wglCreateContext
+ wglCreateLayerContext
+ wglDeleteContext
+ wglDescribeLayerPlane
+ wglDescribePixelFormat
+ wglGetCurrentContext
+ wglGetCurrentDC
+ wglGetDefaultProcAddress
+ wglGetLayerPaletteEntries
+ wglGetPixelFormat
+ wglGetProcAddress
+ wglMakeCurrent
+ wglRealizeLayerPalette
+ wglSetLayerPaletteEntries
+ wglSetPixelFormat
+ wglShareLists
+ wglSwapBuffers
+ wglSwapLayerBuffers
+ wglSwapMultipleBuffers
+ wglUseFontBitmapsA
+ wglUseFontBitmapsW
+ wglUseFontOutlinesA
+ wglUseFontOutlinesW
diff --git a/opengl32.py b/opengl32.py
new file mode 100644
index 00000000..0dea7623
--- /dev/null
+++ b/opengl32.py
@@ -0,0 +1,553 @@
+#############################################################################
+#
+# Copyright 2009 VMware, Inc.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#############################################################################
+
+from gl import *
+from windows import *
+
+opengl32 = Dll("opengl32")
+opengl32.functions += [
+ Function(Void, "glNewList", [(GLuint, "list"), (GLenum, "mode")]),
+ Function(Void, "glEndList", []),
+ Function(Void, "glCallList", [(GLuint, "list")]),
+ Function(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Pointer(Const(GLvoid)), "lists")]),
+ Function(Void, "glDeleteLists", [(GLuint, "list"), (GLsizei, "range")]),
+ Function(GLuint, "glGenLists", [(GLsizei, "range")]),
+ Function(Void, "glListBase", [(GLuint, "base")]),
+ Function(Void, "glBegin", [(GLenum, "mode")]),
+ Function(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Pointer(Const(GLubyte)), "bitmap")]),
+ Function(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
+ Function(Void, "glColor3bv", [(Pointer(Const(GLbyte)), "v")]),
+ Function(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
+ Function(Void, "glColor3dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
+ Function(Void, "glColor3fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
+ Function(Void, "glColor3iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
+ Function(Void, "glColor3sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
+ Function(Void, "glColor3ubv", [(Pointer(Const(GLubyte)), "v")]),
+ Function(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
+ Function(Void, "glColor3uiv", [(Pointer(Const(GLuint)), "v")]),
+ Function(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
+ Function(Void, "glColor3usv", [(Pointer(Const(GLushort)), "v")]),
+ Function(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]),
+ Function(Void, "glColor4bv", [(Pointer(Const(GLbyte)), "v")]),
+ Function(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]),
+ Function(Void, "glColor4dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
+ Function(Void, "glColor4fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]),
+ Function(Void, "glColor4iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]),
+ Function(Void, "glColor4sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]),
+ Function(Void, "glColor4ubv", [(Pointer(Const(GLubyte)), "v")]),
+ Function(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]),
+ Function(Void, "glColor4uiv", [(Pointer(Const(GLuint)), "v")]),
+ Function(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]),
+ Function(Void, "glColor4usv", [(Pointer(Const(GLushort)), "v")]),
+ Function(Void, "glEdgeFlag", [(GLboolean, "flag")]),
+ Function(Void, "glEdgeFlagv", [(Pointer(Const(GLboolean)), "flag")]),
+ Function(Void, "glEnd", []),
+ Function(Void, "glIndexd", [(GLdouble, "c")]),
+ Function(Void, "glIndexdv", [(Pointer(Const(GLdouble)), "c")]),
+ Function(Void, "glIndexf", [(GLfloat, "c")]),
+ Function(Void, "glIndexfv", [(Pointer(Const(GLfloat)), "c")]),
+ Function(Void, "glIndexi", [(GLint, "c")]),
+ Function(Void, "glIndexiv", [(Pointer(Const(GLint)), "c")]),
+ Function(Void, "glIndexs", [(GLshort, "c")]),
+ Function(Void, "glIndexsv", [(Pointer(Const(GLshort)), "c")]),
+ Function(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]),
+ Function(Void, "glNormal3bv", [(Pointer(Const(GLbyte)), "v")]),
+ Function(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]),
+ Function(Void, "glNormal3dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]),
+ Function(Void, "glNormal3fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]),
+ Function(Void, "glNormal3iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]),
+ Function(Void, "glNormal3sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
+ Function(Void, "glRasterPos2dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
+ Function(Void, "glRasterPos2fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]),
+ Function(Void, "glRasterPos2iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]),
+ Function(Void, "glRasterPos2sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
+ Function(Void, "glRasterPos3dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
+ Function(Void, "glRasterPos3fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
+ Function(Void, "glRasterPos3iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
+ Function(Void, "glRasterPos3sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
+ Function(Void, "glRasterPos4dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
+ Function(Void, "glRasterPos4fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
+ Function(Void, "glRasterPos4iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
+ Function(Void, "glRasterPos4sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]),
+ Function(Void, "glRectdv", [(Pointer(Const(GLdouble)), "v1"), (Pointer(Const(GLdouble)), "v2")]),
+ Function(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]),
+ Function(Void, "glRectfv", [(Pointer(Const(GLfloat)), "v1"), (Pointer(Const(GLfloat)), "v2")]),
+ Function(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]),
+ Function(Void, "glRectiv", [(Pointer(Const(GLint)), "v1"), (Pointer(Const(GLint)), "v2")]),
+ Function(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]),
+ Function(Void, "glRectsv", [(Pointer(Const(GLshort)), "v1"), (Pointer(Const(GLshort)), "v2")]),
+ Function(Void, "glTexCoord1d", [(GLdouble, "s")]),
+ Function(Void, "glTexCoord1dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glTexCoord1f", [(GLfloat, "s")]),
+ Function(Void, "glTexCoord1fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glTexCoord1i", [(GLint, "s")]),
+ Function(Void, "glTexCoord1iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glTexCoord1s", [(GLshort, "s")]),
+ Function(Void, "glTexCoord1sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]),
+ Function(Void, "glTexCoord2dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]),
+ Function(Void, "glTexCoord2fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]),
+ Function(Void, "glTexCoord2iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]),
+ Function(Void, "glTexCoord2sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
+ Function(Void, "glTexCoord3dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
+ Function(Void, "glTexCoord3fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]),
+ Function(Void, "glTexCoord3iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
+ Function(Void, "glTexCoord3sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
+ Function(Void, "glTexCoord4dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
+ Function(Void, "glTexCoord4fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
+ Function(Void, "glTexCoord4iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
+ Function(Void, "glTexCoord4sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]),
+ Function(Void, "glVertex2dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]),
+ Function(Void, "glVertex2fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]),
+ Function(Void, "glVertex2iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]),
+ Function(Void, "glVertex2sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
+ Function(Void, "glVertex3dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
+ Function(Void, "glVertex3fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
+ Function(Void, "glVertex3iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
+ Function(Void, "glVertex3sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
+ Function(Void, "glVertex4dv", [(Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
+ Function(Void, "glVertex4fv", [(Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
+ Function(Void, "glVertex4iv", [(Pointer(Const(GLint)), "v")]),
+ Function(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
+ Function(Void, "glVertex4sv", [(Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glClipPlane", [(GLenum, "plane"), (Pointer(Const(GLdouble)), "equation")]),
+ Function(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]),
+ Function(Void, "glCullFace", [(GLenum, "mode")]),
+ Function(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glFogfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glFogiv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glFrontFace", [(GLenum, "mode")]),
+ Function(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]),
+ Function(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glLightModelfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glLightModeliv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]),
+ Function(Void, "glLineWidth", [(GLfloat, "width")]),
+ Function(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glPointSize", [(GLfloat, "size")]),
+ Function(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]),
+ Function(Void, "glPolygonStipple", [(Pointer(Const(GLubyte)), "mask")]),
+ Function(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
+ Function(Void, "glShadeModel", [(GLenum, "mode")]),
+ Function(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]),
+ Function(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLdouble)), "params")]),
+ Function(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), (OutPointer(GLfloat), "buffer")]),
+ Function(Void, "glSelectBuffer", [(GLsizei, "size"), (OutPointer(GLuint), "buffer")]),
+ Function(GLint, "glRenderMode", [(GLenum, "mode")]),
+ Function(Void, "glInitNames", []),
+ Function(Void, "glLoadName", [(GLuint, "name")]),
+ Function(Void, "glPassThrough", [(GLfloat, "token")]),
+ Function(Void, "glPopName", []),
+ Function(Void, "glPushName", [(GLuint, "name")]),
+ Function(Void, "glDrawBuffer", [(GLenum, "mode")]),
+ Function(Void, "glClear", [(GLbitfield, "mask")]),
+ Function(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
+ Function(Void, "glClearIndex", [(GLfloat, "c")]),
+ Function(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
+ Function(Void, "glClearStencil", [(GLint, "s")]),
+ Function(Void, "glClearDepth", [(GLclampd, "depth")]),
+ Function(Void, "glStencilMask", [(GLuint, "mask")]),
+ Function(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]),
+ Function(Void, "glDepthMask", [(GLboolean, "flag")]),
+ Function(Void, "glIndexMask", [(GLuint, "mask")]),
+ Function(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]),
+ Function(Void, "glDisable", [(GLenum, "cap")]),
+ Function(Void, "glEnable", [(GLenum, "cap")]),
+ Function(Void, "glFinish", []),
+ Function(Void, "glFlush", []),
+ Function(Void, "glPopAttrib", []),
+ Function(Void, "glPushAttrib", [(GLbitfield, "mask")]),
+ Function(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLdouble)), "points")]),
+ Function(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLfloat)), "points")]),
+ Function(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLdouble)), "points")]),
+ Function(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLfloat)), "points")]),
+ Function(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]),
+ Function(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]),
+ Function(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]),
+ Function(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]),
+ Function(Void, "glEvalCoord1d", [(GLdouble, "u")]),
+ Function(Void, "glEvalCoord1dv", [(Pointer(Const(GLdouble)), "u")]),
+ Function(Void, "glEvalCoord1f", [(GLfloat, "u")]),
+ Function(Void, "glEvalCoord1fv", [(Pointer(Const(GLfloat)), "u")]),
+ Function(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]),
+ Function(Void, "glEvalCoord2dv", [(Pointer(Const(GLdouble)), "u")]),
+ Function(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]),
+ Function(Void, "glEvalCoord2fv", [(Pointer(Const(GLfloat)), "u")]),
+ Function(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]),
+ Function(Void, "glEvalPoint1", [(GLint, "i")]),
+ Function(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]),
+ Function(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]),
+ Function(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]),
+ Function(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]),
+ Function(Void, "glLogicOp", [(GLenum, "opcode")]),
+ Function(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
+ Function(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]),
+ Function(Void, "glDepthFunc", [(GLenum, "func")]),
+ Function(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]),
+ Function(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]),
+ Function(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]),
+ Function(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLfloat)), "values")]),
+ Function(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLuint)), "values")]),
+ Function(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLushort)), "values")]),
+ Function(Void, "glReadBuffer", [(GLenum, "mode")]),
+ Function(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]),
+ Function(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
+ Function(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glGetBooleanv", [(GLenum, "pname"), (OutPointer(GLboolean), "params")]),
+ Function(Void, "glGetClipPlane", [(GLenum, "plane"), (OutPointer(GLdouble), "equation")]),
+ Function(Void, "glGetDoublev", [(GLenum, "pname"), (OutPointer(GLdouble), "params")]),
+ Function(GLenum, "glGetError", []),
+ Function(Void, "glGetFloatv", [(GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetIntegerv", [(GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLdouble), "v")]),
+ Function(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLfloat), "v")]),
+ Function(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLint), "v")]),
+ Function(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetPixelMapfv", [(GLenum, "map"), (OutPointer(GLfloat), "values")]),
+ Function(Void, "glGetPixelMapuiv", [(GLenum, "map"), (OutPointer(GLuint), "values")]),
+ Function(Void, "glGetPixelMapusv", [(GLenum, "map"), (OutPointer(GLushort), "values")]),
+ Function(Void, "glGetPolygonStipple", [(OutPointer(GLubyte), "mask")]),
+ Function(Alias("const GLubyte *", String), "glGetString", [(GLenum, "name")]),
+ Function(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLdouble), "params")]),
+ Function(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
+ Function(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
+ Function(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
+ Function(GLboolean, "glIsEnabled", [(GLenum, "cap")]),
+ Function(GLboolean, "glIsList", [(GLuint, "list")]),
+ Function(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]),
+ Function(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
+ Function(Void, "glLoadIdentity", []),
+ Function(Void, "glLoadMatrixf", [(Pointer(Const(GLfloat)), "m")]),
+ Function(Void, "glLoadMatrixd", [(Pointer(Const(GLdouble)), "m")]),
+ Function(Void, "glMatrixMode", [(GLenum, "mode")]),
+ Function(Void, "glMultMatrixf", [(Pointer(Const(GLfloat)), "m")]),
+ Function(Void, "glMultMatrixd", [(Pointer(Const(GLdouble)), "m")]),
+ Function(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
+ Function(Void, "glPopMatrix", []),
+ Function(Void, "glPushMatrix", []),
+ Function(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
+ Function(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
+ Function(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
+ Function(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
+ Function(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
+ Function(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
+ Function(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
+ Function(Void, "glArrayElement", [(GLint, "i")]),
+ Function(Void, "glBindTexture", [(GLenum, "target"), (GLuint, "texture")]),
+ Function(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glDisableClientState", [(GLenum, "array")]),
+ Function(Void, "glDrawArrays", [(GLenum, "mode"), (GLint, "first"), (GLsizei, "count")]),
+ Function(Void, "glDrawElements", [(GLenum, "mode"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
+ Function(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glEnableClientState", [(GLenum, "array")]),
+ Function(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glIndexub", [(GLubyte, "c")]),
+ Function(Void, "glIndexubv", [(Pointer(Const(GLubyte)), "c")]),
+ Function(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]),
+ Function(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
+ Function(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(GLboolean), "residences")]),
+ Function(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]),
+ Function(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]),
+ Function(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
+ Function(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
+ Function(Void, "glDeleteTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures")]),
+ Function(Void, "glGenTextures", [(GLsizei, "n"), (Pointer(GLuint), "textures")]),
+ Function(Void, "glGetPointerv", [(GLenum, "pname"), (Pointer(Pointer(GLvoid)), "params")]),
+ Function(GLboolean, "glIsTexture", [(GLuint, "texture")]),
+ Function(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(Const(GLclampf)), "priorities")]),
+ Function(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glPopClientAttrib", []),
+ Function(Void, "glPushClientAttrib", [(GLbitfield, "mask")]),
+ Function(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
+ Function(Void, "glBlendEquation", [(GLenum, "mode")]),
+ Function(Void, "glDrawRangeElements", [(GLenum, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
+ Function(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "table")]),
+ Function(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
+ Function(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "table")]),
+ Function(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
+ Function(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
+ Function(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "data")]),
+ Function(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
+ Function(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
+ Function(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
+ Function(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]),
+ Function(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+ Function(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]),
+ Function(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+ Function(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
+ Function(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
+ Function(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "image")]),
+ Function(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
+ Function(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
+ Function(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "row"), (Pointer(GLvoid), "column"), (Pointer(GLvoid), "span")]),
+ Function(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "row"), (Pointer(Const(GLvoid)), "column")]),
+ Function(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
+ Function(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
+ Function(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
+ Function(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
+ Function(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
+ Function(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
+ Function(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]),
+ Function(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]),
+ Function(Void, "glResetHistogram", [(GLenum, "target")]),
+ Function(Void, "glResetMinmax", [(GLenum, "target")]),
+ Function(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
+ Function(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
+ Function(Void, "glActiveTextureARB", [(GLenum, "texture")]),
+ Function(Void, "glClientActiveTextureARB", [(GLenum, "texture")]),
+ Function(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]),
+ Function(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]),
+ Function(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]),
+ Function(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
+ Function(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]),
+ Function(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]),
+ Function(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]),
+ Function(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]),
+ Function(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
+ Function(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]),
+ Function(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
+ Function(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
+ Function(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]),
+ Function(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
+ Function(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
+ Function(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
+ Function(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
+ Function(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
+ Function(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
+ Function(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
+ Function(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
+ Function(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
+ Function(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
+ Function(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
+]
+
+HGLRC = Alias("HGLRC", HANDLE)
+PROC = Alias("PROC", LPVOID)
+
+PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [
+ (WORD, "nSize"),
+ (WORD, "nVersion"),
+ (DWORD, "dwFlags"),
+ (BYTE, "iPixelType"),
+ (BYTE, "cColorBits"),
+ (BYTE, "cRedBits"),
+ (BYTE, "cRedShift"),
+ (BYTE, "cGreenBits"),
+ (BYTE, "cGreenShift"),
+ (BYTE, "cBlueBits"),
+ (BYTE, "cBlueShift"),
+ (BYTE, "cAlphaBits"),
+ (BYTE, "cAlphaShift"),
+ (BYTE, "cAccumBits"),
+ (BYTE, "cAccumRedBits"),
+ (BYTE, "cAccumGreenBits"),
+ (BYTE, "cAccumBlueBits"),
+ (BYTE, "cAccumAlphaBits"),
+ (BYTE, "cDepthBits"),
+ (BYTE, "cStencilBits"),
+ (BYTE, "cAuxBuffers"),
+ (BYTE, "iLayerType"),
+ (BYTE, "bReserved"),
+ (DWORD, "dwLayerMask"),
+ (DWORD, "dwVisibleMask"),
+ (DWORD, "dwDamageMask"),
+])
+
+POINTFLOAT = Struct("POINTFLOAT", [
+ (FLOAT, "x"),
+ (FLOAT, "y"),
+])
+
+GLYPHMETRICSFLOAT = Struct("GLYPHMETRICSFLOAT", [
+ (FLOAT, "gmfBlackBoxX"),
+ (FLOAT, "gmfBlackBoxY"),
+ (POINTFLOAT, "gmfptGlyphOrigin"),
+ (FLOAT, "gmfCellIncX"),
+ (FLOAT, "gmfCellIncY"),
+])
+LPGLYPHMETRICSFLOAT = Pointer(GLYPHMETRICSFLOAT)
+
+COLORREF = Alias("COLORREF", DWORD)
+LAYERPLANEDESCRIPTOR = Struct("LAYERPLANEDESCRIPTOR", [
+ (WORD, "nSize"),
+ (WORD, "nVersion"),
+ (DWORD, "dwFlags"),
+ (BYTE, "iPixelType"),
+ (BYTE, "cColorBits"),
+ (BYTE, "cRedBits"),
+ (BYTE, "cRedShift"),
+ (BYTE, "cGreenBits"),
+ (BYTE, "cGreenShift"),
+ (BYTE, "cBlueBits"),
+ (BYTE, "cBlueShift"),
+ (BYTE, "cAlphaBits"),
+ (BYTE, "cAlphaShift"),
+ (BYTE, "cAccumBits"),
+ (BYTE, "cAccumRedBits"),
+ (BYTE, "cAccumGreenBits"),
+ (BYTE, "cAccumBlueBits"),
+ (BYTE, "cAccumAlphaBits"),
+ (BYTE, "cDepthBits"),
+ (BYTE, "cStencilBits"),
+ (BYTE, "cAuxBuffers"),
+ (BYTE, "iLayerPlane"),
+ (BYTE, "bReserved"),
+ (COLORREF, "crTransparent"),
+])
+LPLAYERPLANEDESCRIPTOR = Pointer(LAYERPLANEDESCRIPTOR)
+
+WGLSWAP = Struct("WGLSWAP", [
+ (HDC, "hdc"),
+ (UINT, "uiFlags"),
+])
+
+opengl32.functions += [
+ Function(BOOL, "wglCopyContext", [(HGLRC, "hglrcSrc"), (HGLRC, "hglrcDst"), (UINT, "mask")]),
+ Function(HGLRC, "wglCreateContext", [(HDC, "hdc")]),
+ Function(HGLRC, "wglCreateLayerContext", [(HDC, "hdc"), (Int, "iLayerPlane")]),
+ Function(BOOL, "wglDeleteContext", [(HGLRC, "hglrc")]),
+ Function(HGLRC, "wglGetCurrentContext", []),
+ Function(HDC, "wglGetCurrentDC", []),
+ Function(PROC, "wglGetProcAddress", [(LPCSTR, "lpszProc")]),
+ Function(PROC, "wglGetDefaultProcAddress", [(LPCSTR, "lpszProc")]),
+ Function(Int, "wglChoosePixelFormat", [(HDC, "hdc"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]),
+ Function(Int, "wglDescribePixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (UINT, "nBytes"), (Pointer(PIXELFORMATDESCRIPTOR), "ppfd")]),
+ Function(Int, "wglGetPixelFormat", [(HDC, "hdc")]),
+ Function(BOOL, "wglSetPixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]),
+ Function(BOOL, "wglMakeCurrent", [(HDC, "hdc"), (HGLRC, "hglrc")]),
+ Function(BOOL, "wglShareLists", [(HGLRC, "hglrc1"), (HGLRC, "hglrc2")]),
+ Function(BOOL, "wglUseFontBitmapsA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
+ Function(BOOL, "wglUseFontBitmapsW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
+ Function(BOOL, "wglSwapBuffers", [(HDC, "hdc")]),
+ Function(BOOL, "wglUseFontOutlinesA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
+ Function(BOOL, "wglUseFontOutlinesW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
+ Function(BOOL , "wglDescribeLayerPlane", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nBytes"), (OutPointer(LAYERPLANEDESCRIPTOR), "plpd")]),
+ Function(Int , "wglSetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (Pointer(Const(COLORREF)), "pcr")]),
+ Function(Int , "wglGetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (OutPointer(COLORREF), "pcr")]),
+ Function(BOOL , "wglRealizeLayerPalette", [(HDC, "hdc"), (Int, "iLayerPlane"), (BOOL, "bRealize")]),
+ Function(BOOL , "wglSwapLayerBuffers", [(HDC, "hdc"), (UINT, "fuPlanes")]),
+ Function(DWORD, "wglSwapMultipleBuffers", [(UINT, "n"), (Pointer(Const(WGLSWAP)), "ps")]),
+]
+
+if __name__ == '__main__':
+ print
+ print '#define _GDI32_'
+ print
+ print '#include <windows.h>'
+ print '#include <tchar.h>'
+ print '#include <GL/gl.h>'
+ print
+ print '#include "log.hpp"'
+ print
+ wrap()
diff --git a/windows.py b/windows.py
index b6721fa4..ba6ca5a8 100644
--- a/windows.py
+++ b/windows.py
@@ -45,6 +45,7 @@ LPBOOL = Pointer(BOOL)
LPSIZE = LPDWORD
LPSTR = String
+LPCSTR = Const(String)
LPWSTR = String
LARGE_INTEGER = Intrinsic("LARGE_INTEGER", "0x%llx")