]> git.cworth.org Git - apitrace/blob - opengl32.py
Handle const wide strings correctly.
[apitrace] / opengl32.py
1 #############################################################################
2 #
3 # Copyright 2009 VMware, Inc.
4 #
5 # This program is free software: you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published
7 # by the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Lesser General Public License for more details.
14 #
15 # You should have received a copy of the GNU Lesser General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 #
18 #############################################################################
19
20 from gl import *
21 from windows import *
22
23 opengl32 = Dll("opengl32")
24 opengl32.functions += [
25     DllFunction(Void, "glNewList", [(GLuint, "list"), (GLenum, "mode")]),
26     DllFunction(Void, "glEndList", []),
27     DllFunction(Void, "glCallList", [(GLuint, "list")]),
28     DllFunction(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Pointer(Const(GLvoid)), "lists")]),
29     DllFunction(Void, "glDeleteLists", [(GLuint, "list"), (GLsizei, "range")]),
30     DllFunction(GLuint, "glGenLists", [(GLsizei, "range")]),
31     DllFunction(Void, "glListBase", [(GLuint, "base")]),
32     DllFunction(Void, "glBegin", [(GLprimenum, "mode")]),
33     DllFunction(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Pointer(Const(GLubyte)), "bitmap")]),
34     DllFunction(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
35     DllFunction(Void, "glColor3bv", [(Pointer(Const(GLbyte)), "v")]),
36     DllFunction(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
37     DllFunction(Void, "glColor3dv", [(Pointer(Const(GLdouble)), "v")]),
38     DllFunction(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
39     DllFunction(Void, "glColor3fv", [(Pointer(Const(GLfloat)), "v")]),
40     DllFunction(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
41     DllFunction(Void, "glColor3iv", [(Pointer(Const(GLint)), "v")]),
42     DllFunction(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
43     DllFunction(Void, "glColor3sv", [(Pointer(Const(GLshort)), "v")]),
44     DllFunction(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
45     DllFunction(Void, "glColor3ubv", [(Pointer(Const(GLubyte)), "v")]),
46     DllFunction(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
47     DllFunction(Void, "glColor3uiv", [(Pointer(Const(GLuint)), "v")]),
48     DllFunction(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
49     DllFunction(Void, "glColor3usv", [(Pointer(Const(GLushort)), "v")]),
50     DllFunction(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]),
51     DllFunction(Void, "glColor4bv", [(Pointer(Const(GLbyte)), "v")]),
52     DllFunction(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]),
53     DllFunction(Void, "glColor4dv", [(Pointer(Const(GLdouble)), "v")]),
54     DllFunction(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
55     DllFunction(Void, "glColor4fv", [(Pointer(Const(GLfloat)), "v")]),
56     DllFunction(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]),
57     DllFunction(Void, "glColor4iv", [(Pointer(Const(GLint)), "v")]),
58     DllFunction(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]),
59     DllFunction(Void, "glColor4sv", [(Pointer(Const(GLshort)), "v")]),
60     DllFunction(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]),
61     DllFunction(Void, "glColor4ubv", [(Pointer(Const(GLubyte)), "v")]),
62     DllFunction(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]),
63     DllFunction(Void, "glColor4uiv", [(Pointer(Const(GLuint)), "v")]),
64     DllFunction(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]),
65     DllFunction(Void, "glColor4usv", [(Pointer(Const(GLushort)), "v")]),
66     DllFunction(Void, "glEdgeFlag", [(GLboolean, "flag")]),
67     DllFunction(Void, "glEdgeFlagv", [(Pointer(Const(GLboolean)), "flag")]),
68     DllFunction(Void, "glEnd", []),
69     DllFunction(Void, "glIndexd", [(GLdouble, "c")]),
70     DllFunction(Void, "glIndexdv", [(Pointer(Const(GLdouble)), "c")]),
71     DllFunction(Void, "glIndexf", [(GLfloat, "c")]),
72     DllFunction(Void, "glIndexfv", [(Pointer(Const(GLfloat)), "c")]),
73     DllFunction(Void, "glIndexi", [(GLint, "c")]),
74     DllFunction(Void, "glIndexiv", [(Pointer(Const(GLint)), "c")]),
75     DllFunction(Void, "glIndexs", [(GLshort, "c")]),
76     DllFunction(Void, "glIndexsv", [(Pointer(Const(GLshort)), "c")]),
77     DllFunction(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]),
78     DllFunction(Void, "glNormal3bv", [(Pointer(Const(GLbyte)), "v")]),
79     DllFunction(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]),
80     DllFunction(Void, "glNormal3dv", [(Pointer(Const(GLdouble)), "v")]),
81     DllFunction(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]),
82     DllFunction(Void, "glNormal3fv", [(Pointer(Const(GLfloat)), "v")]),
83     DllFunction(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]),
84     DllFunction(Void, "glNormal3iv", [(Pointer(Const(GLint)), "v")]),
85     DllFunction(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]),
86     DllFunction(Void, "glNormal3sv", [(Pointer(Const(GLshort)), "v")]),
87     DllFunction(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
88     DllFunction(Void, "glRasterPos2dv", [(Pointer(Const(GLdouble)), "v")]),
89     DllFunction(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
90     DllFunction(Void, "glRasterPos2fv", [(Pointer(Const(GLfloat)), "v")]),
91     DllFunction(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]),
92     DllFunction(Void, "glRasterPos2iv", [(Pointer(Const(GLint)), "v")]),
93     DllFunction(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]),
94     DllFunction(Void, "glRasterPos2sv", [(Pointer(Const(GLshort)), "v")]),
95     DllFunction(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
96     DllFunction(Void, "glRasterPos3dv", [(Pointer(Const(GLdouble)), "v")]),
97     DllFunction(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
98     DllFunction(Void, "glRasterPos3fv", [(Pointer(Const(GLfloat)), "v")]),
99     DllFunction(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
100     DllFunction(Void, "glRasterPos3iv", [(Pointer(Const(GLint)), "v")]),
101     DllFunction(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
102     DllFunction(Void, "glRasterPos3sv", [(Pointer(Const(GLshort)), "v")]),
103     DllFunction(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
104     DllFunction(Void, "glRasterPos4dv", [(Pointer(Const(GLdouble)), "v")]),
105     DllFunction(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
106     DllFunction(Void, "glRasterPos4fv", [(Pointer(Const(GLfloat)), "v")]),
107     DllFunction(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
108     DllFunction(Void, "glRasterPos4iv", [(Pointer(Const(GLint)), "v")]),
109     DllFunction(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
110     DllFunction(Void, "glRasterPos4sv", [(Pointer(Const(GLshort)), "v")]),
111     DllFunction(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]),
112     DllFunction(Void, "glRectdv", [(Pointer(Const(GLdouble)), "v1"), (Pointer(Const(GLdouble)), "v2")]),
113     DllFunction(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]),
114     DllFunction(Void, "glRectfv", [(Pointer(Const(GLfloat)), "v1"), (Pointer(Const(GLfloat)), "v2")]),
115     DllFunction(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]),
116     DllFunction(Void, "glRectiv", [(Pointer(Const(GLint)), "v1"), (Pointer(Const(GLint)), "v2")]),
117     DllFunction(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]),
118     DllFunction(Void, "glRectsv", [(Pointer(Const(GLshort)), "v1"), (Pointer(Const(GLshort)), "v2")]),
119     DllFunction(Void, "glTexCoord1d", [(GLdouble, "s")]),
120     DllFunction(Void, "glTexCoord1dv", [(Pointer(Const(GLdouble)), "v")]),
121     DllFunction(Void, "glTexCoord1f", [(GLfloat, "s")]),
122     DllFunction(Void, "glTexCoord1fv", [(Pointer(Const(GLfloat)), "v")]),
123     DllFunction(Void, "glTexCoord1i", [(GLint, "s")]),
124     DllFunction(Void, "glTexCoord1iv", [(Pointer(Const(GLint)), "v")]),
125     DllFunction(Void, "glTexCoord1s", [(GLshort, "s")]),
126     DllFunction(Void, "glTexCoord1sv", [(Pointer(Const(GLshort)), "v")]),
127     DllFunction(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]),
128     DllFunction(Void, "glTexCoord2dv", [(Pointer(Const(GLdouble)), "v")]),
129     DllFunction(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]),
130     DllFunction(Void, "glTexCoord2fv", [(Pointer(Const(GLfloat)), "v")]),
131     DllFunction(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]),
132     DllFunction(Void, "glTexCoord2iv", [(Pointer(Const(GLint)), "v")]),
133     DllFunction(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]),
134     DllFunction(Void, "glTexCoord2sv", [(Pointer(Const(GLshort)), "v")]),
135     DllFunction(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
136     DllFunction(Void, "glTexCoord3dv", [(Pointer(Const(GLdouble)), "v")]),
137     DllFunction(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
138     DllFunction(Void, "glTexCoord3fv", [(Pointer(Const(GLfloat)), "v")]),
139     DllFunction(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]),
140     DllFunction(Void, "glTexCoord3iv", [(Pointer(Const(GLint)), "v")]),
141     DllFunction(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
142     DllFunction(Void, "glTexCoord3sv", [(Pointer(Const(GLshort)), "v")]),
143     DllFunction(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
144     DllFunction(Void, "glTexCoord4dv", [(Pointer(Const(GLdouble)), "v")]),
145     DllFunction(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
146     DllFunction(Void, "glTexCoord4fv", [(Pointer(Const(GLfloat)), "v")]),
147     DllFunction(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
148     DllFunction(Void, "glTexCoord4iv", [(Pointer(Const(GLint)), "v")]),
149     DllFunction(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
150     DllFunction(Void, "glTexCoord4sv", [(Pointer(Const(GLshort)), "v")]),
151     DllFunction(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]),
152     DllFunction(Void, "glVertex2dv", [(Pointer(Const(GLdouble)), "v")]),
153     DllFunction(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]),
154     DllFunction(Void, "glVertex2fv", [(Pointer(Const(GLfloat)), "v")]),
155     DllFunction(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]),
156     DllFunction(Void, "glVertex2iv", [(Pointer(Const(GLint)), "v")]),
157     DllFunction(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]),
158     DllFunction(Void, "glVertex2sv", [(Pointer(Const(GLshort)), "v")]),
159     DllFunction(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
160     DllFunction(Void, "glVertex3dv", [(Pointer(Const(GLdouble)), "v")]),
161     DllFunction(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
162     DllFunction(Void, "glVertex3fv", [(Pointer(Const(GLfloat)), "v")]),
163     DllFunction(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
164     DllFunction(Void, "glVertex3iv", [(Pointer(Const(GLint)), "v")]),
165     DllFunction(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
166     DllFunction(Void, "glVertex3sv", [(Pointer(Const(GLshort)), "v")]),
167     DllFunction(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
168     DllFunction(Void, "glVertex4dv", [(Pointer(Const(GLdouble)), "v")]),
169     DllFunction(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
170     DllFunction(Void, "glVertex4fv", [(Pointer(Const(GLfloat)), "v")]),
171     DllFunction(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
172     DllFunction(Void, "glVertex4iv", [(Pointer(Const(GLint)), "v")]),
173     DllFunction(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
174     DllFunction(Void, "glVertex4sv", [(Pointer(Const(GLshort)), "v")]),
175     DllFunction(Void, "glClipPlane", [(GLenum, "plane"), (Pointer(Const(GLdouble)), "equation")]),
176     DllFunction(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]),
177     DllFunction(Void, "glCullFace", [(GLenum, "mode")]),
178     DllFunction(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]),
179     DllFunction(Void, "glFogfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
180     DllFunction(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]),
181     DllFunction(Void, "glFogiv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
182     DllFunction(Void, "glFrontFace", [(GLenum, "mode")]),
183     DllFunction(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]),
184     DllFunction(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]),
185     DllFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
186     DllFunction(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]),
187     DllFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
188     DllFunction(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]),
189     DllFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
190     DllFunction(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]),
191     DllFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
192     DllFunction(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]),
193     DllFunction(Void, "glLineWidth", [(GLfloat, "width")]),
194     DllFunction(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]),
195     DllFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
196     DllFunction(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]),
197     DllFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
198     DllFunction(Void, "glPointSize", [(GLfloat, "size")]),
199     DllFunction(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]),
200     DllFunction(Void, "glPolygonStipple", [(Pointer(Const(GLubyte)), "mask")]),
201     DllFunction(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
202     DllFunction(Void, "glShadeModel", [(GLenum, "mode")]),
203     DllFunction(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
204     DllFunction(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
205     DllFunction(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
206     DllFunction(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
207     DllFunction(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
208     DllFunction(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
209     DllFunction(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
210     DllFunction(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
211     DllFunction(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
212     DllFunction(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
213     DllFunction(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]),
214     DllFunction(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLdouble)), "params")]),
215     DllFunction(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]),
216     DllFunction(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
217     DllFunction(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]),
218     DllFunction(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
219     DllFunction(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), (OutPointer(GLfloat), "buffer")]),
220     DllFunction(Void, "glSelectBuffer", [(GLsizei, "size"), (OutPointer(GLuint), "buffer")]),
221     DllFunction(GLint, "glRenderMode", [(GLenum, "mode")]),
222     DllFunction(Void, "glInitNames", []),
223     DllFunction(Void, "glLoadName", [(GLuint, "name")]),
224     DllFunction(Void, "glPassThrough", [(GLfloat, "token")]),
225     DllFunction(Void, "glPopName", []),
226     DllFunction(Void, "glPushName", [(GLuint, "name")]),
227     DllFunction(Void, "glDrawBuffer", [(GLenum, "mode")]),
228     DllFunction(Void, "glClear", [(GLbufferbitfield, "mask")]),
229     DllFunction(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
230     DllFunction(Void, "glClearIndex", [(GLfloat, "c")]),
231     DllFunction(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
232     DllFunction(Void, "glClearStencil", [(GLint, "s")]),
233     DllFunction(Void, "glClearDepth", [(GLclampd, "depth")]),
234     DllFunction(Void, "glStencilMask", [(GLuint, "mask")]),
235     DllFunction(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]),
236     DllFunction(Void, "glDepthMask", [(GLboolean, "flag")]),
237     DllFunction(Void, "glIndexMask", [(GLuint, "mask")]),
238     DllFunction(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]),
239     DllFunction(Void, "glDisable", [(GLenum, "cap")]),
240     DllFunction(Void, "glEnable", [(GLenum, "cap")]),
241     DllFunction(Void, "glFinish", []),
242     DllFunction(Void, "glFlush", []),
243     DllFunction(Void, "glPopAttrib", []),
244     DllFunction(Void, "glPushAttrib", [(GLbitfield, "mask")]),
245     DllFunction(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLdouble)), "points")]),
246     DllFunction(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLfloat)), "points")]),
247     DllFunction(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLdouble)), "points")]),
248     DllFunction(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLfloat)), "points")]),
249     DllFunction(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]),
250     DllFunction(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]),
251     DllFunction(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]),
252     DllFunction(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]),
253     DllFunction(Void, "glEvalCoord1d", [(GLdouble, "u")]),
254     DllFunction(Void, "glEvalCoord1dv", [(Pointer(Const(GLdouble)), "u")]),
255     DllFunction(Void, "glEvalCoord1f", [(GLfloat, "u")]),
256     DllFunction(Void, "glEvalCoord1fv", [(Pointer(Const(GLfloat)), "u")]),
257     DllFunction(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]),
258     DllFunction(Void, "glEvalCoord2dv", [(Pointer(Const(GLdouble)), "u")]),
259     DllFunction(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]),
260     DllFunction(Void, "glEvalCoord2fv", [(Pointer(Const(GLfloat)), "u")]),
261     DllFunction(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]),
262     DllFunction(Void, "glEvalPoint1", [(GLint, "i")]),
263     DllFunction(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]),
264     DllFunction(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]),
265     DllFunction(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]),
266     DllFunction(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]),
267     DllFunction(Void, "glLogicOp", [(GLenum, "opcode")]),
268     DllFunction(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
269     DllFunction(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]),
270     DllFunction(Void, "glDepthFunc", [(GLenum, "func")]),
271     DllFunction(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]),
272     DllFunction(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]),
273     DllFunction(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]),
274     DllFunction(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]),
275     DllFunction(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]),
276     DllFunction(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLfloat)), "values")]),
277     DllFunction(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLuint)), "values")]),
278     DllFunction(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLushort)), "values")]),
279     DllFunction(Void, "glReadBuffer", [(GLenum, "mode")]),
280     DllFunction(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]),
281     DllFunction(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
282     DllFunction(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
283     DllFunction(Void, "glGetBooleanv", [(GLenum, "pname"), (OutPointer(GLboolean), "params")]),
284     DllFunction(Void, "glGetClipPlane", [(GLenum, "plane"), (OutPointer(GLdouble), "equation")]),
285     DllFunction(Void, "glGetDoublev", [(GLenum, "pname"), (OutPointer(GLdouble), "params")]),
286     DllFunction(GLenum, "glGetError", []),
287     DllFunction(Void, "glGetFloatv", [(GLenum, "pname"), (OutPointer(GLfloat), "params")]),
288     DllFunction(Void, "glGetIntegerv", [(GLenum, "pname"), (OutPointer(GLint), "params")]),
289     DllFunction(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
290     DllFunction(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
291     DllFunction(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLdouble), "v")]),
292     DllFunction(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLfloat), "v")]),
293     DllFunction(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLint), "v")]),
294     DllFunction(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
295     DllFunction(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
296     DllFunction(Void, "glGetPixelMapfv", [(GLenum, "map"), (OutPointer(GLfloat), "values")]),
297     DllFunction(Void, "glGetPixelMapuiv", [(GLenum, "map"), (OutPointer(GLuint), "values")]),
298     DllFunction(Void, "glGetPixelMapusv", [(GLenum, "map"), (OutPointer(GLushort), "values")]),
299     DllFunction(Void, "glGetPolygonStipple", [(OutPointer(GLubyte), "mask")]),
300     DllFunction(Alias("const GLubyte *", String), "glGetString", [(GLenum, "name")]),
301     DllFunction(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
302     DllFunction(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
303     DllFunction(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLdouble), "params")]),
304     DllFunction(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
305     DllFunction(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
306     DllFunction(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
307     DllFunction(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
308     DllFunction(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
309     DllFunction(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
310     DllFunction(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
311     DllFunction(GLboolean, "glIsEnabled", [(GLenum, "cap")]),
312     DllFunction(GLboolean, "glIsList", [(GLuint, "list")]),
313     DllFunction(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]),
314     DllFunction(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
315     DllFunction(Void, "glLoadIdentity", []),
316     DllFunction(Void, "glLoadMatrixf", [(Pointer(Const(GLfloat)), "m")]),
317     DllFunction(Void, "glLoadMatrixd", [(Pointer(Const(GLdouble)), "m")]),
318     DllFunction(Void, "glMatrixMode", [(GLenum, "mode")]),
319     DllFunction(Void, "glMultMatrixf", [(Pointer(Const(GLfloat)), "m")]),
320     DllFunction(Void, "glMultMatrixd", [(Pointer(Const(GLdouble)), "m")]),
321     DllFunction(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
322     DllFunction(Void, "glPopMatrix", []),
323     DllFunction(Void, "glPushMatrix", []),
324     DllFunction(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
325     DllFunction(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
326     DllFunction(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
327     DllFunction(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
328     DllFunction(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
329     DllFunction(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
330     DllFunction(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
331     DllFunction(Void, "glArrayElement", [(GLint, "i")]),
332     DllFunction(Void, "glBindTexture", [(GLenum, "target"), (GLuint, "texture")]),
333     DllFunction(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
334     DllFunction(Void, "glDisableClientState", [(GLenum, "array")]),
335     DllFunction(Void, "glDrawArrays", [(GLenum, "mode"), (GLint, "first"), (GLsizei, "count")]),
336     DllFunction(Void, "glDrawElements", [(GLenum, "mode"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
337     DllFunction(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
338     DllFunction(Void, "glEnableClientState", [(GLenum, "array")]),
339     DllFunction(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
340     DllFunction(Void, "glIndexub", [(GLubyte, "c")]),
341     DllFunction(Void, "glIndexubv", [(Pointer(Const(GLubyte)), "c")]),
342     DllFunction(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
343     DllFunction(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
344     DllFunction(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]),
345     DllFunction(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
346     DllFunction(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
347     DllFunction(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(GLboolean), "residences")]),
348     DllFunction(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]),
349     DllFunction(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]),
350     DllFunction(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
351     DllFunction(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
352     DllFunction(Void, "glDeleteTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures")]),
353     DllFunction(Void, "glGenTextures", [(GLsizei, "n"), (Pointer(GLuint), "textures")]),
354     DllFunction(Void, "glGetPointerv", [(GLenum, "pname"), (Pointer(Pointer(GLvoid)), "params")]),
355     DllFunction(GLboolean, "glIsTexture", [(GLuint, "texture")]),
356     DllFunction(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(Const(GLclampf)), "priorities")]),
357     DllFunction(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
358     DllFunction(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
359     DllFunction(Void, "glPopClientAttrib", []),
360     DllFunction(Void, "glPushClientAttrib", [(GLbitfield, "mask")]),
361     DllFunction(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
362     DllFunction(Void, "glBlendEquation", [(GLenum, "mode")]),
363     DllFunction(Void, "glDrawRangeElements", [(GLenum, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
364     DllFunction(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "table")]),
365     DllFunction(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
366     DllFunction(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
367     DllFunction(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
368     DllFunction(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "table")]),
369     DllFunction(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
370     DllFunction(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
371     DllFunction(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "data")]),
372     DllFunction(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
373     DllFunction(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
374     DllFunction(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
375     DllFunction(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]),
376     DllFunction(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
377     DllFunction(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]),
378     DllFunction(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
379     DllFunction(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
380     DllFunction(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
381     DllFunction(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "image")]),
382     DllFunction(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
383     DllFunction(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
384     DllFunction(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "row"), (Pointer(GLvoid), "column"), (Pointer(GLvoid), "span")]),
385     DllFunction(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "row"), (Pointer(Const(GLvoid)), "column")]),
386     DllFunction(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
387     DllFunction(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
388     DllFunction(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
389     DllFunction(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
390     DllFunction(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
391     DllFunction(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
392     DllFunction(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]),
393     DllFunction(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]),
394     DllFunction(Void, "glResetHistogram", [(GLenum, "target")]),
395     DllFunction(Void, "glResetMinmax", [(GLenum, "target")]),
396     DllFunction(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
397     DllFunction(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")]),
398     DllFunction(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
399     DllFunction(Void, "glActiveTextureARB", [(GLenum, "texture")]),
400     DllFunction(Void, "glClientActiveTextureARB", [(GLenum, "texture")]),
401     DllFunction(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]),
402     DllFunction(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
403     DllFunction(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]),
404     DllFunction(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
405     DllFunction(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]),
406     DllFunction(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
407     DllFunction(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]),
408     DllFunction(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
409     DllFunction(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]),
410     DllFunction(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
411     DllFunction(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]),
412     DllFunction(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
413     DllFunction(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]),
414     DllFunction(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
415     DllFunction(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]),
416     DllFunction(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
417     DllFunction(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
418     DllFunction(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
419     DllFunction(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
420     DllFunction(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
421     DllFunction(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]),
422     DllFunction(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
423     DllFunction(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
424     DllFunction(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
425     DllFunction(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
426     DllFunction(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
427     DllFunction(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
428     DllFunction(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
429     DllFunction(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
430     DllFunction(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
431     DllFunction(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
432     DllFunction(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
433 ]
434
435 HGLRC = Alias("HGLRC", HANDLE)
436 PROC = Intrinsic("PROC", "%p")
437
438 PFD = Flags(DWORD, [
439     "PFD_DOUBLEBUFFER",
440     "PFD_STEREO",
441     "PFD_DRAW_TO_WINDOW",
442     "PFD_DRAW_TO_BITMAP",
443     "PFD_SUPPORT_GDI",
444     "PFD_SUPPORT_OPENGL",
445     "PFD_GENERIC_FORMAT",
446     "PFD_NEED_PALETTE",
447     "PFD_NEED_SYSTEM_PALETTE",
448     "PFD_SWAP_EXCHANGE",
449     "PFD_SWAP_COPY",
450     "PFD_SWAP_LAYER_BUFFERS",
451     "PFD_GENERIC_ACCELERATED",
452     #"PFD_SUPPORT_DIRECTDRAW",
453 ])
454
455 PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [
456     (WORD, "nSize"),
457     (WORD, "nVersion"),
458     (PFD, "dwFlags"),
459     (BYTE, "iPixelType"),
460     (BYTE, "cColorBits"),
461     (BYTE, "cRedBits"),
462     (BYTE, "cRedShift"),
463     (BYTE, "cGreenBits"),
464     (BYTE, "cGreenShift"),
465     (BYTE, "cBlueBits"),
466     (BYTE, "cBlueShift"),
467     (BYTE, "cAlphaBits"),
468     (BYTE, "cAlphaShift"),
469     (BYTE, "cAccumBits"),
470     (BYTE, "cAccumRedBits"),
471     (BYTE, "cAccumGreenBits"),
472     (BYTE, "cAccumBlueBits"),
473     (BYTE, "cAccumAlphaBits"),
474     (BYTE, "cDepthBits"),
475     (BYTE, "cStencilBits"),
476     (BYTE, "cAuxBuffers"),
477     (BYTE, "iLayerType"),
478     (BYTE, "bReserved"),
479     (DWORD, "dwLayerMask"),
480     (DWORD, "dwVisibleMask"),
481     (DWORD, "dwDamageMask"),
482 ])
483
484 POINTFLOAT = Struct("POINTFLOAT", [
485     (FLOAT, "x"),
486     (FLOAT, "y"),
487 ])
488
489 GLYPHMETRICSFLOAT = Struct("GLYPHMETRICSFLOAT", [
490     (FLOAT, "gmfBlackBoxX"),
491     (FLOAT, "gmfBlackBoxY"),
492     (POINTFLOAT, "gmfptGlyphOrigin"),
493     (FLOAT, "gmfCellIncX"),
494     (FLOAT, "gmfCellIncY"),
495 ])
496 LPGLYPHMETRICSFLOAT = Pointer(GLYPHMETRICSFLOAT)
497
498 COLORREF = Alias("COLORREF", DWORD)
499
500
501 LAYERPLANEDESCRIPTOR = Struct("LAYERPLANEDESCRIPTOR", [
502     (WORD, "nSize"),
503     (WORD, "nVersion"),
504     (DWORD, "dwFlags"),
505     (BYTE, "iPixelType"),
506     (BYTE, "cColorBits"),
507     (BYTE, "cRedBits"),
508     (BYTE, "cRedShift"),
509     (BYTE, "cGreenBits"),
510     (BYTE, "cGreenShift"),
511     (BYTE, "cBlueBits"),
512     (BYTE, "cBlueShift"),
513     (BYTE, "cAlphaBits"),
514     (BYTE, "cAlphaShift"),
515     (BYTE, "cAccumBits"),
516     (BYTE, "cAccumRedBits"),
517     (BYTE, "cAccumGreenBits"),
518     (BYTE, "cAccumBlueBits"),
519     (BYTE, "cAccumAlphaBits"),
520     (BYTE, "cDepthBits"),
521     (BYTE, "cStencilBits"),
522     (BYTE, "cAuxBuffers"),
523     (BYTE, "iLayerPlane"),
524     (BYTE, "bReserved"),
525     (COLORREF, "crTransparent"),
526 ])
527 LPLAYERPLANEDESCRIPTOR = Pointer(LAYERPLANEDESCRIPTOR)
528
529 opengl32.functions += [
530     DllFunction(BOOL, "wglCopyContext", [(HGLRC, "hglrcSrc"), (HGLRC, "hglrcDst"), (UINT, "mask")]),
531     DllFunction(HGLRC, "wglCreateContext", [(HDC, "hdc")]),
532     DllFunction(HGLRC, "wglCreateLayerContext", [(HDC, "hdc"), (Int, "iLayerPlane")]),
533     DllFunction(BOOL, "wglDeleteContext", [(HGLRC, "hglrc")]),
534     DllFunction(HGLRC, "wglGetCurrentContext", []),
535     DllFunction(HDC, "wglGetCurrentDC", []),
536     DllFunction(PROC, "wglGetDefaultProcAddress", [(LPCSTR, "lpszProc")]),
537     DllFunction(Int, "wglChoosePixelFormat", [(HDC, "hdc"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), 
538     DllFunction(Int, "wglDescribePixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (UINT, "nBytes"), (OutPointer(PIXELFORMATDESCRIPTOR), "ppfd")]),
539     DllFunction(Int, "wglGetPixelFormat", [(HDC, "hdc")]),
540     DllFunction(BOOL, "wglSetPixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]),
541     DllFunction(BOOL, "wglMakeCurrent", [(HDC, "hdc"), (HGLRC, "hglrc")]),
542     DllFunction(BOOL, "wglShareLists", [(HGLRC, "hglrc1"), (HGLRC, "hglrc2")]),
543     DllFunction(BOOL, "wglUseFontBitmapsA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
544     DllFunction(BOOL, "wglUseFontBitmapsW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
545     DllFunction(BOOL, "wglSwapBuffers", [(HDC, "hdc")]),
546     DllFunction(BOOL, "wglUseFontOutlinesA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
547     DllFunction(BOOL, "wglUseFontOutlinesW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
548     DllFunction(BOOL , "wglDescribeLayerPlane", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nBytes"), (OutPointer(LAYERPLANEDESCRIPTOR), "plpd")]),
549     DllFunction(Int  , "wglSetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (Pointer(Const(COLORREF)), "pcr")]),
550     DllFunction(Int  , "wglGetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (OutPointer(COLORREF), "pcr")]),
551     DllFunction(BOOL , "wglRealizeLayerPalette", [(HDC, "hdc"), (Int, "iLayerPlane"), (BOOL, "bRealize")]),
552     DllFunction(BOOL , "wglSwapLayerBuffers", [(HDC, "hdc"), (UINT, "fuPlanes")]),
553 ]
554
555 if False:
556     WGLSWAP = Struct("WGLSWAP", [
557         (HDC, "hdc"),
558         (UINT, "uiFlags"),
559     ])
560
561     opengl32.functions += [
562         DllFunction(DWORD, "wglSwapMultipleBuffers", [(UINT, "n"), (Pointer(Const(WGLSWAP)), "ps")]),
563     ]
564
565
566 class WglGetProcAddressFunction(DllFunction):
567
568     def __init__(self, type, name, args):
569         DllFunction.__init__(self, type, name, args)
570         self.functions = []
571
572     def wrap_decl(self):
573         for function in self.functions:
574             function.wrap_decl()
575         DllFunction.wrap_decl(self)
576
577     def wrap_impl(self):
578         for function in self.functions:
579             function.wrap_impl()
580         DllFunction.wrap_impl(self)
581
582     def post_call_impl(self):
583         print '    if(result) {'
584         for function in self.functions:
585             ptype = function.pointer_type()
586             pvalue = function.pointer_value()
587             print '        if(!strcmp("%s", lpszProc)) {' % function.name
588             print '            %s = (%s)result;' % (pvalue, ptype)
589             print '            result = (PROC)&%s;' % function.name;
590             print '        }'
591         print '    }'
592
593
594 wglgetprocaddress = WglGetProcAddressFunction(PROC, "wglGetProcAddress", [(LPCSTR, "lpszProc")])
595 opengl32.functions.append(wglgetprocaddress)
596
597 class WglFunction(Function):
598
599     def get_true_pointer(self):
600         ptype = self.pointer_type()
601         pvalue = self.pointer_value()
602         print '    if(!%s)' % (pvalue,)
603         self.fail_impl()
604
605 attribute = FakeEnum(Int, [
606     "WGL_NUMBER_PIXEL_FORMATS_EXT",
607     "WGL_DRAW_TO_WINDOW_EXT",
608     "WGL_DRAW_TO_BITMAP_EXT",
609     "WGL_ACCELERATION_EXT",
610     "WGL_NEED_PALETTE_EXT",
611     "WGL_NEED_SYSTEM_PALETTE_EXT",
612     "WGL_SWAP_LAYER_BUFFERS_EXT",
613     "WGL_SWAP_METHOD_EXT",
614     "WGL_NUMBER_OVERLAYS_EXT",
615     "WGL_NUMBER_UNDERLAYS_EXT",
616     "WGL_TRANSPARENT_EXT",
617     "WGL_TRANSPARENT_VALUE_EXT",
618     "WGL_SHARE_DEPTH_EXT",
619     "WGL_SHARE_STENCIL_EXT",
620     "WGL_SHARE_ACCUM_EXT",
621     "WGL_SUPPORT_GDI_EXT",
622     "WGL_SUPPORT_OPENGL_EXT",
623     "WGL_DOUBLE_BUFFER_EXT",
624     "WGL_STEREO_EXT",
625     "WGL_PIXEL_TYPE_EXT",
626     "WGL_COLOR_BITS_EXT",
627     "WGL_RED_BITS_EXT",
628     "WGL_RED_SHIFT_EXT",
629     "WGL_GREEN_BITS_EXT",
630     "WGL_GREEN_SHIFT_EXT",
631     "WGL_BLUE_BITS_EXT",
632     "WGL_BLUE_SHIFT_EXT",
633     "WGL_ALPHA_BITS_EXT",
634     "WGL_ALPHA_SHIFT_EXT",
635     "WGL_ACCUM_BITS_EXT",
636     "WGL_ACCUM_RED_BITS_EXT",
637     "WGL_ACCUM_GREEN_BITS_EXT",
638     "WGL_ACCUM_BLUE_BITS_EXT",
639     "WGL_ACCUM_ALPHA_BITS_EXT",
640     "WGL_DEPTH_BITS_EXT",
641     "WGL_STENCIL_BITS_EXT",
642     "WGL_AUX_BUFFERS_EXT",
643     "WGL_NO_ACCELERATION_EXT",
644     "WGL_GENERIC_ACCELERATION_EXT",
645     "WGL_FULL_ACCELERATION_EXT",
646     "WGL_SWAP_EXCHANGE_EXT",
647     "WGL_SWAP_COPY_EXT",
648     "WGL_SWAP_UNDEFINED_EXT",
649     "WGL_TYPE_RGBA_EXT",
650     "WGL_TYPE_COLORINDEX_EXT",
651 ])
652
653 wglgetprocaddress.functions += [
654     WglFunction(Void, "glAttachShader", [(GLuint, "program"), (GLuint, "shader")]),
655     WglFunction(GLuint, "glCreateProgram", []),
656     WglFunction(GLuint, "glCreateShader", [(GLenum, "type")]),
657     WglFunction(Void, "glDeleteProgram", [(GLuint, "program")]),
658     WglFunction(Void, "glDeleteShader", [(GLuint, "program")]),
659     WglFunction(Void, "glDetachShader", [(GLuint, "program"), (GLuint, "shader")]),
660     WglFunction(Void, "glGetAttachedShaders", [(GLuint, "program"), (GLsizei, "maxCount"), (Pointer(GLsizei), "count"), (Pointer(GLuint), "obj")]),
661     WglFunction(Void, "glGetProgramInfoLog", [(GLuint, "program"), (GLsizei, "bufSize"), (Pointer(GLsizei), "length"), (Pointer(GLchar), "infoLog")]),
662     WglFunction(Void, "glGetProgramiv", [(GLuint, "program"), (GLenum, "pname"), (Pointer(GLint), "params")]),
663     WglFunction(Void, "glGetShaderInfoLog", [(GLuint, "shader"), (GLsizei, "bufSize"), (Pointer(GLsizei), "length"), (Pointer(GLchar), "infoLog")]),
664     WglFunction(Void, "glGetShaderiv", [(GLuint, "shader"), (GLenum, "pname"), (Pointer(GLint), "params")]),
665     WglFunction(GLboolean, "glIsProgram", [(GLuint, "program")]),
666     WglFunction(GLboolean, "glIsShader", [(GLuint, "shader")]),
667     WglFunction(Void, "glStencilFuncSeparate", [(GLenum, "face"), (GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
668     WglFunction(Void, "glStencilMaskSeparate", [(GLenum, "face"), (GLuint, "mask")]),
669     WglFunction(Void, "glStencilOpSeparate", [(GLenum, "face"), (GLenum, "sfail"), (GLenum, "zfail"), (GLenum, "zpass")]),
670     WglFunction(Void, "glUniformMatrix2x3fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
671     WglFunction(Void, "glUniformMatrix2x4fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
672     WglFunction(Void, "glUniformMatrix3x2fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
673     WglFunction(Void, "glUniformMatrix3x4fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
674     WglFunction(Void, "glUniformMatrix4x2fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
675     WglFunction(Void, "glUniformMatrix4x3fv", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
676     WglFunction(Void, "glLoadTransposeMatrixdARB", [(Pointer(Const(GLdouble)), "m")]),
677     WglFunction(Void, "glLoadTransposeMatrixfARB", [(Pointer(Const(GLfloat)), "m")]),
678     WglFunction(Void, "glMultTransposeMatrixdARB", [(Pointer(Const(GLdouble)), "m")]),
679     WglFunction(Void, "glMultTransposeMatrixfARB", [(Pointer(Const(GLfloat)), "m")]),
680     WglFunction(Void, "glSampleCoverageARB", [(GLclampf, "value"), (GLboolean, "invert")]),
681     WglFunction(Void, "glCompressedTexImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
682     WglFunction(Void, "glCompressedTexImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
683     WglFunction(Void, "glCompressedTexImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
684     WglFunction(Void, "glCompressedTexSubImage1DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
685     WglFunction(Void, "glCompressedTexSubImage2DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
686     WglFunction(Void, "glCompressedTexSubImage3DARB", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLsizei, "imageSize"), (Pointer(Const(GLvoid)), "data")]),
687     WglFunction(Void, "glGetCompressedTexImageARB", [(GLenum, "target"), (GLint, "level"), (Pointer(GLvoid), "img")]),
688     WglFunction(Void, "glDisableVertexAttribArrayARB", [(GLuint, "index")]),
689     WglFunction(Void, "glEnableVertexAttribArrayARB", [(GLuint, "index")]),
690     WglFunction(Void, "glGetProgramEnvParameterdvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(GLdouble), "params")]),
691     WglFunction(Void, "glGetProgramEnvParameterfvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(GLfloat), "params")]),
692     WglFunction(Void, "glGetProgramLocalParameterdvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(GLdouble), "params")]),
693     WglFunction(Void, "glGetProgramLocalParameterfvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(GLfloat), "params")]),
694     WglFunction(Void, "glGetProgramStringARB", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLvoid), "string")]),
695     WglFunction(Void, "glGetProgramivARB", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
696     WglFunction(Void, "glGetVertexAttribdvARB", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLdouble), "params")]),
697     WglFunction(Void, "glGetVertexAttribfvARB", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
698     WglFunction(Void, "glGetVertexAttribivARB", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLint), "params")]),
699     WglFunction(Void, "glProgramEnvParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
700     WglFunction(Void, "glProgramEnvParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(Const(GLdouble)), "params")]),
701     WglFunction(Void, "glProgramEnvParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
702     WglFunction(Void, "glProgramEnvParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(Const(GLfloat)), "params")]),
703     WglFunction(Void, "glProgramLocalParameter4dARB", [(GLenum, "target"), (GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
704     WglFunction(Void, "glProgramLocalParameter4dvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(Const(GLdouble)), "params")]),
705     WglFunction(Void, "glProgramLocalParameter4fARB", [(GLenum, "target"), (GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
706     WglFunction(Void, "glProgramLocalParameter4fvARB", [(GLenum, "target"), (GLuint, "index"), (Pointer(Const(GLfloat)), "params")]),
707     WglFunction(Void, "glProgramStringARB", [(GLenum, "target"), (GLenum, "format"), (GLsizei, "len"), (Pointer(Const(GLvoid)), "string")]),
708     WglFunction(Void, "glVertexAttrib1dARB", [(GLuint, "index"), (GLdouble, "x")]),
709     WglFunction(Void, "glVertexAttrib1dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
710     WglFunction(Void, "glVertexAttrib1fARB", [(GLuint, "index"), (GLfloat, "x")]),
711     WglFunction(Void, "glVertexAttrib1fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
712     WglFunction(Void, "glVertexAttrib1sARB", [(GLuint, "index"), (GLshort, "x")]),
713     WglFunction(Void, "glVertexAttrib1svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
714     WglFunction(Void, "glVertexAttrib2dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]),
715     WglFunction(Void, "glVertexAttrib2dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
716     WglFunction(Void, "glVertexAttrib2fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]),
717     WglFunction(Void, "glVertexAttrib2fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
718     WglFunction(Void, "glVertexAttrib2sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]),
719     WglFunction(Void, "glVertexAttrib2svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
720     WglFunction(Void, "glVertexAttrib3dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
721     WglFunction(Void, "glVertexAttrib3dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
722     WglFunction(Void, "glVertexAttrib3fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
723     WglFunction(Void, "glVertexAttrib3fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
724     WglFunction(Void, "glVertexAttrib3sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
725     WglFunction(Void, "glVertexAttrib3svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
726     WglFunction(Void, "glVertexAttrib4NbvARB", [(GLuint, "index"), (Pointer(Const(GLbyte)), "v")]),
727     WglFunction(Void, "glVertexAttrib4NivARB", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]),
728     WglFunction(Void, "glVertexAttrib4NsvARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
729     WglFunction(Void, "glVertexAttrib4NubARB", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
730     WglFunction(Void, "glVertexAttrib4NubvARB", [(GLuint, "index"), (Pointer(Const(GLubyte)), "v")]),
731     WglFunction(Void, "glVertexAttrib4NuivARB", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]),
732     WglFunction(Void, "glVertexAttrib4NusvARB", [(GLuint, "index"), (Pointer(Const(GLushort)), "v")]),
733     WglFunction(Void, "glVertexAttrib4bvARB", [(GLuint, "index"), (Pointer(Const(GLbyte)), "v")]),
734     WglFunction(Void, "glVertexAttrib4dARB", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
735     WglFunction(Void, "glVertexAttrib4dvARB", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
736     WglFunction(Void, "glVertexAttrib4fARB", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
737     WglFunction(Void, "glVertexAttrib4fvARB", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
738     WglFunction(Void, "glVertexAttrib4ivARB", [(GLuint, "index"), (Pointer(Const(GLint)), "v")]),
739     WglFunction(Void, "glVertexAttrib4sARB", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
740     WglFunction(Void, "glVertexAttrib4svARB", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
741     WglFunction(Void, "glVertexAttrib4ubvARB", [(GLuint, "index"), (Pointer(Const(GLubyte)), "v")]),
742     WglFunction(Void, "glVertexAttrib4uivARB", [(GLuint, "index"), (Pointer(Const(GLuint)), "v")]),
743     WglFunction(Void, "glVertexAttrib4usvARB", [(GLuint, "index"), (Pointer(Const(GLushort)), "v")]),
744     WglFunction(Void, "glVertexAttribPointerARB", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLboolean, "normalized"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
745     WglFunction(Void, "glBindBufferARB", [(GLenum, "target"), (GLuint, "buffer")]),
746     WglFunction(Void, "glBufferDataARB", [(GLenum, "target"), (GLsizeiptrARB, "size"), (Pointer(Const(GLvoid)), "data"), (GLenum, "usage")]),
747     WglFunction(Void, "glBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), (Pointer(Const(GLvoid)), "data")]),
748     WglFunction(Void, "glDeleteBuffersARB", [(GLsizei, "n"), (Pointer(Const(GLuint)), "buffer")]),
749     WglFunction(Void, "glGenBuffersARB", [(GLsizei, "n"), (Pointer(GLuint), "buffer")]),
750     WglFunction(Void, "glGetBufferParameterivARB", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
751     WglFunction(Void, "glGetBufferPointervARB", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Pointer(GLvoid)), "params")]),
752     WglFunction(Void, "glGetBufferSubDataARB", [(GLenum, "target"), (GLintptrARB, "offset"), (GLsizeiptrARB, "size"), (Pointer(GLvoid), "data")]),
753     WglFunction(GLboolean, "glIsBufferARB", [(GLuint, "buffer")]),
754     WglFunction(Pointer(GLvoid), "glMapBufferARB", [(GLenum, "target"), (GLenum, "access")]),
755     WglFunction(GLboolean, "glUnmapBufferARB", [(GLenum, "target")]),
756     WglFunction(Void, "glBeginQueryARB", [(GLenum, "target"), (GLuint, "id")]),
757     WglFunction(Void, "glDeleteQueriesARB", [(GLsizei, "n"), (Pointer(Const(GLuint)), "ids")]),
758     WglFunction(Void, "glEndQueryARB", [(GLenum, "target")]),
759     WglFunction(Void, "glGenQueriesARB", [(GLsizei, "n"), (Pointer(GLuint), "ids")]),
760     WglFunction(Void, "glGetQueryObjectivARB", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLint), "params")]),
761     WglFunction(Void, "glGetQueryObjectuivARB", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLuint), "params")]),
762     WglFunction(Void, "glGetQueryivARB", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
763     WglFunction(GLboolean, "glIsQueryARB", [(GLuint, "id")]),
764     WglFunction(Void, "glAttachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "obj")]),
765     WglFunction(Void, "glCompileShaderARB", [(GLhandleARB, "shader")]),
766     WglFunction(GLhandleARB, "glCreateProgramObjectARB", []),
767     WglFunction(GLhandleARB, "glCreateShaderObjectARB", [(GLenum, "shaderType")]),
768     WglFunction(Void, "glDeleteObjectARB", [(GLhandleARB, "obj")]),
769     WglFunction(Void, "glDetachObjectARB", [(GLhandleARB, "containerObj"), (GLhandleARB, "attachedObj")]),
770     WglFunction(Void, "glGetActiveUniformARB", [(GLhandleARB, "program"), (GLuint, "index"), (GLsizei, "bufSize"), (Pointer(GLsizei), "length"), (Pointer(GLint), "size"), (Pointer(GLenum), "type"), (Pointer(GLcharARB), "name")]),
771     WglFunction(Void, "glGetAttachedObjectsARB", [(GLhandleARB, "containerObj"), (GLsizei, "maxLength"), (Pointer(GLsizei), "length"), (Pointer(GLhandleARB), "infoLog")]),
772     WglFunction(GLhandleARB, "glGetHandleARB", [(GLenum, "pname")]),
773     WglFunction(Void, "glGetInfoLogARB", [(GLhandleARB, "obj"), (GLsizei, "maxLength"), (Pointer(GLsizei), "length"), (Pointer(GLcharARB), "infoLog")]),
774     WglFunction(Void, "glGetObjectParameterfvARB", [(GLhandleARB, "obj"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
775     WglFunction(Void, "glGetObjectParameterivARB", [(GLhandleARB, "obj"), (GLenum, "pname"), (Pointer(GLint), "params")]),
776     WglFunction(Void, "glGetShaderSourceARB", [(GLhandleARB, "shader"), (GLsizei, "bufSize"), (Pointer(GLsizei), "length"), (Pointer(GLcharARB), "source")]),
777     WglFunction(GLint, "glGetUniformLocationARB", [(GLhandleARB, "program"), (Pointer(Const(GLcharARB)), "name")]),
778     WglFunction(Void, "glGetUniformfvARB", [(GLhandleARB, "program"), (GLint, "location"), (Pointer(GLfloat), "params")]),
779     WglFunction(Void, "glGetUniformivARB", [(GLhandleARB, "program"), (GLint, "location"), (Pointer(GLint), "params")]),
780     WglFunction(Void, "glLinkProgramARB", [(GLhandleARB, "program")]),
781     WglFunction(Void, "glShaderSourceARB", [(GLhandleARB, "shader"), (GLsizei, "count"), (Pointer(Pointer(Const(GLcharARB))), "string"), (Pointer(Const(GLint)), "length")]),
782     WglFunction(Void, "glUniform1fARB", [(GLint, "location"), (GLfloat, "v0")]),
783     WglFunction(Void, "glUniform1fvARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "value")]),
784     WglFunction(Void, "glUniform1iARB", [(GLint, "location"), (GLint, "v0")]),
785     WglFunction(Void, "glUniform1ivARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLint)), "value")]),
786     WglFunction(Void, "glUniform2fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1")]),
787     WglFunction(Void, "glUniform2fvARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "value")]),
788     WglFunction(Void, "glUniform2iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1")]),
789     WglFunction(Void, "glUniform2ivARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLint)), "value")]),
790     WglFunction(Void, "glUniform3fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2")]),
791     WglFunction(Void, "glUniform3fvARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "value")]),
792     WglFunction(Void, "glUniform3iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2")]),
793     WglFunction(Void, "glUniform3ivARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLint)), "value")]),
794     WglFunction(Void, "glUniform4fARB", [(GLint, "location"), (GLfloat, "v0"), (GLfloat, "v1"), (GLfloat, "v2"), (GLfloat, "v3")]),
795     WglFunction(Void, "glUniform4fvARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "value")]),
796     WglFunction(Void, "glUniform4iARB", [(GLint, "location"), (GLint, "v0"), (GLint, "v1"), (GLint, "v2"), (GLint, "v3")]),
797     WglFunction(Void, "glUniform4ivARB", [(GLint, "location"), (GLsizei, "count"), (Pointer(Const(GLint)), "value")]),
798     WglFunction(Void, "glUniformMatrix2fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
799     WglFunction(Void, "glUniformMatrix3fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
800     WglFunction(Void, "glUniformMatrix4fvARB", [(GLint, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Pointer(Const(GLfloat)), "value")]),
801     WglFunction(Void, "glUseProgramObjectARB", [(GLhandleARB, "program")]),
802     WglFunction(Void, "glValidateProgramARB", [(GLhandleARB, "program")]),
803     WglFunction(Void, "glBindAttribLocationARB", [(GLhandleARB, "program"), (GLuint, "index"), (Pointer(Const(GLcharARB)), "name")]),
804     WglFunction(Void, "glGetActiveAttribARB", [(GLhandleARB, "program"), (GLuint, "index"), (GLsizei, "bufSize"), (Pointer(GLsizei), "length"), (Pointer(GLint), "size"), (Pointer(GLenum), "type"), (Pointer(GLcharARB), "name")]),
805     WglFunction(GLint, "glGetAttribLocationARB", [(GLhandleARB, "program"), (Pointer(Const(GLcharARB)), "name")]),
806     WglFunction(Void, "glDrawBuffersARB", [(GLsizei, "n"), (Pointer(Const(GLenum)), "bufs")]),
807     WglFunction(Void, "glRenderbufferStorageMultisample", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
808     WglFunction(Void, "glPolygonOffsetEXT", [(GLfloat, "factor"), (GLfloat, "bias")]),
809     WglFunction(Void, "glGetPixelTexGenParameterfvSGIS", [(GLenum, "pname"), (Pointer(GLfloat), "params")]),
810     WglFunction(Void, "glGetPixelTexGenParameterivSGIS", [(GLenum, "pname"), (Pointer(GLint), "params")]),
811     WglFunction(Void, "glPixelTexGenParameterfSGIS", [(GLenum, "pname"), (GLfloat, "param")]),
812     WglFunction(Void, "glPixelTexGenParameterfvSGIS", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
813     WglFunction(Void, "glPixelTexGenParameteriSGIS", [(GLenum, "pname"), (GLint, "param")]),
814     WglFunction(Void, "glPixelTexGenParameterivSGIS", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
815     WglFunction(Void, "glSampleMaskSGIS", [(GLclampf, "value"), (GLboolean, "invert")]),
816     WglFunction(Void, "glSamplePatternSGIS", [(GLenum, "pattern")]),
817     WglFunction(Void, "glColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLvoid)), "pointer")]),
818     WglFunction(Void, "glEdgeFlagPointerEXT", [(GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLboolean)), "pointer")]),
819     WglFunction(Void, "glIndexPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLvoid)), "pointer")]),
820     WglFunction(Void, "glNormalPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLvoid)), "pointer")]),
821     WglFunction(Void, "glTexCoordPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLvoid)), "pointer")]),
822     WglFunction(Void, "glVertexPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (GLsizei, "count"), (Pointer(Const(GLvoid)), "pointer")]),
823     WglFunction(Void, "glPointParameterfEXT", [(GLenum, "pname"), (GLfloat, "param")]),
824     WglFunction(Void, "glPointParameterfvEXT", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
825     WglFunction(Void, "glLockArraysEXT", [(GLint, "first"), (GLsizei, "count")]),
826     WglFunction(Void, "glUnlockArraysEXT", []),
827     WglFunction(Void, "glCullParameterdvEXT", [(GLenum, "pname"), (Pointer(GLdouble), "params")]),
828     WglFunction(Void, "glCullParameterfvEXT", [(GLenum, "pname"), (Pointer(GLfloat), "params")]),
829     WglFunction(Void, "glSecondaryColor3bEXT", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
830     WglFunction(Void, "glSecondaryColor3bvEXT", [(Pointer(Const(GLbyte)), "v")]),
831     WglFunction(Void, "glSecondaryColor3dEXT", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
832     WglFunction(Void, "glSecondaryColor3dvEXT", [(Pointer(Const(GLdouble)), "v")]),
833     WglFunction(Void, "glSecondaryColor3fEXT", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
834     WglFunction(Void, "glSecondaryColor3fvEXT", [(Pointer(Const(GLfloat)), "v")]),
835     WglFunction(Void, "glSecondaryColor3iEXT", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
836     WglFunction(Void, "glSecondaryColor3ivEXT", [(Pointer(Const(GLint)), "v")]),
837     WglFunction(Void, "glSecondaryColor3sEXT", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
838     WglFunction(Void, "glSecondaryColor3svEXT", [(Pointer(Const(GLshort)), "v")]),
839     WglFunction(Void, "glSecondaryColor3ubEXT", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
840     WglFunction(Void, "glSecondaryColor3ubvEXT", [(Pointer(Const(GLubyte)), "v")]),
841     WglFunction(Void, "glSecondaryColor3uiEXT", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
842     WglFunction(Void, "glSecondaryColor3uivEXT", [(Pointer(Const(GLuint)), "v")]),
843     WglFunction(Void, "glSecondaryColor3usEXT", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
844     WglFunction(Void, "glSecondaryColor3usvEXT", [(Pointer(Const(GLushort)), "v")]),
845     WglFunction(Void, "glSecondaryColorPointerEXT", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
846     WglFunction(Void, "glMultiDrawArraysEXT", [(GLenum, "mode"), (Pointer(GLint), "first"), (Pointer(GLsizei), "count"), (GLsizei, "primcount")]),
847     WglFunction(Void, "glMultiDrawElementsEXT", [(GLenum, "mode"), (Pointer(Const(GLsizei)), "count"), (GLenum, "type"), (Pointer(Pointer(Const(GLvoid))), "indices"), (GLsizei, "primcount")]),
848     WglFunction(Void, "glFogCoordPointerEXT", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
849     WglFunction(Void, "glFogCoorddEXT", [(GLdouble, "coord")]),
850     WglFunction(Void, "glFogCoorddvEXT", [(Pointer(Const(GLdouble)), "coord")]),
851     WglFunction(Void, "glFogCoordfEXT", [(GLfloat, "coord")]),
852     WglFunction(Void, "glFogCoordfvEXT", [(Pointer(Const(GLfloat)), "coord")]),
853     WglFunction(Void, "glPixelTexGenSGIX", [(GLenum, "mode")]),
854     WglFunction(Void, "glBlendFuncSeparateEXT", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]),
855     WglFunction(Void, "glFlushVertexArrayRangeNV", []),
856     WglFunction(Void, "glVertexArrayRangeNV", [(GLsizei, "length"), (Pointer(Const(GLvoid)), "pointer")]),
857     WglFunction(Void, "glCombinerInputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]),
858     WglFunction(Void, "glCombinerOutputNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "abOutput"), (GLenum, "cdOutput"), (GLenum, "sumOutput"), (GLenum, "scale"), (GLenum, "bias"), (GLboolean, "abDotProduct"), (GLboolean, "cdDotProduct"), (GLboolean, "muxSum")]),
859     WglFunction(Void, "glCombinerParameterfNV", [(GLenum, "pname"), (GLfloat, "param")]),
860     WglFunction(Void, "glCombinerParameterfvNV", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
861     WglFunction(Void, "glCombinerParameteriNV", [(GLenum, "pname"), (GLint, "param")]),
862     WglFunction(Void, "glCombinerParameterivNV", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
863     WglFunction(Void, "glFinalCombinerInputNV", [(GLenum, "variable"), (GLenum, "input"), (GLenum, "mapping"), (GLenum, "componentUsage")]),
864     WglFunction(Void, "glGetCombinerInputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
865     WglFunction(Void, "glGetCombinerInputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "variable"), (GLenum, "pname"), (Pointer(GLint), "params")]),
866     WglFunction(Void, "glGetCombinerOutputParameterfvNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
867     WglFunction(Void, "glGetCombinerOutputParameterivNV", [(GLenum, "stage"), (GLenum, "portion"), (GLenum, "pname"), (Pointer(GLint), "params")]),
868     WglFunction(Void, "glGetFinalCombinerInputParameterfvNV", [(GLenum, "variable"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
869     WglFunction(Void, "glGetFinalCombinerInputParameterivNV", [(GLenum, "variable"), (GLenum, "pname"), (Pointer(GLint), "params")]),
870     WglFunction(Void, "glResizeBuffersMESA", []),
871     WglFunction(Void, "glWindowPos2dMESA", [(GLdouble, "x"), (GLdouble, "y")]),
872     WglFunction(Void, "glWindowPos2dvMESA", [(Pointer(Const(GLdouble)), "v")]),
873     WglFunction(Void, "glWindowPos2fMESA", [(GLfloat, "x"), (GLfloat, "y")]),
874     WglFunction(Void, "glWindowPos2fvMESA", [(Pointer(Const(GLfloat)), "v")]),
875     WglFunction(Void, "glWindowPos2iMESA", [(GLint, "x"), (GLint, "y")]),
876     WglFunction(Void, "glWindowPos2ivMESA", [(Pointer(Const(GLint)), "v")]),
877     WglFunction(Void, "glWindowPos2sMESA", [(GLshort, "x"), (GLshort, "y")]),
878     WglFunction(Void, "glWindowPos2svMESA", [(Pointer(Const(GLshort)), "v")]),
879     WglFunction(Void, "glWindowPos3dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
880     WglFunction(Void, "glWindowPos3dvMESA", [(Pointer(Const(GLdouble)), "v")]),
881     WglFunction(Void, "glWindowPos3fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
882     WglFunction(Void, "glWindowPos3fvMESA", [(Pointer(Const(GLfloat)), "v")]),
883     WglFunction(Void, "glWindowPos3iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
884     WglFunction(Void, "glWindowPos3ivMESA", [(Pointer(Const(GLint)), "v")]),
885     WglFunction(Void, "glWindowPos3sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
886     WglFunction(Void, "glWindowPos3svMESA", [(Pointer(Const(GLshort)), "v")]),
887     WglFunction(Void, "glWindowPos4dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
888     WglFunction(Void, "glWindowPos4dvMESA", [(Pointer(Const(GLdouble)), "v")]),
889     WglFunction(Void, "glWindowPos4fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
890     WglFunction(Void, "glWindowPos4fvMESA", [(Pointer(Const(GLfloat)), "v")]),
891     WglFunction(Void, "glWindowPos4iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
892     WglFunction(Void, "glWindowPos4ivMESA", [(Pointer(Const(GLint)), "v")]),
893     WglFunction(Void, "glWindowPos4sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
894     WglFunction(Void, "glWindowPos4svMESA", [(Pointer(Const(GLshort)), "v")]),
895     WglFunction(Void, "glMultiModeDrawArraysIBM", [(Pointer(Const(GLenum)), "mode"), (Pointer(Const(GLint)), "first"), (Pointer(Const(GLsizei)), "count"), (GLsizei, "primcount"), (GLint, "modestride")]),
896     WglFunction(Void, "glMultiModeDrawElementsIBM", [(Pointer(Const(GLenum)), "mode"), (Pointer(Const(GLsizei)), "count"), (GLenum, "type"), (Pointer(Const(Pointer(Const(GLvoid)))), "indices"), (GLsizei, "primcount"), (GLint, "modestride")]),
897     WglFunction(Void, "glDeleteFencesNV", [(GLsizei, "n"), (Pointer(Const(GLuint)), "fences")]),
898     WglFunction(Void, "glFinishFenceNV", [(GLuint, "fence")]),
899     WglFunction(Void, "glGenFencesNV", [(GLsizei, "n"), (Pointer(GLuint), "fences")]),
900     WglFunction(Void, "glGetFenceivNV", [(GLuint, "fence"), (GLenum, "pname"), (Pointer(GLint), "params")]),
901     WglFunction(GLboolean, "glIsFenceNV", [(GLuint, "fence")]),
902     WglFunction(Void, "glSetFenceNV", [(GLuint, "fence"), (GLenum, "condition")]),
903     WglFunction(GLboolean, "glTestFenceNV", [(GLuint, "fence")]),
904     WglFunction(GLboolean, "glAreProgramsResidentNV", [(GLsizei, "n"), (Pointer(Const(GLuint)), "ids"), (Pointer(GLboolean), "residences")]),
905     WglFunction(Void, "glBindProgramNV", [(GLenum, "target"), (GLuint, "program")]),
906     WglFunction(Void, "glDeleteProgramsNV", [(GLsizei, "n"), (Pointer(Const(GLuint)), "programs")]),
907     WglFunction(Void, "glExecuteProgramNV", [(GLenum, "target"), (GLuint, "id"), (Pointer(Const(GLfloat)), "params")]),
908     WglFunction(Void, "glGenProgramsNV", [(GLsizei, "n"), (Pointer(GLuint), "programs")]),
909     WglFunction(Void, "glGetProgramParameterdvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (Pointer(GLdouble), "params")]),
910     WglFunction(Void, "glGetProgramParameterfvNV", [(GLenum, "target"), (GLuint, "index"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
911     WglFunction(Void, "glGetProgramStringNV", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLubyte), "program")]),
912     WglFunction(Void, "glGetProgramivNV", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLint), "params")]),
913     WglFunction(Void, "glGetTrackMatrixivNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "pname"), (Pointer(GLint), "params")]),
914     WglFunction(Void, "glGetVertexAttribPointervNV", [(GLuint, "index"), (GLenum, "pname"), (Pointer(Pointer(GLvoid)), "pointer")]),
915     WglFunction(Void, "glGetVertexAttribdvNV", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLdouble), "params")]),
916     WglFunction(Void, "glGetVertexAttribfvNV", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
917     WglFunction(Void, "glGetVertexAttribivNV", [(GLuint, "index"), (GLenum, "pname"), (Pointer(GLint), "params")]),
918     WglFunction(GLboolean, "glIsProgramNV", [(GLuint, "program")]),
919     WglFunction(Void, "glLoadProgramNV", [(GLenum, "target"), (GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "program")]),
920     WglFunction(Void, "glProgramParameters4dvNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "num"), (Pointer(Const(GLdouble)), "params")]),
921     WglFunction(Void, "glProgramParameters4fvNV", [(GLenum, "target"), (GLuint, "index"), (GLuint, "num"), (Pointer(Const(GLfloat)), "params")]),
922     WglFunction(Void, "glRequestResidentProgramsNV", [(GLsizei, "n"), (Pointer(Const(GLuint)), "ids")]),
923     WglFunction(Void, "glTrackMatrixNV", [(GLenum, "target"), (GLuint, "address"), (GLenum, "matrix"), (GLenum, "transform")]),
924     WglFunction(Void, "glVertexAttrib1dNV", [(GLuint, "index"), (GLdouble, "x")]),
925     WglFunction(Void, "glVertexAttrib1dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
926     WglFunction(Void, "glVertexAttrib1fNV", [(GLuint, "index"), (GLfloat, "x")]),
927     WglFunction(Void, "glVertexAttrib1fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
928     WglFunction(Void, "glVertexAttrib1sNV", [(GLuint, "index"), (GLshort, "x")]),
929     WglFunction(Void, "glVertexAttrib1svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
930     WglFunction(Void, "glVertexAttrib2dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y")]),
931     WglFunction(Void, "glVertexAttrib2dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
932     WglFunction(Void, "glVertexAttrib2fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y")]),
933     WglFunction(Void, "glVertexAttrib2fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
934     WglFunction(Void, "glVertexAttrib2sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y")]),
935     WglFunction(Void, "glVertexAttrib2svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
936     WglFunction(Void, "glVertexAttrib3dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
937     WglFunction(Void, "glVertexAttrib3dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
938     WglFunction(Void, "glVertexAttrib3fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
939     WglFunction(Void, "glVertexAttrib3fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
940     WglFunction(Void, "glVertexAttrib3sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
941     WglFunction(Void, "glVertexAttrib3svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
942     WglFunction(Void, "glVertexAttrib4dNV", [(GLuint, "index"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
943     WglFunction(Void, "glVertexAttrib4dvNV", [(GLuint, "index"), (Pointer(Const(GLdouble)), "v")]),
944     WglFunction(Void, "glVertexAttrib4fNV", [(GLuint, "index"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
945     WglFunction(Void, "glVertexAttrib4fvNV", [(GLuint, "index"), (Pointer(Const(GLfloat)), "v")]),
946     WglFunction(Void, "glVertexAttrib4sNV", [(GLuint, "index"), (GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
947     WglFunction(Void, "glVertexAttrib4svNV", [(GLuint, "index"), (Pointer(Const(GLshort)), "v")]),
948     WglFunction(Void, "glVertexAttrib4ubNV", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
949     WglFunction(Void, "glVertexAttrib4ubvNV", [(GLuint, "index"), (Pointer(Const(GLubyte)), "v")]),
950     WglFunction(Void, "glVertexAttribPointerNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
951     WglFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
952     WglFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
953     WglFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
954     WglFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
955     WglFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
956     WglFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
957     WglFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
958     WglFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
959     WglFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
960     WglFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
961     WglFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
962     WglFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
963     WglFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLubyte)), "v")]),
964     WglFunction(Void, "glGetTexBumpParameterfvATI", [(GLenum, "pname"), (Pointer(GLfloat), "param")]),
965     WglFunction(Void, "glGetTexBumpParameterivATI", [(GLenum, "pname"), (Pointer(GLint), "param")]),
966     WglFunction(Void, "glTexBumpParameterfvATI", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "param")]),
967     WglFunction(Void, "glTexBumpParameterivATI", [(GLenum, "pname"), (Pointer(Const(GLint)), "param")]),
968     WglFunction(Void, "glAlphaFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]),
969     WglFunction(Void, "glAlphaFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]),
970     WglFunction(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")]),
971     WglFunction(Void, "glBeginFragmentShaderATI", []),
972     WglFunction(Void, "glBindFragmentShaderATI", [(GLuint, "id")]),
973     WglFunction(Void, "glColorFragmentOp1ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod")]),
974     WglFunction(Void, "glColorFragmentOp2ATI", [(GLenum, "op"), (GLuint, "dst"), (GLuint, "dstMask"), (GLuint, "dstMod"), (GLuint, "arg1"), (GLuint, "arg1Rep"), (GLuint, "arg1Mod"), (GLuint, "arg2"), (GLuint, "arg2Rep"), (GLuint, "arg2Mod")]),
975     WglFunction(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")]),
976     WglFunction(Void, "glDeleteFragmentShaderATI", [(GLuint, "id")]),
977     WglFunction(Void, "glEndFragmentShaderATI", []),
978     WglFunction(GLuint, "glGenFragmentShadersATI", [(GLuint, "range")]),
979     WglFunction(Void, "glPassTexCoordATI", [(GLuint, "dst"), (GLuint, "coord"), (GLenum, "swizzle")]),
980     WglFunction(Void, "glSampleMapATI", [(GLuint, "dst"), (GLuint, "interp"), (GLenum, "swizzle")]),
981     WglFunction(Void, "glSetFragmentShaderConstantATI", [(GLuint, "dst"), (Pointer(Const(GLfloat)), "value")]),
982     WglFunction(Void, "glPointParameteriNV", [(GLenum, "pname"), (GLint, "param")]),
983     WglFunction(Void, "glPointParameterivNV", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
984     WglFunction(Void, "glActiveStencilFaceEXT", [(GLenum, "face")]),
985     WglFunction(Void, "glBindVertexArrayAPPLE", [(GLuint, "array")]),
986     WglFunction(Void, "glDeleteVertexArraysAPPLE", [(GLsizei, "n"), (Pointer(Const(GLuint)), "arrays")]),
987     WglFunction(Void, "glGenVertexArraysAPPLE", [(GLsizei, "n"), (Pointer(GLuint), "arrays")]),
988     WglFunction(GLboolean, "glIsVertexArrayAPPLE", [(GLuint, "array")]),
989     WglFunction(Void, "glGetProgramNamedParameterdvNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (Pointer(GLdouble), "params")]),
990     WglFunction(Void, "glGetProgramNamedParameterfvNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (Pointer(GLfloat), "params")]),
991     WglFunction(Void, "glProgramNamedParameter4dNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
992     WglFunction(Void, "glProgramNamedParameter4dvNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (Pointer(Const(GLdouble)), "v")]),
993     WglFunction(Void, "glProgramNamedParameter4fNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
994     WglFunction(Void, "glProgramNamedParameter4fvNV", [(GLuint, "id"), (GLsizei, "len"), (Pointer(Const(GLubyte)), "name"), (Pointer(Const(GLfloat)), "v")]),
995     WglFunction(Void, "glDepthBoundsEXT", [(GLclampd, "zmin"), (GLclampd, "zmax")]),
996     WglFunction(Void, "glBlendEquationSeparateEXT", [(GLenum, "modeRGB"), (GLenum, "modeA")]),
997     WglFunction(Void, "glBindFramebufferEXT", [(GLenum, "target"), (GLuint, "framebuffer")]),
998     WglFunction(Void, "glBindRenderbufferEXT", [(GLenum, "target"), (GLuint, "renderbuffer")]),
999     WglFunction(GLenum, "glCheckFramebufferStatusEXT", [(GLenum, "target")]),
1000     WglFunction(Void, "glDeleteFramebuffersEXT", [(GLsizei, "n"), (Pointer(Const(GLuint)), "framebuffers")]),
1001     WglFunction(Void, "glDeleteRenderbuffersEXT", [(GLsizei, "n"), (Pointer(Const(GLuint)), "renderbuffers")]),
1002     WglFunction(Void, "glFramebufferRenderbufferEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "renderbuffertarget"), (GLuint, "renderbuffer")]),
1003     WglFunction(Void, "glFramebufferTexture1DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLuint, "texture"), (GLint, "level")]),
1004     WglFunction(Void, "glFramebufferTexture2DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLuint, "texture"), (GLint, "level")]),
1005     WglFunction(Void, "glFramebufferTexture3DEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLuint, "texture"), (GLint, "level"), (GLint, "zoffset")]),
1006     WglFunction(Void, "glGenFramebuffersEXT", [(GLsizei, "n"), (Pointer(GLuint), "framebuffers")]),
1007     WglFunction(Void, "glGenRenderbuffersEXT", [(GLsizei, "n"), (Pointer(GLuint), "renderbuffers")]),
1008     WglFunction(Void, "glGenerateMipmapEXT", [(GLenum, "target")]),
1009     WglFunction(Void, "glGetFramebufferAttachmentParameterivEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "pname"), (Pointer(GLint), "params")]),
1010     WglFunction(Void, "glGetRenderbufferParameterivEXT", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
1011     WglFunction(GLboolean, "glIsFramebufferEXT", [(GLuint, "framebuffer")]),
1012     WglFunction(GLboolean, "glIsRenderbufferEXT", [(GLuint, "renderbuffer")]),
1013     WglFunction(Void, "glRenderbufferStorageEXT", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
1014     WglFunction(Void, "glBlitFramebufferEXT", [(GLint, "srcX0"), (GLint, "srcY0"), (GLint, "srcX1"), (GLint, "srcY1"), (GLint, "dstX0"), (GLint, "dstY0"), (GLint, "dstX1"), (GLint, "dstY1"), (GLbitfield, "mask"), (GLenum, "filter")]),
1015     WglFunction(Void, "glFramebufferTextureLayerEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLuint, "texture"), (GLint, "level"), (GLint, "layer")]),
1016     WglFunction(Void, "glStencilFuncSeparateATI", [(GLenum, "frontfunc"), (GLenum, "backfunc"), (GLint, "ref"), (GLuint, "mask")]),
1017     WglFunction(Void, "glProgramEnvParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "params")]),
1018     WglFunction(Void, "glProgramLocalParameters4fvEXT", [(GLenum, "target"), (GLuint, "index"), (GLsizei, "count"), (Pointer(Const(GLfloat)), "params")]),
1019     WglFunction(Void, "glGetQueryObjecti64vEXT", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLint64EXT), "params")]),
1020     WglFunction(Void, "glGetQueryObjectui64vEXT", [(GLuint, "id"), (GLenum, "pname"), (Pointer(GLuint64EXT), "params")]),
1021     # WGL_ARB_extensions_string
1022     WglFunction(Const(String), "wglGetExtensionsStringARB", [(HDC, "hdc")]),
1023     # WGL_ARB_pixel_format
1024     WglFunction(BOOL, "wglGetPixelFormatAttribivARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Pointer(attribute), "piAttributes"), (OutPointer(Int), "piValues")]),
1025     WglFunction(BOOL, "wglGetPixelFormatAttribfvARB", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Pointer(attribute), "piAttributes"), (OutPointer(FLOAT), "pfValues")]),
1026     WglFunction(BOOL, "wglChoosePixelFormatARB", [(HDC, "hdc"), (Pointer(Const(Int)), "piAttribIList"), (Pointer(Const(FLOAT)), "pfAttribFList"), (UINT, "nMaxFormats"), (Pointer(Int), "piFormats"), (Pointer(UINT), "nNumFormats")]),
1027     # WGL_EXT_extensions_string
1028     WglFunction(Const(String), "wglGetExtensionsStringEXT", []),
1029     # WGL_EXT_pixel_format
1030     WglFunction(BOOL, "wglGetPixelFormatAttribivEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Pointer(attribute), "piAttributes"), (OutPointer(Int), "piValues")]),
1031     WglFunction(BOOL, "wglGetPixelFormatAttribfvEXT", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nAttributes"), (Pointer(attribute), "piAttributes"), (OutPointer(FLOAT), "pfValues")]),
1032     WglFunction(BOOL, "wglChoosePixelFormatEXT", [(HDC, "hdc"), (Pointer(Const(Int)), "piAttribIList"), (Pointer(Const(FLOAT)), "pfAttribFList"), (UINT, "nMaxFormats"), (Pointer(Int), "piFormats"), (Pointer(UINT), "nNumFormats")]),
1033 ]
1034
1035 if __name__ == '__main__':
1036     print
1037     print '#define _GDI32_'
1038     print
1039     print '#include <windows.h>'
1040     print '#include <tchar.h>'
1041     print '#include <GL/gl.h>'
1042     print '#include "glext.h"'
1043     print '#include "wglext.h"'
1044     print
1045     print '#include "log.hpp"'
1046     print
1047     print 'extern "C" {'
1048     print
1049     wrap()
1050     print
1051     print '}'