1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license(the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */
28 module derelict.opengl.extfuncs;
29 
30 private
31 {
32     version(Windows)
33     {
34         import derelict.util.wintypes;
35     }
36     import derelict.util.compat;
37     import derelict.opengl.gltypes;
38     import derelict.opengl.exttypes;
39 }
40 
41 version = DerelictGL_ALL;
42 
43 version(DerelictGL_ALL)
44 {
45     version = DerelictGL_ARB;
46     version = DerelictGL_EXT;
47     version = DerelictGL_NV;
48     version = DerelictGL_ATI;
49     version = DerelictGL_AMD;
50     version = DerelictGL_SGI;
51     version = DerelictGL_SGIS;
52     version = DerelictGL_SGIX;
53     version = DerelictGL_HP;
54     version = DerelictGL_PGI;
55     version = DerelictGL_IBM;
56     version = DerelictGL_WIN;
57     version = DerelictGL_INTEL;
58     version = DerelictGL_REND;
59     version = DerelictGL_APPLE;
60     version = DerelictGL_SUNX;
61     version = DerelictGL_SUN;
62     version = DerelictGL_INGR;
63     version = DerelictGL_MESA;
64     version = DerelictGL_3DFX;
65     version = DerelictGL_OML;
66     version = DerelictGL_S3;
67     version = DerelictGL_OES;
68     version = DerelictGL_GREMEDY;
69     version = DerelictGL_MESAX;
70     version = DerelictGL_I3D;
71     version = DerelictGL_3DL;
72 }
73 
74 extern(System)
75 {
76     mixin(gsharedString!() ~
77     "
78     version(DerelictGL_ARB)
79     {
80         // GL_ARB_multitexture
81         void function(GLenum) glActiveTextureARB;
82         void function(GLenum) glClientActiveTextureARB;
83         void function(GLenum, GLdouble) glMultiTexCoord1dARB;
84         void function(GLenum, in GLdouble*) glMultiTexCoord1dvARB;
85         void function(GLenum, GLfloat) glMultiTexCoord1fARB;
86         void function(GLenum, in GLfloat*) glMultiTexCoord1fvARB;
87         void function(GLenum, GLint) glMultiTexCoord1iARB;
88         void function(GLenum, in GLint*) glMultiTexCoord1ivARB;
89         void function(GLenum, GLshort) glMultiTexCoord1sARB;
90         void function(GLenum, in GLshort*) glMultiTexCoord1svARB;
91         void function(GLenum, GLdouble, GLdouble) glMultiTexCoord2dARB;
92         void function(GLenum, in GLdouble*) glMultiTexCoord2dvARB;
93         void function(GLenum, GLfloat, GLfloat) glMultiTexCoord2fARB;
94         void function(GLenum, in GLfloat*) glMultiTexCoord2fvARB;
95         void function(GLenum, GLint, GLint) glMultiTexCoord2iARB;
96         void function(GLenum, in GLint*) glMultiTexCoord2ivARB;
97         void function(GLenum, GLshort, GLshort) glMultiTexCoord2sARB;
98         void function(GLenum, in GLshort*) glMultiTexCoord2svARB;
99         void function(GLenum, GLdouble, GLdouble, GLdouble) glMultiTexCoord3dARB;
100         void function(GLenum, in GLdouble*) glMultiTexCoord3dvARB;
101         void function(GLenum, GLfloat, GLfloat, GLfloat) glMultiTexCoord3fARB;
102         void function(GLenum, in GLfloat*) glMultiTexCoord3fvARB;
103         void function(GLenum, GLint, GLint, GLint) glMultiTexCoord3iARB;
104         void function(GLenum, in GLint*) glMultiTexCoord3ivARB;
105         void function(GLenum, GLshort, GLshort, GLshort) glMultiTexCoord3sARB;
106         void function(GLenum, in GLshort*) glMultiTexCoord3svARB;
107         void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) glMultiTexCoord4dARB;
108         void function(GLenum, in GLdouble*) glMultiTexCoord4dvARB;
109         void function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) glMultiTexCoord4fARB;
110         void function(GLenum, in GLfloat*) glMultiTexCoord4fvARB;
111         void function(GLenum, GLint, GLint, GLint, GLint) glMultiTexCoord4iARB;
112         void function(GLenum, in GLint*) glMultiTexCoord4ivARB;
113         void function(GLenum, GLshort, GLshort, GLshort, GLshort) glMultiTexCoord4sARB;
114         void function(GLenum, in GLshort*) glMultiTexCoord4svARB;
115 
116         // GL_ARB_transpose_matrix
117         void function(GLfloat*) glLoadTransposeMatrixfARB;
118         void function(GLdouble*) glLoadTransposeMatrixdARB;
119         void function(GLfloat*) glMultTransposeMatrixfARB;
120         void function(GLdouble*) glMultTransposeMatrixdARB;
121 
122         // GL_ARB_multisample
123         void function(GLclampf, GLboolean) glSampleCoverageARB;
124 
125         // GL_ARB_texture_compression
126         void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTexImage3DARB;
127         void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTexImage2DARB;
128         void function(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTexImage1DARB;
129         void function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTexSubImage3DARB;
130         void function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTexSubImage2DARB;
131         void function(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTexSubImage1DARB;
132         void function(GLenum, GLint, GLvoid*) glGetCompressedTexImageARB;
133 
134         // GL_ARB_point_parameters
135         void function(GLenum, GLfloat) glPointParameterfARB;
136         void function(GLenum, GLfloat*) glPointParameterfvARB;
137 
138         // GL_ARB_vertex_blend
139         void function(GLint, GLbyte*) glWeightbvARB;
140         void function(GLint, GLshort*) glWeightsvARB;
141         void function(GLint, GLint*) glWeightivARB;
142         void function(GLint, GLfloat*) glWeightfvARB;
143         void function(GLint, GLdouble*) glWeightdvARB;
144         void function(GLint, GLubyte*) glWeightubvARB;
145         void function(GLint, GLushort*) glWeightusvARB;
146         void function(GLint, GLuint*) glWeightuivARB;
147         void function(GLint, GLenum, GLsizei, GLvoid*) glWeightPointerARB;
148         void function(GLint) glVertexBlendARB;
149 
150         // GL_ARB_matrix_palette
151         void function(GLint) glCurrentPaletteMatrixARB;
152         void function(GLint, GLubyte*) glMatrixIndexubvARB;
153         void function(GLint, GLushort*) glMatrixIndexusvARB;
154         void function(GLint, GLuint*) glMatrixIndexuivARB;
155         void function(GLint, GLenum, GLsizei, GLvoid*) glMatrixIndexPointerARB;
156 
157         // GL_ARB_window_pos
158         void function(GLdouble, GLdouble) glWindowPos2dARB;
159         void function(in GLdouble*) glWindowPos2dvARB;
160         void function(GLfloat, GLfloat) glWindowPos2fARB;
161         void function(in GLfloat*) glWindowPos2fvARB;
162         void function(GLint, GLint) glWindowPos2iARB;
163         void function(in GLint*) glWindowPos2ivARB;
164         void function(GLshort, GLshort) glWindowPos2sARB;
165         void function(in GLshort*) glWindowPos2svARB;
166         void function(GLdouble, GLdouble, GLdouble) glWindowPos3dARB;
167         void function(in GLdouble*) glWindowPos3dvARB;
168         void function(GLfloat, GLfloat, GLfloat) glWindowPos3fARB;
169         void function(in GLfloat*) glWindowPos3fvARB;
170         void function(GLint, GLint, GLint) glWindowPos3iARB;
171         void function(in GLint*) glWindowPos3ivARB;
172         void function(GLshort, GLshort, GLshort) glWindowPos3sARB;
173         void function(in GLshort*) glWindowPos3svARB;
174 
175         // GL_ARB_vertex_program
176         void function(GLuint, GLdouble) glVertexAttrib1dARB;
177         void function(GLuint, in GLdouble*) glVertexAttrib1dvARB;
178         void function(GLuint, GLfloat) glVertexAttrib1fARB;
179         void function(GLuint, in GLfloat*) glVertexAttrib1fvARB;
180         void function(GLuint, GLshort) glVertexAttrib1sARB;
181         void function(GLuint, in GLshort*) glVertexAttrib1svARB;
182         void function(GLuint, GLdouble, GLdouble) glVertexAttrib2dARB;
183         void function(GLuint, in GLdouble*) glVertexAttrib2dvARB;
184         void function(GLuint, GLfloat, GLfloat) glVertexAttrib2fARB;
185         void function(GLuint, in GLfloat*) glVertexAttrib2fvARB;
186         void function(GLuint, GLshort, GLshort) glVertexAttrib2sARB;
187         void function(GLuint, in GLshort*) glVertexAttrib2svARB;
188         void function(GLuint, GLdouble, GLdouble, GLdouble) glVertexAttrib3dARB;
189         void function(GLuint, in GLdouble*) glVertexAttrib3dvARB;
190         void function(GLuint, GLfloat, GLfloat, GLfloat) glVertexAttrib3fARB;
191         void function(GLuint, in GLfloat*) glVertexAttrib3fvARB;
192         void function(GLuint, GLshort, GLshort, GLshort) glVertexAttrib3sARB;
193         void function(GLuint, in GLshort*) glVertexAttrib3svARB;
194         void function(GLuint, in GLbyte*) glVertexAttrib4NbvARB;
195         void function(GLuint, in GLint*) glVertexAttrib4NivARB;
196         void function(GLuint, in GLshort*) glVertexAttrib4NsvARB;
197         void function(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) glVertexAttrib4NubARB;
198         void function(GLuint, in GLubyte*) glVertexAttrib4NubvARB;
199         void function(GLuint, in GLuint*) glVertexAttrib4NuivARB;
200         void function(GLuint, in GLushort*) glVertexAttrib4NusvARB;
201         void function(GLuint, in GLbyte*) glVertexAttrib4bvARB;
202         void function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glVertexAttrib4dARB;
203         void function(GLuint, in GLdouble*) glVertexAttrib4dvARB;
204         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glVertexAttrib4fARB;
205         void function(GLuint, in GLfloat*) glVertexAttrib4fvARB;
206         void function(GLuint, in GLint*) glVertexAttrib4ivARB;
207         void function(GLuint, GLshort, GLshort, GLshort, GLshort) glVertexAttrib4sARB;
208         void function(GLuint, in GLshort*) glVertexAttrib4svARB;
209         void function(GLuint, in GLubyte*) glVertexAttrib4ubvARB;
210         void function(GLuint, in GLuint*) glVertexAttrib4uivARB;
211         void function(GLuint, in GLushort*) glVertexAttrib4usvARB;
212         void function(GLuint, GLint, GLenum, GLboolean, GLsizei, in GLvoid*) glVertexAttribPointerARB;
213         void function(GLuint) glEnableVertexAttribArrayARB;
214         void function(GLuint) glDisableVertexAttribArrayARB;
215         void function(GLenum, GLenum, GLsizei, in GLvoid*) glProgramStringARB;
216         void function(GLenum, GLuint) glBindProgramARB;
217         void function(GLsizei, in GLuint*) glDeleteProgramsARB;
218         void function(GLsizei, GLuint*) glGenProgramsARB;
219         void function(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glProgramEnvParameter4dARB;
220         void function(GLenum, GLuint, in GLdouble*) glProgramEnvParameter4dvARB;
221         void function(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glProgramEnvParameter4fARB;
222         void function(GLenum, GLuint, in GLfloat*) glProgramEnvParameter4fvARB;
223         void function(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glProgramLocalParameter4dARB;
224         void function(GLenum, GLuint, in GLdouble*) glProgramLocalParameter4dvARB;
225         void function(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glProgramLocalParameter4fARB;
226         void function(GLenum, GLuint, in GLfloat*) glProgramLocalParameter4fvARB;
227         void function(GLenum, GLuint, GLdouble*) glGetProgramEnvParameterdvARB;
228         void function(GLenum, GLuint, GLfloat*) glGetProgramEnvParameterfvARB;
229         void function(GLenum, GLuint, GLdouble*) glGetProgramLocalParameterdvARB;
230         void function(GLenum, GLuint, GLfloat*) glGetProgramLocalParameterfvARB;
231         void function(GLenum, GLenum, GLint*) glGetProgramivARB;
232         void function(GLenum, GLenum, GLvoid*) glGetProgramStringARB;
233         void function(GLuint, GLenum, GLdouble*) glGetVertexAttribdvARB;
234         void function(GLuint, GLenum, GLfloat*) glGetVertexAttribfvARB;
235         void function(GLuint, GLenum, GLint*) glGetVertexAttribivARB;
236         void function(GLuint, GLenum, GLvoid*) glGetVertexAttribPointervARB;
237         GLboolean function(GLuint) glIsProgramARB;
238 
239         // GL_ARB_vertex_buffer_object
240         void function(GLenum, GLuint) glBindBufferARB;
241         void function(GLsizei, in GLuint*) glDeleteBuffersARB;
242         void function(GLsizei, GLuint*) glGenBuffersARB;
243         GLboolean function(GLuint) glIsBufferARB;
244         void function(GLenum, GLsizeiptrARB, in GLvoid*, GLenum) glBufferDataARB;
245         void function(GLenum, GLintptrARB, GLsizeiptrARB, in GLvoid*) glBufferSubDataARB;
246         void function(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid*) glGetBufferSubDataARB;
247         GLvoid* function(GLenum, GLenum) glMapBufferARB;
248         GLboolean function(GLenum) glUnmapBufferARB;
249         void function(GLenum, GLenum, GLint*) glGetBufferParameterivARB;
250         void function(GLenum, GLenum, GLvoid*) glGetBufferPointervARB;
251 
252         // GL_ARB_occlusion_query
253         void function(GLsizei, GLuint*) glGenQueriesARB;
254         void function(GLsizei, in GLuint*) glDeleteQueriesARB;
255         GLboolean function(GLuint) glIsQueryARB;
256         void function(GLenum, GLuint) glBeginQueryARB;
257         void function(GLenum) glEndQueryARB;
258         void function(GLenum, GLenum, GLint*) glGetQueryivARB;
259         void function(GLuint, GLenum, GLint*) glGetQueryObjectivARB;
260         void function(GLuint, GLenum, GLuint*) glGetQueryObjectuivARB;
261 
262         // GL_ARB_shader_objects
263         void function(GLhandleARB) glDeleteObjectARB;
264         GLhandleARB function(GLenum) glGetHandleARB;
265         void function(GLhandleARB, GLhandleARB) glDetachObjectARB;
266         GLhandleARB function(GLenum) glCreateShaderObjectARB;
267         void function(GLhandleARB, GLsizei, in GLcharARB**, in GLint*) glShaderSourceARB;
268         void function(GLhandleARB) glCompileShaderARB;
269         GLhandleARB function() glCreateProgramObjectARB;
270         void function(GLhandleARB, GLhandleARB) glAttachObjectARB;
271         void function(GLhandleARB) glLinkProgramARB;
272         void function(GLhandleARB) glUseProgramObjectARB;
273         void function(GLhandleARB) glValidateProgramARB;
274         void function(GLint, GLfloat) glUniform1fARB;
275         void function(GLint, GLfloat, GLfloat) glUniform2fARB;
276         void function(GLint, GLfloat, GLfloat, GLfloat) glUniform3fARB;
277         void function(GLint, GLfloat, GLfloat, GLfloat, GLfloat) glUniform4fARB;
278         void function(GLint, GLint) glUniform1iARB;
279         void function(GLint, GLint, GLint) glUniform2iARB;
280         void function(GLint, GLint, GLint, GLint) glUniform3iARB;
281         void function(GLint, GLint, GLint, GLint, GLint) glUniform4iARB;
282         void function(GLint, GLsizei, in GLfloat*) glUniform1fvARB;
283         void function(GLint, GLsizei, in GLfloat*) glUniform2fvARB;
284         void function(GLint, GLsizei, in GLfloat*) glUniform3fvARB;
285         void function(GLint, GLsizei, in GLfloat*) glUniform4fvARB;
286         void function(GLint, GLsizei, in GLint*) glUniform1ivARB;
287         void function(GLint, GLsizei, in GLint*) glUniform2ivARB;
288         void function(GLint, GLsizei, in GLint*) glUniform3ivARB;
289         void function(GLint, GLsizei, in GLint*) glUniform4ivARB;
290         void function(GLint, GLsizei, GLboolean, in GLfloat*) glUniformMatrix2fvARB;
291         void function(GLint, GLsizei, GLboolean, in GLfloat*) glUniformMatrix3fvARB;
292         void function(GLint, GLsizei, GLboolean, in GLfloat*) glUniformMatrix4fvARB;
293         void function(GLhandleARB, GLenum, GLfloat*) glGetObjectParameterfvARB;
294         void function(GLhandleARB, GLenum, GLint*) glGetObjectParameterivARB;
295         void function(GLhandleARB, GLsizei, GLsizei*, GLcharARB*) glGetInfoLogARB;
296         void function(GLhandleARB, GLsizei, GLsizei*, GLhandleARB*) glGetAttachedObjectsARB;
297         GLint function(GLhandleARB, in GLcharARB*) glGetUniformLocationARB;
298         void function(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*) glGetActiveUniformARB;
299         void function(GLhandleARB, GLint, GLfloat*) glGetUniformfvARB;
300         void function(GLhandleARB, GLint, GLint*) glGetUniformivARB;
301         void function(GLhandleARB, GLsizei, GLsizei*, GLcharARB*) glGetShaderSourceARB;
302 
303         // GL_ARB_vertex_shader
304         void function(GLhandleARB, GLuint, in GLcharARB*) glBindAttribLocationARB;
305         void function(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*) glGetActiveAttribARB;
306         GLint function(GLhandleARB, in GLcharARB* name) glGetAttribLocationARB;
307 
308         // GL_ARB_draw_buffers
309         void function(GLsizei, in GLenum*) glDrawBuffersARB;
310 
311         // GL_ARB_color_buffer_float
312         void function(GLenum, GLenum) glClampColorARB;
313 
314         // GL_ARB_draw_instanced
315         void function(GLenum, GLint, GLsizei, GLsizei) glDrawArraysInstancedARB;
316         void function(GLenum, GLsizei, GLenum, in void*, GLsizei) glDrawElementsInstancedARB;
317 
318         // GL_ARB_framebuffer_object
319         GLboolean function(GLuint) glIsRenderbuffer;
320         void function(GLenum, GLuint) glBindRenderbuffer;
321         void function(GLsizei, in GLuint*) glDeleteRenderbuffers;
322         void function(GLsizei, GLuint*) glGenRenderbuffers;
323         void function(GLenum, GLenum, GLsizei, GLsizei) glRenderbufferStorage;
324         void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei) glRenderbufferStorageMultisample;
325         void function(GLenum, GLenum, GLint*) glGetRenderbufferParameteriv;
326         GLboolean function(GLuint) glIsFramebuffer;
327         void function(GLenum, GLuint) glBindFramebuffer;
328         void function(GLsizei, in GLuint*) glDeleteFramebuffers;
329         void function(GLsizei, GLuint*) glGenFramebuffers;
330         GLenum function(GLenum) glCheckFramebufferStatus;
331         void function(GLenum, GLenum, GLenum, GLuint, GLint) glFramebufferTexture1D;
332         void function(GLenum, GLenum, GLenum, GLuint, GLint) glFramebufferTexture2D;
333         void function(GLenum, GLenum, GLenum, GLuint, GLint, GLint) glFramebufferTexture3D;
334         void function(GLenum, GLenum, GLuint, GLint, GLint) glFramebufferTextureLayer;
335         void function(GLenum, GLenum, GLenum, GLuint) glFramebufferRenderbuffer;
336         void function(GLenum, GLenum, GLenum, GLint*) glGetFramebufferAttachmentParameteriv;
337         void function(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) glBlitFramebuffer;
338         void function(GLenum) glGenerateMipmap;
339 
340         // GL_ARB_geometry_shader4
341         void function(GLuint, GLenum, GLint) glProgramParameteriARB;
342         void function(GLenum, GLenum, GLuint, GLint) glFramebufferTextureARB;
343         void function(GLenum, GLenum, GLuint, GLint, GLint) glFramebufferTextureLayerARB;
344         void function(GLenum, GLenum, GLuint, GLint, GLenum) glFramebufferTextureFaceARB;
345 
346         // GL_ARB_imaging
347         void function(GLenum, GLenum, GLsizei, GLenum, GLenum, in void*) glColorTable;
348         void function(GLenum, GLsizei, GLsizei, GLenum, GLenum, in void*) glColorSubTable;
349         void function(GLenum, GLenum, in GLint*) glColorTableParameteriv;
350         void function(GLenum, GLenum, in GLfloat*) glColorTableParameterfv;
351         void function(GLenum, GLsizei, GLint, GLint, GLsizei) glCopyColorSubTable;
352         void function(GLenum, GLenum, GLint, GLint, GLsizei) glCopyColorTable;
353         void function(GLenum, GLenum, GLenum, void*) glGetColorTable;
354         void function(GLenum, GLenum, GLfloat*) glGetColorTableParameterfv;
355         void function(GLenum, GLenum, GLint*) glGetColorTableParameteriv;
356         void function(GLenum, GLsizei, GLenum, GLboolean) glHistogram;
357         void function(GLenum) glResetHistogram;
358         void function(GLenum, GLboolean, GLenum, GLenum, void*) glGetHistogram;
359         void function(GLenum, GLenum, GLfloat*) glGetHistogramParameterfv;
360         void function(GLenum, GLenum, GLint*) glGetHistogramParameteriv;
361         void function(GLenum, GLenum, GLboolean) glMinmax;
362         void function(GLenum) glResetMinmax;
363         void function(GLenum, GLboolean, GLenum, GLenum, void*) glGetMinmax;
364         void function(GLenum, GLenum, GLfloat*) glGetMinmaxParameterfv;
365         void function(GLenum, GLenum, GLint*) glGetMinmaxParameteriv;
366         void function(GLenum, GLenum, GLsizei, GLenum, GLenum, in void*) glConvolutionFilter1D;
367         void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, in void*) glConvolutionFilter2D;
368         void function(GLenum, GLenum, GLfloat) glConvolutionParameterf;
369         void function(GLenum, GLenum, in GLfloat*) glConvolutionParameterfv;
370         void function(GLenum, GLenum, GLint) glConvolutionParameteri;
371         void function(GLenum, GLenum, in GLint*) glConvolutionParameteriv;
372         void function(GLenum, GLenum, GLint, GLint, GLsizei) glCopyConvolutionFilter1D;
373         void function(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei) glCopyConvolutionFilter2D;
374         void function(GLenum, GLenum, GLenum, void*) glGetConvolutionFilter;
375         void function(GLenum, GLenum, GLfloat*) glGetConvolutionParameterfv;
376         void function(GLenum, GLenum, GLint*) glGetConvolutionParameteriv;
377         void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, in void*, in void*) glSeparableFilter2D;
378         void function(GLenum, GLenum, GLenum, void*, void*, void*) glGetSeparableFilter;
379 
380         // GL_ARB_instanced_arrays
381         void function(GLuint, GLuint) glVertexAttribDivisorARB;
382 
383         // GL_ARB_map_buffer_range
384         void* function(GLenum, GLintptr, GLsizeiptr, GLbitfield) glMapBufferRange;
385         void function(GLenum, GLintptr, GLsizeiptr) glFlushMappedBufferRange;
386 
387         // GL_ARB_texture_buffer_object
388         void function(GLenum, GLenum, GLuint) glTexBufferARB;
389 
390         // GL_ARB_vertex_array_object
391         void function(GLuint) glBindVertexArray;
392         void function(GLsizei, in GLuint*) glDeleteVertexArrays;
393         void function(GLsizei, GLuint*) glGenVertexArrays;
394         GLboolean function(GLuint) glIsVertexArray;
395 
396         // GL_ARB_uniform_buffer_object
397         void function(GLuint, GLsizei, in char**, GLuint*) glGetUniformIndices;
398         void function(GLuint, GLsizei, in GLuint*, GLenum, GLint*) glGetActiveUniformsiv;
399         void function(GLuint, GLuint, GLsizei, GLsizei*, char*) glGetActiveUniformName;
400         GLuint function(GLuint, in char*) glGetUniformBlockIndex;
401         void function(GLuint, GLuint, GLenum, int*) glGetActiveUniformBlockiv;
402         void function(GLuint, GLuint, GLsizei, GLsizei*, char*) glGetActiveUniformBlockName;
403         void function(GLuint, GLuint, GLuint) glUniformBlockBinding;
404 
405         // GL_ARB_vertex_attrib_64bit
406         void function(GLuint, GLenum, GLdouble*) glGetVertexAttribLdv;
407         void function(GLuint, GLdouble) glVertexAttribL1d;
408         void function(GLuint, in GLdouble*) glVertexAttribL1dv;
409         void function(GLuint, GLdouble, GLdouble) glVertexAttribL2d;
410         void function(GLuint, in GLdouble*) glVertexAttribL2dv;
411         void function(GLuint, GLdouble, GLdouble, GLdouble) glVertexAttribL3d;
412         void function(GLuint, in GLdouble*) glVertexAttribL3dv;
413         void function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glVertexAttribL4d;
414         void function(GLuint, in GLdouble*) glVertexAttribL4dv;
415         void function(GLuint, GLint, GLenum, GLsizei, in void*) glVertexAttribLPointer;
416 
417         // GL_ARB_viewport_array
418         void function(GLuint, GLsizei, in GLclampd*) glDepthRangeArrayv;
419         void function(GLuint, GLclampd, GLclampd) glDepthRangeIndexed;
420         void function(GLenum, GLuint, GLdouble*) glGetDoublei_v;
421         void function(GLenum, GLuint, GLfloat*) glGetFloati_v;
422         void function(GLuint, GLsizei, in GLint*) glScissorArrayv;
423         void function(GLuint, GLint, GLint, GLsizei, GLsizei) glScissorArrayIndexed;
424         void function(GLuint, GLint*) glScissorArrayIndexedv;
425         void function(GLuint, GLsizei, in GLfloat*) glViewportArrayv;
426         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glViewportIndexedf;
427         void function(GLuint, in GLfloat*) glViewportIndexedfv;
428 
429         // GL_ARB_cl_event
430         void function(cl_context, cl_event, GLbitfield) glCreateSyncFromCLeventARB;
431 
432         // GL_ARB_debug_output
433         void function(GLDEBUGPROCARB, void*) glDebugMessageCallbackARB;
434         void function(GLenum, GLenum, GLenum, GLsizei, in GLuint*, GLboolean) glDebugMessageControlARB;
435         void function(GLenum, GLenum, GLuint, GLenum, GLsizei, in char*) glDebugMessageInsertARB;
436         GLuint function(GLuint, GLsizei, GLenum*, GLenum*, GLint*, GLenum*, GLsizei*, char*) glGetDebugMessageLogARB;
437 
438         // GL_ARB_robustness
439         void function(GLenum, GLenum, GLenum, GLsizei, void*) glGetnColorTableARB;
440         void function(GLenum, GLint, GLsizei, void*) glGetnCompressedTexImageARB;
441         void function(GLenum, GLenum, GLenum, GLsizei, void*) glGetnConvolutionFilterARB;
442         void function(GLenum, GLboolean, GLsizei, GLdouble*) glGetnHistogramARB;
443         void function(GLenum, GLenum, GLsizei, GLdouble*) glGetnMapdvARB;
444         void function(GLenum, GLenum, GLsizei, GLfloat*) glGetnMapfvARB;
445         void function(GLenum, GLenum, GLsizei, GLint*) glGetnMapivARB;
446         void function(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*) glGetnMinMaxARB;
447         void function(GLenum, GLsizei, GLfloat*) glGetnPixelMapfvARB;
448         void function(GLenum, GLsizei, GLuint*) glGetnPixelMapuivARB;
449         void function(GLenum, GLsizei, GLushort*) glGetnPixelMapusvARB;
450         void function(GLsizei, GLubyte*) glGetnPolygonStippleARB;
451         void function(GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, GLvoid*) glGetnSeparableFilterARB;
452         void function(GLenum, GLint, GLenum, GLenum, GLsizei, void*) glGetnTexImageARB;
453         void function(GLuint, GLint, GLsizei, GLdouble*) glGetnUniformdvARB;
454         void function(GLuint, GLint, GLsizei, GLfloat*) glGetnUniformfvARB;
455         void function(GLuint, GLint, GLsizei, GLint*) glGetnUniformivARB;
456         void function(GLuint, GLint, GLsizei, GLuint*) glGetUniformuivARB;
457         void function(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*) glReadnPixelsARB;
458     }
459 
460     version(DerelictGL_EXT)
461     {
462         // GL_EXT_blend_color
463         void function(GLclampf, GLclampf, GLclampf, GLclampf) glBlendColorEXT;
464 
465         // GL_EXT_polygon_offset
466         void function(GLfloat, GLfloat) glPolygonOffsetEXT;
467 
468         // GL_EXT_texture3D
469         void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid*) glTexImage3DEXT;
470         void function(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLvoid*) glTexSubImage3DEXT;
471 
472         // GL_EXT_subtexture
473         void function(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, in GLvoid*) glTexSubImage1DEXT;
474         void function(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glTexSubImage21DEXT;
475 
476         // GL_EXT_copy_texture
477         void function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) glCopyTexImage1DEXT;
478         void function(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)glCopyTexImage2DEXT;
479         void function(GLenum, GLint, GLint, GLint, GLint, GLsizei) glCopyTexSubImage1DEXT;
480         void function(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyTexSubImage2DEXT;
481         void function(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyTexSubImage3DEXT;
482 
483         // GL_EXT_histogram
484         void function(GLenum, GLboolean, GLenum, GLenum, GLvoid*) glGetHistogramEXT;
485         void function(GLenum, GLenum, GLfloat*) glGetHistogramParameterfvEXT;
486         void function(GLenum, GLenum, GLint*) glGetHistogramParameterivEXT;
487         void function(GLenum, GLboolean, GLenum, GLenum, GLvoid*) glGetMinmaxEXT;
488         void function(GLenum, GLenum, GLfloat*) glGetMinmaxParameterfvEXT;
489         void function(GLenum, GLsizei, GLenum, GLint*) glGetMinmaxParameterivEXT;
490         void function(GLenum, GLsizei, GLenum, GLboolean) glHistogramEXT;
491         void function(GLenum, GLenum, GLboolean) glMinmaxEXT;
492         void function(GLenum) glResetHistogramEXT;
493         void function(GLenum) glResetMinmaxEXT;
494 
495         // GL_EXT_convolution
496         void function(GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid*) glConvolutionFilter1DEXT;
497         void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid*) glConvolutionFilter2DEXT;
498         void function(GLenum, GLenum, GLfloat) glConvolutionParameterfEXT;
499         void function(GLenum, GLenum, GLfloat*) glConvolutionParameterfvEXT;
500         void function(GLenum, GLenum, GLint) glConvolutionParameteriEXT;
501         void function(GLenum, GLenum, GLint*) glConvolutionParameterivEXT;
502         void function(GLenum, GLenum, GLint, GLint, GLsizei) glCopyConvolutionFilter1DEXT;
503         void function(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei) glCopyConvolutionFilter2DEXT;
504         void function(GLenum, GLenum, GLenum, GLvoid*) glGetConvolutionFilterEXT;
505         void function(GLenum, GLenum, GLfloat*) glGetConvolutionParameterfvEXT;
506         void function(GLenum, GLenum, GLint*) glGetConvolutionParameterivEXT;
507         void function(GLenum, GLenum, GLenum, GLvoid*, GLvoid*, GLvoid*) glGetSeparableFilterEXT;
508         void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid*, GLvoid*) glSeparableFilter2DEXT;
509 
510         // GL_EXT_texture_object
511         GLboolean function(GLsizei, in GLuint*, GLboolean*) glAreTexturesResidentEXT;
512         void function(GLenum, GLuint) glBindTextureEXT;
513         void function(GLsizei, in GLuint*) glDeleteTexturesEXT;
514         void function(GLsizei, GLuint*) glGenTexturesEXT;
515         GLboolean function(GLuint) glIsTextureEXT;
516         void function(GLsizei, in GLuint*, in GLclampf*) glPrioritizeTexturesEXT;
517 
518         // GL_EXT_vertex_array
519         void function(GLint) glArrayElementEXT;
520         void function(GLint, GLenum, GLsizei, GLsizei, in GLvoid*) glColorPointerEXT;
521         void function(GLenum, GLint, GLsizei) glDrawArraysEXT;
522         void function(GLsizei, GLsizei, in GLboolean*) glEdgeFlagPointerEXT;
523         void function(GLenum, GLvoid**) glGetPointervEXT;
524         void function(GLenum, GLsizei, GLsizei, in GLvoid*) glIndexPointerEXT;
525         void function(GLenum, GLsizei, GLsizei, in GLvoid*) glNormalPointerEXT;
526         void function(GLint, GLenum, GLsizei, GLsizei, in GLvoid*) glTexCoordPointerEXT;
527         void function(GLint, GLenum, GLsizei, GLsizei, in GLvoid*) glVertexPointerEXT;
528 
529         // GL_EXT_blend_minmax
530         void function(GLenum) glBlendEquationEXT;
531 
532         // GL_EXT_point_parameters
533         void function(GLenum, GLfloat) glPointParameterfEXT;
534         void function(GLenum, in GLfloat*) glPointParameterfvEXT;
535 
536         // GL_EXT_color_subtable
537         void function(GLenum, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glColorSubTableEXT;
538         void function(GLenum, GLsizei, GLint, GLint, GLsizei) glCopyColorSubTableEXT;
539 
540         // GL_EXT_paletted_texture
541         void function(GLenum, GLenum, GLsizei, GLenum, GLenum, in GLvoid*) glColorTableEXT;
542         void function(GLenum, GLenum, GLenum, GLvoid*) glGetColorTableEXT;
543         void function(GLenum, GLenum, GLint*) glGetColorTableParameterivEXT;
544         void function(GLenum, GLenum, GLfloat*) glGetColorTableParameterfvEXT;
545 
546         //GL_EXT_index_material
547         void function(GLenum, GLenum) glIndexMaterialEXT;
548 
549         // GL_EXT_index_func
550         void function(GLenum, GLclampf) glIndexFuncEXT;
551 
552         // GL_EXT_compiled_vertex_array
553         void function(GLint, GLsizei) glLockArraysEXT;
554         void function() glUnlockArraysEXT;
555 
556         // GL_EXT_cull_vertex
557         void function(GLenum, GLdouble*) glCullParameterdvEXT;
558         void function(GLenum, GLfloat*) glCullParameterfvEXT;
559 
560         // GL_EXT_draw_range_elements
561         void function(GLenum, GLuint, GLuint, GLsizei, GLenum, in GLvoid*) glDrawRangeElementsEXT;
562 
563         // GL_EXT_light_texture
564         void function(GLenum) glApplyTextureEXT;
565         void function(GLenum) glTextureLightEXT;
566         void function(GLenum, GLenum) glTextureMaterialEXT;
567 
568         // GL_EXT_pixel_transform
569         void function(GLenum, GLenum, GLint) glPixelTransformParameteriEXT;
570         void function(GLenum, GLenum, GLfloat) glPixelTransformParameterfEXT;
571         void function(GLenum, GLenum, in GLint*) glPixelTransformParameterivEXT;
572         void function(GLenum, GLenum, in GLfloat*) glPixelTransformParameterfvEXT;
573 
574         // GL_EXT_secondary_color
575         void function(GLbyte, GLbyte, GLbyte) glSecondaryColor3bEXT;
576         void function(in GLbyte*) glSecondaryColor3bvEXT;
577         void function(GLdouble, GLdouble, GLdouble) glSecondaryColor3dEXT;
578         void function(in GLdouble*) glSecondaryColor3dvEXT;
579         void function(GLfloat, GLfloat, GLfloat) glSecondaryColor3fEXT;
580         void function(in GLfloat*) glSecondaryColor3fvEXT;
581         void function(GLint, GLint, GLint) glSecondaryColor3iEXT;
582         void function(in GLint*) glSecondaryColor3ivEXT;
583         void function(GLshort, GLshort, GLshort) glSecondaryColor3sEXT;
584         void function(in GLshort*) glSecondaryColor3svEXT;
585         void function(GLubyte, GLubyte, GLubyte) glSecondaryColor3ubEXT;
586         void function(in GLubyte*) glSecondaryColor3ubvEXT;
587         void function(GLuint, GLuint, GLuint) glSecondaryColor3uiEXT;
588         void function(in GLuint*) glSecondaryColor3uivEXT;
589         void function(GLushort, GLushort, GLushort) glSecondaryColor3usEXT;
590         void function(in GLushort*) glSecondaryColor3usvEXT;
591         void function(GLint, GLenum, GLsizei, in GLvoid*) glSecondaryColorPointerEXT;
592 
593         // GL_EXT_texture_perturb_normal
594         void function(GLenum) glTextureNormalEXT;
595 
596         // GL_EXT_multi_draw_arrays
597         void function(GLenum, GLint*, GLsizei*, GLsizei) glMultiDrawArraysEXT;
598         void function(GLenum, in GLsizei*, GLenum, in GLvoid**, GLsizei) glMultiDrawElementsEXT;
599 
600         // GL_EXT_fog_coord
601         void function(GLfloat) glFogCoordfEXT;
602         void function(in GLfloat*) glFogCoordfvEXT;
603         void function(GLdouble) glFogCoorddEXT;
604         void function(in GLdouble*) glFogCoorddvEXT;
605         void function(GLenum, GLsizei, in GLvoid*) glFogCoordPointerEXT;
606 
607         // GL_EXT_coordinate_frame
608         void function(GLbyte, GLbyte, GLbyte) glTangent3bEXT;
609         void function(in GLbyte*) glTangent3bvEXT;
610         void function(GLdouble, GLdouble, GLdouble) glTangent3dEXT;
611         void function(in GLdouble*) glTangent3dvEXT;
612         void function(GLfloat, GLfloat, GLfloat) glTangent3fEXT;
613         void function(in GLfloat*) glTangent3fvEXT;
614         void function(GLint, GLint, GLint) glTangent3iEXT;
615         void function(in GLint*) glTangent3ivEXT;
616         void function(GLshort, GLshort, GLshort) glTangent3sEXT;
617         void function(in GLshort*) glTangent3svEXT;
618         void function(GLbyte, GLbyte, GLbyte) glBinormal3bEXT;
619         void function(in GLbyte*) glBinormal3bvEXT;
620         void function(GLdouble, GLdouble, GLdouble) glBinormal3dEXT;
621         void function(in GLdouble*) glBinormal3dvEXT;
622         void function(GLfloat, GLfloat, GLfloat) glBinormal3fEXT;
623         void function(in GLfloat*) glBinormal3fvEXT;
624         void function(GLint, GLint, GLint) glBinormal3iEXT;
625         void function(in GLint*) glBinormal3ivEXT;
626         void function(GLshort, GLshort, GLshort) glBinormal3sEXT;
627         void function(in GLshort*) glBinormal3svEXT;
628         void function(GLenum, GLsizei, in GLvoid*) glTangentPointerEXT;
629         void function(GLenum, GLsizei, in GLvoid*) glBinormalPointerEXT;
630 
631         // GL_EXT_blend_func_separate
632         void function(GLenum, GLenum, GLenum, GLenum) glBlendFuncSeparateEXT;
633 
634         // GL_EXT_vertex_weighting
635         void function(GLfloat) glVertexWeightfEXT;
636         void function(in GLfloat*) glVertexWeightfvEXT;
637         void function(GLsizei, GLenum, GLsizei, in GLvoid*) glVertexWeightPointerEXT;
638 
639         // GL_EXT_multisample
640         void function(GLclampf, GLboolean) glSampleMaskEXT;
641         void function(GLenum) glSamplePatternEXT;
642 
643         // GL_EXT_vertex_shader
644         void function() glBeginVertexShaderEXT;
645         void function() glEndVertexShaderEXT;
646         void function(GLuint) glBindVertexShaderEXT;
647         GLuint function(GLuint) glGenVertexShadersEXT;
648         void function(GLuint) glDeleteVertexShaderEXT;
649         void function(GLenum, GLuint, GLuint) glShaderOp1EXT;
650         void function(GLenum, GLuint, GLuint, GLuint) glShaderOp2EXT;
651         void function(GLenum, GLuint, GLuint, GLuint, GLuint) glShaderOp3EXT;
652         void function(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum) glSwizzleEXT;
653         void function(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum) glWriteMaskEXT;
654         void function(GLuint, GLuint, GLuint) glInsertComponentEXT;
655         void function(GLuint, GLuint, GLuint) glExtractComponentEXT;
656         GLuint function(GLenum, GLenum, GLenum, GLuint) glGenSymbolsEXT;
657         void function(GLuint, GLenum, in GLvoid*) glSetInvariantEXT;
658         void function(GLuint, GLenum, in GLvoid*) glSetLocalConstantEXT;
659         void function(GLuint, in GLbyte*) glVariantbvEXT;
660         void function(GLuint, in GLshort*) glVariantsvEXT;
661         void function(GLuint, in GLint*) glVariantivEXT;
662         void function(GLuint, in GLfloat*) glVariantfvEXT;
663         void function(GLuint, in GLdouble*) glVariantdvEXT;
664         void function(GLuint, in GLubyte*) glVariantubvEXT;
665         void function(GLuint, in GLushort*) glVariantusvEXT;
666         void function(GLuint, in GLuint*) glVariantuivEXT;
667         void function(GLuint, GLenum, GLuint, in GLvoid*) glVariantPointerEXT;
668         void function(GLuint) glEnableVariantClientStateEXT;
669         void function(GLuint) glDisableVariantClientStateEXT;
670         GLuint function(GLenum, GLenum) glBindLightParameterEXT;
671         GLuint function(GLenum, GLenum) glBindMaterialParameterEXT;
672         GLuint function(GLenum, GLenum, GLenum) glBindTexGenParameterEXT;
673         GLuint function(GLenum, GLenum) glBindTextureUnitParameterEXT;
674         GLuint function(GLenum) glBindParameterEXT;
675         GLboolean function(GLuint, GLenum) glIsVariantEnabledEXT;
676         void function(GLuint, GLenum, GLboolean*) glGetVariantBooleanvEXT;
677         void function(GLuint, GLenum, GLint*) glGetVariantIntegervEXT;
678         void function(GLuint, GLenum, GLfloat*) glGetVariantFloatvEXT;
679         void function(GLuint, GLenum, GLvoid**) glGetVariantPointervEXT;
680         void function(GLuint, GLenum, GLboolean*) glGetInvariantBooleanvEXT;
681         void function(GLuint, GLenum, GLint*) glGetInvariantIntegervEXT;
682         void function(GLuint, GLenum, GLfloat*) glGetInvariantFloatvEXT;
683         void function(GLuint, GLenum, GLboolean*) glGetLocalConstantBooleanvEXT;
684         void function(GLuint, GLenum, GLint*) glGetLocalConstantIntegervEXT;
685         void function(GLuint, GLenum, GLfloat*) glGetLocalConstantFloatvEXT;
686 
687         // GL_EXT_stencil_two_side
688         void function(GLenum) glActiveStencilFaceEXT;
689 
690         // GL_EXT_depth_bounds_test
691         void function(GLclampd, GLclampd) glDepthBoundsEXT;
692 
693         // GL_EXT_blend_equation_separate
694         void function(GLenum, GLenum) glBlendEquationSeparateEXT;
695 
696         // GL_EXT_framebuffer_object
697         GLboolean function(GLuint) glIsRenderbufferEXT;
698         void function(GLenum, GLuint) glBindRenderbufferEXT;
699         void function(GLsizei, in GLuint*) glDeleteRenderbuffersEXT;
700         void function(GLsizei, GLuint*) glGenRenderbuffersEXT;
701         void function(GLenum, GLenum, GLsizei, GLsizei) glRenderbufferStorageEXT;
702         void function(GLenum, GLenum, GLint*) glGetRenderbufferParameterivEXT;
703         GLboolean function(GLuint) glIsFramebufferEXT;
704         void function(GLenum, GLuint) glBindFramebufferEXT;
705         void function(GLsizei, in GLuint*) glDeleteFramebuffersEXT;
706         void function(GLsizei, GLuint*) glGenFramebuffersEXT;
707         GLenum function(GLenum) glCheckFramebufferStatusEXT;
708         void function(GLenum, GLenum, GLenum, GLuint, GLint) glFramebufferTexture1DEXT;
709         void function(GLenum, GLenum, GLenum, GLuint, GLint) glFramebufferTexture2DEXT;
710         void function(GLenum, GLenum, GLenum, GLuint, GLint, GLint) glFramebufferTexture3DEXT;
711         void function(GLenum, GLenum, GLenum, GLuint) glFramebufferRenderbufferEXT;
712         void function(GLenum, GLenum, GLenum, GLint*) glGetFramebufferAttachmentParameterivEXT;
713         void function(GLenum) glGenerateMipmapEXT;
714 
715         // GL_EXT_stencil_clear_tag
716         void function(GLsizei, GLuint) glStencilClearTagEXT;
717 
718         // GL_EXT_framebuffer_blit
719         void function(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) glBlitFramebufferEXT;
720 
721         // GL_EXT_framebuffer_multisample
722         void function(GLenum, GLsizei, GLenum, GLsizei, GLsizei) glRenderbufferStorageMultisampleEXT;
723 
724         // GL_EXT_timer_query
725         void function(GLuint, GLenum, GLint64EXT*) glGetQueryObjecti64vEXT;
726         void function(GLuint, GLenum, GLuint64EXT*) glGetQueryObjectui64vEXT;
727 
728         // GL_EXT_gpu_program_parameters
729         void function(GLenum, GLuint, GLsizei, in GLfloat*) glProgramEnvParameters4fvEXT;
730         void function(GLenum, GLuint, GLsizei, in GLfloat*) glProgramLocalParameters4fvEXT;
731 
732         // GL_EXT_geometry_shader4
733         void function(GLuint, GLenum, GLint) glProgramParameteriEXT;
734 
735         // GL_EXT_gpu_shader4
736         void function(GLuint, GLint, GLuint*) glGetUniformuivEXT;
737         void function(GLuint, GLuint, in GLchar*) glBindFragDataLocationEXT;
738         GLint function(GLuint, in GLchar*) glGetFragDataLocationEXT;
739         void function(GLint, GLuint) glUniform1uiEXT;
740         void function(GLint, GLuint, GLuint) glUniform2uiEXT;
741         void function(GLint, GLuint, GLuint, GLuint) glUniform3uiEXT;
742         void function(GLint, GLuint, GLuint, GLuint, GLuint) glUniform4uiEXT;
743         void function(GLint, GLsizei, in GLuint*) glUniform1uivEXT;
744         void function(GLint, GLsizei, in GLuint*) glUniform2uivEXT;
745         void function(GLint, GLsizei, in GLuint*) glUniform3uivEXT;
746         void function(GLint, GLsizei, in GLuint*) glUniform4uivEXT;
747 
748         // GL_EXT_draw_instanced
749         void function(GLenum, GLint, GLsizei, GLsizei) glDrawArraysInstancedEXT;
750         void function(GLenum, GLsizei, GLenum, in GLvoid*, GLsizei) glDrawElementsInstancedEXT;
751 
752         // GL_EXT_texture_buffer_object
753         void function(GLenum, GLenum, GLuint) glTexBufferEXT;
754 
755         // GL_EXT_draw_buffers2
756         void function(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) glColorMaskIndexedEXT;
757         void function(GLenum, GLuint, GLboolean*) glGetBooleanIndexedvEXT;
758         void function(GLenum, GLuint, GLint*) glGetIntegerIndexedvEXT;
759         void function(GLenum, GLuint) glEnableIndexedEXT;
760         void function(GLenum, GLuint) glDisableIndexedEXT;
761         GLboolean function(GLenum, GLuint) glIsEnabledIndexedEXT;
762 
763         // GL_EXT_bindable_uniform
764         void function(GLuint, GLint, GLuint) glUniformBufferEXT;
765         void function(GLuint, GLint) glGetUniformBufferSizeEXT;
766         void function(GLuint, GLint) glGetUniformOffsetEXT;
767 
768         // GL_EXT_texture_integer
769         void function(GLenum, GLenum, in GLint*) glTexParameterIivEXT;
770         void function(GLenum, GLenum, in GLuint*) glTexParameterIuivEXT;
771         void function(GLenum, GLenum, GLint*) glGetTexParameterIivEXT;
772         void function(GLenum, GLenum, GLuint*) glGetTexParameterIuivEXT;
773         void function(GLint, GLint, GLint, GLint) glClearColorIiEXT;
774         void function(GLuint, GLuint, GLuint, GLuint) glClearColorIuiEXT;
775 
776         // GL_EXT_transform_feedback
777         void function(GLenum) glBeginTransformFeedbackEXT;
778         void function() glEndTransformFeedbackEXT;
779         void function(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) glBindBufferRangeEXT;
780         void function(GLenum, GLuint, GLuint, GLintptr) glBindBufferOffsetEXT;
781         void function(GLenum, GLuint, GLuint) glBindBufferBaseEXT;
782         void function(GLuint, GLsizei, in GLchar**, GLenum) glTransformFeedbackVaryingsEXT;
783         void function(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*) glGetTransformFeedbackVaryingEXT;
784 
785         // GL_EXT_direct_state_access
786         void function(GLbitfield) glClientAttribDefaultEXT;
787         void function(GLbitfield) glPushClientAttribDefaultEXT;
788         void function(GLenum, in GLfloat*) glMatrixLoadfEXT;
789         void function(GLenum, in GLdouble*) glMatrixLoaddEXT;
790         void function(GLenum, in GLfloat*) glMatrixMultfEXT;
791         void function(GLenum, in GLdouble*) glMatrixMultdEXT;
792         void function(GLenum) glMatrixLoadIdentityEXT;
793         void function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) glMatrixRotatefEXT;
794         void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) glMatrixRotatedEXT;
795         void function(GLenum, GLfloat, GLfloat, GLfloat) glMatrixScalefEXT;
796         void function(GLenum, GLdouble, GLdouble, GLdouble) glMatrixScaledEXT;
797         void function(GLenum, GLfloat, GLfloat, GLfloat) glMatrixTranslatefEXT;
798         void function(GLenum, GLdouble, GLdouble, GLdouble) glMatrixTranslatedEXT;
799         void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) glMatrixFrustumEXT;
800         void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) glMatrixOrthoEXT;
801         void function(GLenum) glMatrixPopEXT;
802         void function(GLenum) glMatrixPushEXT;
803         void function(GLenum, in GLfloat*) glMatrixLoadTransposefEXT;
804         void function(GLenum, in GLdouble*) glMatrixLoadTransposedEXT;
805         void function(GLenum, in GLfloat*) glMatrixMultTransposefEXT;
806         void function(GLenum, in GLdouble*) glMatrixMultTransposedEXT;
807         void function(GLuint, GLenum, GLenum, GLfloat) glTextureParameterfEXT;
808         void function(GLuint, GLenum, GLenum, in GLfloat*) glTextureParameterfvEXT;
809         void function(GLuint, GLenum, GLenum, GLint) glTextureParameteriEXT;
810         void function(GLuint, GLenum, GLenum, in GLint*) glTextureParameterivEXT;
811         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glTextureImage1DEXT;
812         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glTextureImage2DEXT;
813         void function(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, in GLvoid*) glTextureSubImage1DEXT;
814         void function(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glTextureSubImage2DEXT;
815         void function(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) glCopyTextureImage1DEXT;
816         void function(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) glCopyTextureImage2DEXT;
817         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei) glCopyTextureSubImage1DEXT;
818         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyTextureSubImage2DEXT;
819         void function(GLuint, GLenum, GLint, GLenum, GLenum, GLvoid*) glGetTextureImageEXT;
820         void function(GLuint, GLenum, GLenum, GLfloat*) glGetTextureParameterfvEXT;
821         void function(GLuint, GLenum, GLenum, GLint*) glGetTextureParameterivEXT;
822         void function(GLuint, GLenum, GLint, GLenum, GLfloat*) glGetTextureLevelParameterfvEXT;
823         void function(GLuint, GLenum, GLint, GLenum, GLint*) glGetTextureLevelParameterivEXT;
824         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glTextureImage3DEXT;
825         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glTextureSubImage3DEXT;
826         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyTextureSubImage3DEXT;
827         void function(GLenum, GLenum, GLenum, GLfloat) glMultiTexParameterfEXT;
828         void function(GLenum, GLenum, GLenum, in GLfloat*) glMultiTexParameterfvEXT;
829         void function(GLenum, GLenum, GLenum, GLint) glMultiTexParameteriEXT;
830         void function(GLenum, GLenum, GLenum, in GLint*) glMultiTexParameterivEXT;
831         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glMultiTexImage1DEXT;
832         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glMultiTexImage2DEXT;
833         void function(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, in GLvoid*) glMultiTexSubImage1DEXT;
834         void function(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glMultiTexSubImage2DEXT;
835         void function(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) glCopyMultiTexImage1DEXT;
836         void function(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) glCopyMultiTexImage2DEXT;
837         void function(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei) glCopyMultiTexSubImage1DEXT;
838         void function(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyMultiTexSubImage2DEXT;
839         void function(GLenum, GLenum, GLint, GLenum, GLenum, GLvoid*) glGetMultiTexImageEXT;
840         void function(GLenum, GLenum, GLenum, GLfloat*) glGetMultiTexParameterfvEXT;
841         void function(GLenum, GLenum, GLenum, GLint*) glGetMultiTexParameterivEXT;
842         void function(GLenum, GLenum, GLint, GLenum, GLfloat*) glGetMultiTexLevelParameterfvEXT;
843         void function(GLenum, GLenum, GLint, GLenum, GLint*) glGetMultiTexLevelParameterivEXT;
844         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glMultiTexImage3DEXT;
845         void function(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glMultiTexSubImage3DEXT;
846         void function(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) glCopyMultiTexSubImage3DEXT;
847         void function(GLenum, GLenum, GLuint) glBindMultiTextureEXT;
848         void function(GLenum, GLuint) glEnableClientStateIndexedEXT;
849         void function(GLenum, GLuint) glDisableClientStateIndexedEXT;
850         void function(GLenum, GLint, GLenum, GLsizei, in GLvoid*) glMultiTexCoordPointerEXT;
851         void function(GLenum, GLenum, GLenum, GLfloat) glMultiTexEnvfEXT;
852         void function(GLenum, GLenum, GLenum, in GLfloat*) glMultiTexEnvfvEXT;
853         void function(GLenum, GLenum, GLenum, GLint) glMultiTexEnviEXT;
854         void function(GLenum, GLenum, GLenum, in GLint*) glMultiTexEnvivEXT;
855         void function(GLenum, GLenum, GLenum, GLdouble) glMultiTexGendEXT;
856         void function(GLenum, GLenum, GLenum, in GLdouble*) glMultiTexGendvEXT;
857         void function(GLenum, GLenum, GLenum, GLfloat) glMultiTexGenfEXT;
858         void function(GLenum, GLenum, GLenum, in GLfloat*) glMultiTexGenfvEXT;
859         void function(GLenum, GLenum, GLenum, GLint) glMultiTexGeniEXT;
860         void function(GLenum, GLenum, GLenum, in GLint*) glMultiTexGenivEXT;
861         void function(GLenum, GLenum, GLenum, GLfloat*) glGetMultiTexEnvfvEXT;
862         void function(GLenum, GLenum, GLenum, GLint*) glGetMultiTexEnvivEXT;
863         void function(GLenum, GLenum, GLenum, GLdouble*) glGetMultiTexGendvEXT;
864         void function(GLenum, GLenum, GLenum, GLfloat*) glGetMultiTexGenfvEXT;
865         void function(GLenum, GLenum, GLenum, GLint*) glGetMultiTexGenivEXT;
866         void function(GLenum, GLuint, GLfloat*) glGetFloatIndexedvEXT;
867         void function(GLenum, GLuint, GLdouble*) glGetDoubleIndexedvEXT;
868         void function(GLenum, GLuint, GLvoid**) glGetPointerIndexedvEXT;
869         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTextureImage3DEXT;
870         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTextureImage2DEXT;
871         void function(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedTextureImage1DEXT;
872         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTextureSubImage3DEXT;
873         void function(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTextureSubImage2DEXT;
874         void function(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedTextureSubImage1DEXT;
875         void function(GLuint, GLenum, GLint, GLvoid*) glGetCompressedTextureImageEXT;
876         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedMultiTexImage3DEXT;
877         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedMultiTexImage2DEXT;
878         void function(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, in GLvoid*) glCompressedMultiTexImage1DEXT;
879         void function(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedMultiTexSubImage3DEXT;
880         void function(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedMultiTexSubImage2DEXT;
881         void function(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, in GLvoid*) glCompressedMultiTexSubImage1DEXT;
882         void function(GLenum, GLenum, GLint, GLvoid*) glGetCompressedMultiTexImageEXT;
883         void function(GLuint, GLenum, GLenum, GLsizei, in GLvoid*) glNamedProgramStringEXT;
884         void function(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glNamedProgramLocalParameter4dEXT;
885         void function(GLuint, GLenum, GLuint, in GLdouble*) glNamedProgramLocalParameter4dvEXT;
886         void function(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glNamedProgramLocalParameter4fEXT;
887         void function(GLuint, GLenum, GLuint, in GLfloat*) glNamedProgramLocalParameter4fvEXT;
888         void function(GLuint, GLenum, GLuint, GLdouble*) glGetNamedProgramLocalParameterdvEXT;
889         void function(GLuint, GLenum, GLuint, GLfloat*) glGetNamedProgramLocalParameterfvEXT;
890         void function(GLuint, GLenum, GLenum, GLint*) glGetNamedProgramivEXT;
891         void function(GLuint, GLenum, GLenum, GLvoid*) glGetNamedProgramStringEXT;
892         void function(GLuint, GLenum, GLuint, GLsizei, in GLfloat*) glNamedProgramLocalParameters4fvEXT;
893         void function(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint) glNamedProgramLocalParameterI4iEXT;
894         void function(GLuint, GLenum, GLuint, in GLint*) glNamedProgramLocalParameterI4ivEXT;
895         void function(GLuint, GLenum, GLuint, GLsizei, in GLint*) glNamedProgramLocalParametersI4ivEXT;
896         void function(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) glNamedProgramLocalParameterI4uiEXT;
897         void function(GLuint, GLenum, GLuint, in GLuint*) glNamedProgramLocalParameterI4uivEXT;
898         void function(GLuint, GLenum, GLuint, GLsizei, in GLuint*) glNamedProgramLocalParametersI4uivEXT;
899         void function(GLuint, GLenum, GLuint, GLint*) glGetNamedProgramLocalParameterIivEXT;
900         void function(GLuint, GLenum, GLuint, GLuint*) glGetNamedProgramLocalParameterIuivEXT;
901         void function(GLuint, GLenum, GLenum, in GLint*) glTextureParameterIivEXT;
902         void function(GLuint, GLenum, GLenum, in GLuint*) glTextureParameterIuivEXT;
903         void function(GLuint, GLenum, GLenum, GLint*) glGetTextureParameterIivEXT;
904         void function(GLuint, GLenum, GLenum, GLuint*) glGetTextureParameterIuivEXT;
905         void function(GLenum, GLenum, GLenum, in GLint*) glMultiTexParameterIivEXT;
906         void function(GLenum, GLenum, GLenum, in GLuint*) glMultiTexParameterIuivEXT;
907         void function(GLenum, GLenum, GLenum, GLint*) glGetMultiTexParameterIivEXT;
908         void function(GLenum, GLenum, GLenum, GLuint*) glGetMultiTexParameterIuivEXT;
909         void function(GLuint, GLint, GLfloat) glProgramUniform1fEXT;
910         void function(GLuint, GLint, GLfloat, GLfloat) glProgramUniform2fEXT;
911         void function(GLuint, GLint, GLfloat, GLfloat, GLfloat) glProgramUniform3fEXT;
912         void function(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) glProgramUniform4fEXT;
913         void function(GLuint, GLint, GLint) glProgramUniform1iEXT;
914         void function(GLuint, GLint, GLint, GLint) glProgramUniform2iEXT;
915         void function(GLuint, GLint, GLint, GLint, GLint) glProgramUniform3iEXT;
916         void function(GLuint, GLint, GLint, GLint, GLint, GLint) glProgramUniform4iEXT;
917         void function(GLuint, GLint, GLsizei, in GLfloat*) glProgramUniform1fvEXT;
918         void function(GLuint, GLint, GLsizei, in GLfloat*) glProgramUniform2fvEXT;
919         void function(GLuint, GLint, GLsizei, in GLfloat*) glProgramUniform3fvEXT;
920         void function(GLuint, GLint, GLsizei, in GLfloat*) glProgramUniform4fvEXT;
921         void function(GLuint, GLint, GLsizei, in GLint*) glProgramUniform1ivEXT;
922         void function(GLuint, GLint, GLsizei, in GLint*) glProgramUniform2ivEXT;
923         void function(GLuint, GLint, GLsizei, in GLint*) glProgramUniform3ivEXT;
924         void function(GLuint, GLint, GLsizei, in GLint*) glProgramUniform4ivEXT;
925         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix2fvEXT;
926         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix3fvEXT;
927         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix4fvEXT;
928         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix2x3fvEXT;
929         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix3x2fvEXT;
930         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix2x4fvEXT;
931         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix4x2fvEXT;
932         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix3x4fvEXT;
933         void function(GLuint, GLint, GLsizei, GLboolean, in GLfloat*) glProgramUniformMatrix4x3fvEXT;
934         void function(GLuint, GLint, GLuint) glProgramUniform1uiEXT;
935         void function(GLuint, GLint, GLuint, GLuint) glProgramUniform2uiEXT;
936         void function(GLuint, GLint, GLuint, GLuint, GLuint) glProgramUniform3uiEXT;
937         void function(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) glProgramUniform4uiEXT;
938         void function(GLuint, GLint, GLsizei, in GLuint*) glProgramUniform1uivEXT;
939         void function(GLuint, GLint, GLsizei, in GLuint*) glProgramUniform2uivEXT;
940         void function(GLuint, GLint, GLsizei, in GLuint*) glProgramUniform3uivEXT;
941         void function(GLuint, GLint, GLsizei, in GLuint*) glProgramUniform4uivEXT;
942         void function(GLuint, GLsizeiptr, in GLvoid*, GLenum) glNamedBufferDataEXT;
943         void function(GLuint, GLintptr, GLsizeiptr, in GLvoid*) glNamedBufferSubDataEXT;
944         GLvoid* function(GLuint, GLenum) glMapNamedBufferEXT;
945         GLboolean function(GLuint) glUnmapNamedBufferEXT;
946         void function(GLuint, GLenum, GLint*) glGetNamedBufferParameterivEXT;
947         void function(GLuint, GLenum, GLvoid**) glGetNamedBufferPointervEXT;
948         void function(GLuint, GLintptr, GLsizeiptr, GLvoid*) glGetNamedBufferSubDataEXT;
949         void function(GLuint, GLenum, GLenum, GLuint) glTextureBufferEXT;
950         void function(GLenum, GLenum, GLenum, GLuint) glMultiTexBufferEXT;
951         void function(GLuint, GLenum, GLsizei, GLsizei) glNamedRenderbufferStorageEXT;
952         void function(GLuint, GLenum, GLint*) glGetNamedRenderbufferParameterivEXT;
953         GLenum function(GLuint, GLenum) glCheckNamedFramebufferStatusEXT;
954         void function(GLuint, GLenum, GLenum, GLuint, GLint) glNamedFramebufferTexture1DEXT;
955         void function(GLuint, GLenum, GLenum, GLuint, GLint) glNamedFramebufferTexture2DEXT;
956         void function(GLuint, GLenum, GLenum, GLuint, GLint, GLint) glNamedFramebufferTexture3DEXT;
957         void function(GLuint, GLenum, GLenum, GLuint) glNamedFramebufferRenderbufferEXT;
958         void function(GLuint, GLenum, GLenum, GLint*) glGetNamedFramebufferAttachmentParameterivEXT;
959         void function(GLuint, GLenum) glGenerateTextureMipmapEXT;
960         void function(GLenum, GLenum) glGenerateMultiTexMipmapEXT;
961         void function(GLuint, GLenum) glFramebufferDrawBufferEXT;
962         void function(GLuint, GLsizei, in GLenum*) glFramebufferDrawBuffersEXT;
963         void function(GLuint, GLenum) glFramebufferReadBufferEXT;
964         void function(GLuint, GLenum, GLint*) glGetFramebufferParameterivEXT;
965         void function(GLuint, GLsizei, GLenum, GLsizei, GLsizei) glNamedRenderbufferStorageMultisampleEXT;
966         void function(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei) glNamedRenderbufferStorageMultisampleCoverageEXT;
967         void function(GLuint, GLenum, GLuint, GLint) glNamedFramebufferTextureEXT;
968         void function(GLuint, GLenum, GLuint, GLint, GLint) glNamedFramebufferTextureLayerEXT;
969         void function(GLuint, GLenum, GLuint, GLint, GLenum) glNamedFramebufferTextureFaceEXT;
970         void function(GLuint, GLenum, GLuint) glTextureRenderbufferEXT;
971         void function(GLenum, GLenum, GLuint) glMultiTexRenderbufferEXT;
972 
973         // GL_EXT_provoking_vertex
974         void function(GLenum) glProvokingVertexEXT;
975 
976         // GL_EXT_separate_shader_objects
977         void function(GLenum, GLuint) glUseShaderProgramEXT;
978         void function(GLuint) glActiveProgramEXT;
979         GLuint function(GLenum, in GLchar*) glCreateShaderProgramEXT;
980     }
981 
982     version(DerelictGL_NV)
983     {
984         // GL_NV_vertex_array_range
985         void function() glFlushVertexArrayRangeNV;
986         void function(GLsizei, in GLvoid*) glVertexArrayRangeNV;
987 
988         // GL_NV_register_combiners
989         void function(GLenum, in GLfloat*) glCombinerParameterfvNV;
990         void function(GLenum, GLfloat) glCombinerParameterfNV;
991         void function(GLenum, in GLint*) glCombinerParameterivNV;
992         void function(GLenum, GLint) glCombinerParameteriNV;
993         void function(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum) glCombinerInputNV;
994         void function(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean) glCombinerOutputNV;
995         void function(GLenum, GLenum, GLenum, GLenum) glFinalCombinerInputNV;
996         void function(GLenum, GLenum, GLenum, GLenum, GLfloat*) glGetCombinerInputParameterfvNV;
997         void function(GLenum, GLenum, GLenum, GLenum, GLint*) glGetCombinerInputParameterivNV;
998         void function(GLenum, GLenum, GLenum, GLfloat*) glGetCombinerOutputParameterfvNV;
999         void function(GLenum, GLenum, GLenum, GLint*) glGetCombinerOutputParameterivNV;
1000         void function(GLenum, GLenum, GLfloat*) glGetFinalCombinerInputParameterfvNV;
1001         void function(GLenum, GLenum, GLint*) glGetFinalCombinerInputParameterivNV;
1002 
1003         // GL_NV_fence
1004         void function(GLsizei, in GLuint*) glDeleteFencesNV;
1005         void function(GLsizei, GLuint*) glGenFencesNV;
1006         GLboolean function(GLuint) glIsFenceNV;
1007         GLboolean function(GLuint) glTestFenceNV;
1008         void function(GLuint, GLenum, GLint*) glGetFenceivNV;
1009         void function(GLuint) glFinishFenceNV;
1010         void function(GLuint, GLenum) glSetFenceNV;
1011 
1012         // GL_NV_evaluators
1013         void function(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, in GLvoid*) glMapControlPointsNV;
1014         void function(GLenum, GLenum, in GLint*) glMapParameterivNV;
1015         void function(GLenum, GLenum, in GLfloat*) glMapParameterfvNV;
1016         void function(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid*) glGetMapControlPointsNV;
1017         void function(GLenum, GLenum, GLint*) glGetMapParameterivNV;
1018         void function(GLenum, GLenum, GLfloat*) glGetMapParameterfvNV;
1019         void function(GLenum, GLuint, GLenum, GLint*) glGetMapAttribParameterivNV;
1020         void function(GLenum, GLuint, GLenum, GLfloat*) glGetMapAttribParameterfvNV;
1021 
1022         // GL_NV_register_combiners2
1023         void function(GLenum, GLenum, in GLfloat*) glCombinerStageParameterfvNV;
1024         void function(GLenum, GLenum, GLfloat*) glGetCombinerStageParameterfvNV;
1025 
1026         // GL_NV_vertex_program
1027         GLboolean function(GLsizei, in GLuint*, GLboolean*) glAreProgramsResidentNV;
1028         void function(GLenum, GLuint) glBindProgramNV;
1029         void function(GLsizei, in GLuint*) glDeleteProgramsNV;
1030         void function(GLenum, GLuint, in GLfloat*) glExecuteProgramNV;
1031         void function(GLsizei, GLuint*) glGenProgramsNV;
1032         void function(GLenum, GLuint, GLenum, GLdouble*) glGetProgramParameterdvNV;
1033         void function(GLenum, GLuint, GLenum, GLfloat*) glGetProgramParameterfvNV;
1034         void function(GLuint, GLenum, GLint*) glGetProgramivNV;
1035         void function(GLuint, GLenum, GLubyte*) glGetProgramStringNV;
1036         void function(GLenum, GLuint, GLenum, GLint*) glGetTrackMatrixivNV;
1037         void function(GLuint, GLenum, GLdouble*) glGetVertexAttribdvNV;
1038         void function(GLuint, GLenum, GLfloat*) glGetVertexAttribfvNV;
1039         void function(GLuint, GLenum, GLint*) glGetVertexAttribivNV;
1040         void function(GLuint, GLenum, GLvoid**) glGetVertexAttribPointervNV;
1041         GLboolean function(GLuint) glIsProgramNV;
1042         void function(GLenum, GLuint, GLsizei, in GLubyte*) glLoadProgramNV;
1043         void function(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glProgramParameter4dNV;
1044         void function(GLenum, GLuint, in GLdouble*) glProgramParameter4dvNV;
1045         void function(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glProgramParameter4fNV;
1046         void function(GLenum, GLuint, in GLfloat*) glProgramParameter4fvNV;
1047         void function(GLenum, GLuint, GLuint, in GLdouble*) glProgramParameters4dvNV;
1048         void function(GLenum, GLuint, GLuint, in GLfloat*) glProgramParameters4fvNV;
1049         void function(GLsizei, in GLuint*) glRequestResidentProgramsNV;
1050         void function(GLenum, GLuint, GLenum, GLenum) glTrackMatrixNV;
1051         void function(GLuint, GLint, GLenum, GLsizei, in GLvoid*) glVertexAttribPointerNV;
1052         void function(GLuint, GLdouble) glVertexAttrib1dNV;
1053         void function(GLuint, in GLdouble*) glVertexAttrib1dvNV;
1054         void function(GLuint, GLfloat) glVertexAttrib1fNV;
1055         void function(GLuint, in GLfloat*) glVertexAttrib1fvNV;
1056         void function(GLuint, GLshort) glVertexAttrib1sNV;
1057         void function(GLuint, in GLshort*) glVertexAttrib1svNV;
1058         void function(GLuint, GLdouble, GLdouble) glVertexAttrib2dNV;
1059         void function(GLuint, in GLdouble*) glVertexAttrib2dvNV;
1060         void function(GLuint, GLfloat, GLfloat) glVertexAttrib2fNV;
1061         void function(GLuint, in GLfloat*) glVertexAttrib2fvNV;
1062         void function(GLuint, GLshort, GLshort) glVertexAttrib2sNV;
1063         void function(GLuint, in GLshort*) glVertexAttrib2svNV;
1064         void function(GLuint, GLdouble, GLdouble, GLdouble) glVertexAttrib3dNV;
1065         void function(GLuint, in GLdouble*) glVertexAttrib3dvNV;
1066         void function(GLuint, GLfloat, GLfloat, GLfloat) glVertexAttrib3fNV;
1067         void function(GLuint, in GLfloat*) glVertexAttrib3fvNV;
1068         void function(GLuint, GLshort, GLshort, GLshort) glVertexAttrib3sNV;
1069         void function(GLuint, in GLshort*) glVertexAttrib3svNV;
1070         void function(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) glVertexAttrib4dNV;
1071         void function(GLuint, in GLdouble*) glVertexAttrib4dvNV;
1072         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) glVertexAttrib4fNV;
1073         void function(GLuint, in GLfloat*) glVertexAttrib4fvNV;
1074         void function(GLuint, GLshort, GLshort, GLshort, GLshort) glVertexAttrib4sNV;
1075         void function(GLuint, in GLshort*) glVertexAttrib4svNV;
1076         void function(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) glVertexAttrib4ubNV;
1077         void function(GLuint, in GLubyte*) glVertexAttrib4ubvNV;
1078         void function(GLuint, GLsizei, in GLdouble*) glVertexAttribs1dvNV;
1079         void function(GLuint, GLsizei, in GLfloat*) glVertexAttribs1fvNV;
1080         void function(GLuint, GLsizei, in GLshort*) glVertexAttribs1svNV;
1081         void function(GLuint, GLsizei, in GLdouble*) glVertexAttribs2dvNV;
1082         void function(GLuint, GLsizei, in GLfloat*) glVertexAttribs2fvNV;
1083         void function(GLuint, GLsizei, in GLshort*) glVertexAttribs2svNV;
1084         void function(GLuint, GLsizei, in GLdouble*) glVertexAttribs3dvNV;
1085         void function(GLuint, GLsizei, in GLfloat*) glVertexAttribs3fvNV;
1086         void function(GLuint, GLsizei, in GLshort*) glVertexAttribs3svNV;
1087         void function(GLuint, GLsizei, in GLdouble*) glVertexAttribs4dvNV;
1088         void function(GLuint, GLsizei, in GLfloat*) glVertexAttribs4fvNV;
1089         void function(GLuint, GLsizei, in GLshort*) glVertexAttribs4svNV;
1090         void function(GLuint, GLsizei, in GLubyte*) glVertexAttribs4ubvNV;
1091 
1092         // GL_NV_occlusion_query
1093         void function(GLsizei, GLuint*) glGenOcclusionQueriesNV;
1094         void function(GLsizei, in GLuint*) glDeleteOcclusionQueriesNV;
1095         GLboolean function(GLuint) glIsOcclusionQueryNV;
1096         void function(GLuint) glBeginOcclusionQueryNV;
1097         void function() glEndOcclusionQueryNV;
1098         void function(GLuint, GLenum, GLint*) glGetOcclusionQueryivNV;
1099         void function(GLuint, GLenum, GLuint*) glGetOcclusionQueryuivNV;
1100 
1101         // GL_NV_point_sprite
1102         void function(GLenum, GLint) glPointParameteriNV;
1103         void function(GLenum, in GLint*) glPointParameterivNV;
1104 
1105         // GL_NV_fragment_program
1106         void function(GLuint, GLsizei, in GLubyte*, GLfloat, GLfloat, GLfloat, GLfloat) glProgramNamedParameter4fNV;
1107         void function(GLuint, GLsizei, in GLubyte*, GLdouble, GLdouble, GLdouble, GLdouble) glProgramNamedParameter4dNV;
1108         void function(GLuint, GLsizei, in GLubyte*, in GLfloat*) glProgramNamedParameter4fvNV;
1109         void function(GLuint, GLsizei, in GLubyte*, in GLdouble*) glProgramNamedParameter4dvNV;
1110         void function(GLuint, GLsizei, in GLubyte*, GLfloat*) glGetProgramNamedParameterfvNV;
1111         void function(GLuint, GLsizei, in GLubyte*, GLdouble*) glGetProgramNamedParameterdvNV;
1112 
1113         // GL_NV_half_float
1114         void function(GLhalfNV, GLhalfNV) glVertex2hNV;
1115         void function(in GLhalfNV*) glVertex2hvNV;
1116         void function(GLhalfNV, GLhalfNV, GLhalfNV) glVertex3hNV;
1117         void function(in GLhalfNV*) glVertex3hvNV;
1118         void function(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV) glVertex4hNV;
1119         void function(in GLhalfNV*) glVertex4hvNV;
1120         void function(GLhalfNV, GLhalfNV, GLhalfNV) glNormal3hNV;
1121         void function(in GLhalfNV*) glNormal3hvNV;
1122         void function(GLhalfNV, GLhalfNV, GLhalfNV) glColor3hNV;
1123         void function(in GLhalfNV*) glColor3hvNV;
1124         void function(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV) glColor4hNV;
1125         void function(in GLhalfNV*) glColor4hvNV;
1126         void function(GLhalfNV) glTexCoord1hNV;
1127         void function(in GLhalfNV*) glTexCoord1hvNV;
1128         void function(GLhalfNV, GLhalfNV) glTexCoord2hNV;
1129         void function(in GLhalfNV*) glTexCoord2hvNV;
1130         void function(GLhalfNV, GLhalfNV, GLhalfNV) glTexCoord3hNV;
1131         void function(in GLhalfNV*) glTexCoord3hvNV;
1132         void function(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV) glTexCoord4hNV;
1133         void function(in GLhalfNV*) glTexCoord4hvNV;
1134         void function(GLenum, GLhalfNV) glMultiTexCoord1hNV;
1135         void function(GLenum, in GLhalfNV*) glMultiTexCoord1hvNV;
1136         void function(GLenum, GLhalfNV, GLhalfNV) glMultiTexCoord2hNV;
1137         void function(GLenum, in GLhalfNV*) glMultiTexCoord2hvNV;
1138         void function(GLenum, GLhalfNV, GLhalfNV, GLhalfNV) glMultiTexCoord3hNV;
1139         void function(GLenum, in GLhalfNV*) glMultiTexCoord3hvNV;
1140         void function(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV) glMultiTexCoord4hNV;
1141         void function(GLenum, in GLhalfNV*) glMultiTexCoord4hvNV;
1142         void function(GLhalfNV) glFogCoordhNV;
1143         void function(in GLhalfNV*) glFogCoordhvNV;
1144         void function(GLhalfNV, GLhalfNV, GLhalfNV) glSecondaryColor3hNV;
1145         void function(in GLhalfNV*) glSecondaryColor3hvNV;
1146 
1147         // These two funcs seem not to be present in the NVIDIA drivers
1148 //        void function(GLhalfNV) glVertexWeighthNV;
1149 //        void function(in GLhalfNV*) glVertexWeighthvNV;
1150 
1151         void function(GLuint, GLhalfNV) glVertexAttrib1hNV;
1152         void function(GLuint, in GLhalfNV*) glVertexAttrib1hvNV;
1153         void function(GLuint, GLhalfNV, GLhalfNV) glVertexAttrib2hNV;
1154         void function(GLuint, in GLhalfNV*) glVertexAttrib2hvNV;
1155         void function(GLuint, GLhalfNV, GLhalfNV, GLhalfNV) glVertexAttrib3hNV;
1156         void function(GLuint, in GLhalfNV*) glVertexAttrib3hvNV;
1157         void function(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV) glVertexAttrib4hNV;
1158         void function(GLuint, in GLhalfNV*) glVertexAttrib4hvNV;
1159         void function(GLuint, GLsizei, in GLhalfNV*) glVertexAttribs1hvNV;
1160         void function(GLuint, GLsizei, in GLhalfNV*) glVertexAttribs2hvNV;
1161         void function(GLuint, GLsizei, in GLhalfNV*) glVertexAttribs3hvNV;
1162         void function(GLuint, GLsizei, in GLhalfNV*) glVertexAttribs4hvNV;
1163 
1164         // GL_NV_pixel_data_range
1165         void function(GLenum, GLsizei, GLvoid*) glPixelDataRangeNV;
1166         void function(GLenum) glFlushPixelDataRangeNV;
1167 
1168         // GL_NV_primitive_restart
1169         void function() glPrimitiveRestartNV;
1170         void function(GLuint) glPrimitiveRestartIndexNV;
1171 
1172         // GL_NV_gpu_program4
1173         void function(GLenum, GLuint, GLint, GLint, GLint, GLint) glProgramLocalParameterI4iNV;
1174         void function(GLenum, GLuint, in GLint*) glProgramLocalParameterI4ivNV;
1175         void function(GLenum, GLuint, GLsizei, in GLint*) glProgramLocalParametersI4ivNV;
1176         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) glProgramLocalParameterI4uiNV;
1177         void function(GLenum, GLuint, in GLuint*) glProgramLocalParameterI4uivNV;
1178         void function(GLenum, GLuint, GLsizei, in GLuint*) glProgramLocalParametersI4uivNV;
1179         void function(GLenum, GLuint, GLint, GLint, GLint, GLint) glProgramEnvParameterI4iNV;
1180         void function(GLenum, GLuint, in GLint*) glProgramEnvParameterI4ivNV;
1181         void function(GLenum, GLuint, GLsizei, in GLint*) glProgramEnvParametersI4ivNV;
1182         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) glProgramEnvParameterI4uiNV;
1183         void function(GLenum, GLuint, in GLuint*) glProgramEnvParameterI4uivNV;
1184         void function(GLenum, GLuint, GLsizei, in GLuint*) glProgramEnvParametersI4uivNV;
1185         void function(GLenum, GLuint, GLint*) glGetProgramLocalParameterIivNV;
1186         void function(GLenum, GLuint, GLuint*) glGetProgramLocalParameterIuivNV;
1187         void function(GLenum, GLuint, GLint*) glGetProgramEnvParameterIivNV;
1188         void function(GLenum, GLuint, GLuint*) glGetProgramEnvParameterIuivNV;
1189 
1190         // GL_NV_geometry_program4
1191         void function(GLenum, GLint) glProgramVertexLimitNV;
1192         void function(GLenum, GLenum, GLuint, GLint) glFramebufferTextureEXT;
1193         void function(GLenum, GLenum, GLuint, GLint, GLint) glFramebufferTextureLayerEXT;
1194         void function(GLenum, GLenum, GLuint, GLint, GLenum) glFramebufferTextureFaceEXT;
1195 
1196         // GL_NV_vertex_program4
1197         void function(GLuint, GLint) glVertexAttribI1iEXT;
1198         void function(GLuint, GLint, GLint) glVertexAttribI2iEXT;
1199         void function(GLuint, GLint, GLint, GLint) glVertexAttribI3iEXT;
1200         void function(GLuint, GLint, GLint, GLint, GLint) glVertexAttribI4iEXT;
1201         void function(GLuint, GLuint) glVertexAttribI1uiEXT;
1202         void function(GLuint, GLuint, GLuint) glVertexAttribI2uiEXT;
1203         void function(GLuint, GLuint, GLuint, GLuint) glVertexAttribI3uiEXT;
1204         void function(GLuint, GLuint, GLuint, GLuint, GLuint) glVertexAttribI4uiEXT;
1205         void function(GLuint, in GLint*) glVertexAttribI1ivEXT;
1206         void function(GLuint, in GLint*) glVertexAttribI2ivEXT;
1207         void function(GLuint, in GLint*) glVertexAttribI3ivEXT;
1208         void function(GLuint, in GLint*) glVertexAttribI4ivEXT;
1209         void function(GLuint, in GLuint*) glVertexAttribI1uivEXT;
1210         void function(GLuint, in GLuint*) glVertexAttribI2uivEXT;
1211         void function(GLuint, in GLuint*) glVertexAttribI3uivEXT;
1212         void function(GLuint, in GLuint*) glVertexAttribI4uivEXT;
1213         void function(GLuint, in GLbyte*) glVertexAttribI4bvEXT;
1214         void function(GLuint, in GLshort*) glVertexAttribI4svEXT;
1215         void function(GLuint, in GLubyte*) glVertexAttribI4ubvEXT;
1216         void function(GLuint, in GLushort*) glVertexAttribI4usvEXT;
1217         void function(GLuint, GLint, GLenum, GLsizei, in GLvoid*) glVertexAttribIPointerEXT;
1218         void function(GLuint, GLenum, GLint*) glGetVertexAttribIivEXT;
1219         void function(GLuint, GLenum, GLuint*) glGetVertexAttribIuivEXT;
1220 
1221         // GL_NV_depth_buffer_float
1222         void function(GLdouble, GLdouble) glDepthRangedNV;
1223         void function(GLdouble) glClearDepthdNV;
1224         void function(GLdouble, GLdouble) glDepthBoundsdNV;
1225 
1226         // GL_NV_framebuffer_multisample_coverage
1227         void function(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei) glRenderbufferStorageMultisampleCoverageNV;
1228 
1229         // GL_NV_transform_feedback
1230         void function(GLenum) glBeginTransformFeedbackNV;
1231         void function() glEndTransformFeedbackNV;
1232         void function(GLuint, in GLint*, GLenum) glTransformFeedbackAttribsNV;
1233         void function(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) glBindBufferRangeNV;
1234         void function(GLenum, GLuint, GLuint, GLintptr) glBindBufferOffsetNV;
1235         void function(GLenum, GLuint, GLuint) glBindBufferBaseNV;
1236         void function(GLuint, GLsizei, in GLchar**, GLenum) glTransformFeedbackVaryingsNV;
1237         void function(GLuint, in GLchar*) glActiveVaryingNV;
1238         GLint function(GLuint, in GLchar*) glGetVaryingLocationNV;
1239         void function(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*) glGetActiveVaryingNV;
1240         void function(GLuint, GLuint, GLint*) glGetTransformFeedbackVaryingNV;
1241 
1242         // GL_NV_conditional_render
1243         void function(GLuint, GLenum) glBeginConditionalRenderNV;
1244         void function() glEndConditionalRenderNV;
1245 
1246         // GL_NV_present_video
1247         void function(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint) glPresentFrameKeyedNV;
1248         void function(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint) glPresentFrameDualFillNV;
1249         void function(GLuint, GLenum, GLint*) glGetVideoivNV;
1250         void function(GLuint, GLenum, GLuint*) glGetVideouivNV;
1251         void function(GLuint, GLenum, GLint64EXT*) glGetVideoi64vNV;
1252         void function(GLuint, GLenum, GLuint64EXT*) glGetVideoui64vNV;
1253 
1254         // GL_NV_explicit_multisample
1255         void function(GLenum, GLuint, GLfloat*) glGetMultisamplefvNV;
1256         void function(GLuint, GLbitfield) glSampleMaskIndexedNV;
1257         void function(GLenum, GLuint) glTexRenderbufferNV;
1258 
1259         // GL_NV_transform_feedback2
1260         void function(GLenum, GLuint) glBindTransformFeedbackNV;
1261         void function(GLsizei, in GLuint*) glDeleteTransformFeedbacksNV;
1262         void function(GLsizei, GLuint*) glGenTransformFeedbacksNV;
1263         GLboolean function(GLuint) glIsTransformFeedbackNV;
1264         void function() glPauseTransformFeedbackNV;
1265         void function() glResumeTransformFeedbackNV;
1266         void function(GLenum, GLuint) glDrawTransformFeedbackNV;
1267 
1268         // GL_NV_video_capture
1269         void function(GLuint) glBeginVideoCaptureNV;
1270         void function(GLuint, GLuint, GLenum, GLintptrARB) glBindVideoCaptureStreamBufferNV;
1271         void function(GLuint, GLuint, GLenum, GLenum, GLuint) glBindVideoCaptureStreamTextureNV;
1272         void function(GLuint) glEndVideoCaptureNV;
1273         void function(GLuint, GLenum, GLint*) glGetVideoCaptureivNV;
1274         void function(GLuint, GLuint, GLenum, GLint*) glGetVideoCaptureStreamivNV;
1275         void function(GLuint, GLuint, GLenum, GLfloat*) glGetVideoCaptureStreamfvNV;
1276         void function(GLuint, GLuint, GLenum, GLdouble*) glGetVideoCaptureStreamdvNV;
1277         GLenum function(GLuint, GLuint*, GLuint64EXT*) glVideoCaptureNV;
1278         void function(GLuint, GLuint, GLenum, in GLint*) glVideoCaptureStreamParameterivNV;
1279         void function(GLuint, GLuint, GLenum, in GLfloat*) glVideoCaptureStreamParameterfvNV;
1280         void function(GLuint, GLuint, GLenum, in GLdouble*) glVideoCaptureStreamParameterdvNV;
1281 
1282         // GL_NV_copy_image
1283         void function(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) glCopyImageSubDataNV;
1284 
1285         // GL_NV_shader_buffer_load
1286         void function(GLenum, GLenum) glMakeBufferResidentNV;
1287         void function(GLenum) glMakeBufferNonResidentNV;
1288         GLboolean function(GLenum) glIsBufferResidentNV;
1289         void function(GLuint, GLenum) glNamedMakeBufferResidentNV;
1290         void function(GLuint) glNamedMakeBufferNonResidentNV;
1291         GLboolean function(GLuint) glIsNamedBufferResidentNV;
1292         void function(GLenum, GLenum, GLuint64EXT*) glGetBufferParameterui64vNV;
1293         void function(GLuint, GLenum, GLuint64EXT*) glGetNamedBufferParameterui64vNV;
1294         void function(GLenum, GLuint64EXT*) glGetIntegerui64vNV;
1295         void function(GLint, GLuint64EXT) glUniformui64NV;
1296         void function(GLint, GLsizei, in GLuint64EXT*) glUniformui64vNV;
1297         void function(GLuint, GLint, GLuint64EXT*) glGetUniformui64vNV;
1298         void function(GLuint, GLint, GLuint64EXT) glProgramUniformui64NV;
1299         void function(GLuint, GLint, GLsizei, in GLuint64EXT*) glProgramUniformui64vNV;
1300 
1301         // GL_NV_vertex_buffer_unified_memory
1302         void function(GLenum, GLuint, GLuint64EXT, GLsizeiptr) glBufferAddressRangeNV;
1303         void function(GLint, GLenum, GLsizei) glVertexFormatNV;
1304         void function(GLenum, GLsizei) glNormalFormatNV;
1305         void function(GLint, GLenum, GLsizei) glColorFormatNV;
1306         void function(GLenum, GLsizei) glIndexFormatNV;
1307         void function(GLint, GLenum, GLsizei) glTexCoordFormatNV;
1308         void function(GLsizei) glEdgeFlagFormatNV;
1309         void function(GLint, GLenum, GLsizei) glSecondaryColorFormatNV;
1310         void function(GLenum, GLsizei) glFogCoordFormatNV;
1311         void function(GLuint, GLint, GLenum, GLboolean, GLsizei) glVertexAttribFormatNV;
1312         void function(GLuint, GLint, GLenum, GLsizei) glVertexAttribIFormatNV;
1313         void function(GLenum, GLuint, GLuint64EXT*) glGetIntegerui64i_vNV;
1314 
1315         // GL_NV_texture_barrier
1316         void function() glTextureBarrierNV;
1317     }
1318 
1319     version(DerelictGL_ATI)
1320     {
1321         // GL_ATI_envmap_bumpmap
1322         void function(GLenum, in GLint*) glTexBumpParameterivATI;
1323         void function(GLenum, in GLfloat*) glTexBumpParameterfvATI;
1324         void function(GLenum, GLint*) glGetTexBumpParameterivATI;
1325         void function(GLenum, GLfloat*) glGetTexBumpParameterfvATI;
1326 
1327         // GL_ATI_fragment_shader
1328         GLuint function(GLuint) glGenFragmentShadersATI;
1329         void function(GLuint) glBindFragmentShaderATI;
1330         void function(GLuint) glDeleteFragmentShaderATI;
1331         void function() glBeginFragmentShaderATI;
1332         void function() glEndFragmentShaderATI;
1333         void function(GLuint, GLuint, GLenum) glPassTexCoordATI;
1334         void function(GLuint, GLuint, GLenum) glSampleMapATI;
1335         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) glColorFragmentOp1ATI;
1336         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) glColorFragmentOp2ATI;
1337         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) glColorFragmentOp3ATI;
1338         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) glAlphaFragmentOp1ATI;
1339         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) glAlphaFragmentOp2ATI;
1340         void function(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) glAlphaFragmentOp3ATI;
1341         void function(GLuint, in GLfloat*) glSetFragmentShaderConstantATI;
1342 
1343         // GL_ATI_pn_triangles
1344         void function(GLenum, GLint) glPNTrianglesiATI;
1345         void function(GLenum, GLint) glPNTrianglesfATI;
1346 
1347         // GL_ATI_vertex_array_object
1348         GLuint function(GLsizei, in GLvoid*, GLenum) glNewObjectBufferATI;
1349         GLboolean function(GLuint) glIsObjectBufferATI;
1350         void function(GLuint, GLuint, GLsizei, in GLvoid*, GLenum) glUpdateObjectBufferATI;
1351         void function(GLuint, GLenum, GLfloat*) glGetObjectBufferfvATI;
1352         void function(GLuint, GLenum, GLint*) glGetObjectBufferivATI;
1353         void function(GLuint) glFreeObjectBufferATI;
1354         void function(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint) glArrayObjectATI;
1355         void function(GLenum, GLenum, GLfloat*) glGetArrayObjectfvATI;
1356         void function(GLenum, GLenum, GLint*) glGetArrayObjectivATI;
1357         void function(GLuint, GLenum, GLsizei, GLuint, GLuint) glVariantArrayObjectATI;
1358         void function(GLuint, GLenum, GLfloat*) glGetVariantArrayObjectfvATI;
1359         void function(GLuint, GLenum, GLint*) glGetVariantArrayObjectivATI;
1360 
1361         // GL_ATI_vertex_streams
1362         void function(GLenum, GLshort) glVertexStream1sATI;
1363         void function(GLenum, in GLshort*) glVertexStream1svATI;
1364         void function(GLenum, GLint) glVertexStream1iATI;
1365         void function(GLenum, in GLint*) glVertexStream1ivATI;
1366         void function(GLenum, GLfloat) glVertexStream1fATI;
1367         void function(GLenum, in GLfloat*) glVertexStream1fvATI;
1368         void function(GLenum, GLdouble) glVertexStream1dATI;
1369         void function(GLenum, in GLdouble*) glVertexStream1dvATI;
1370         void function(GLenum, GLshort, GLshort) glVertexStream2sATI;
1371         void function(GLenum, in GLshort*) glVertexStream2svATI;
1372         void function(GLenum, GLint, GLint) glVertexStream2iATI;
1373         void function(GLenum, in GLint*) glVertexStream2ivATI;
1374         void function(GLenum, GLfloat, GLfloat) glVertexStream2fATI;
1375         void function(GLenum, in GLfloat*) glVertexStream2fvATI;
1376         void function(GLenum, GLdouble, GLdouble) glVertexStream2dATI;
1377         void function(GLenum, in GLdouble*) glVertexStream2dvATI;
1378         void function(GLenum, GLshort, GLshort, GLshort) glVertexStream3sATI;
1379         void function(GLenum, in GLshort*) glVertexStream3svATI;
1380         void function(GLenum, GLint, GLint, GLint) glVertexStream3iATI;
1381         void function(GLenum, in GLint*) glVertexStream3ivATI;
1382         void function(GLenum, GLfloat, GLfloat, GLfloat) glVertexStream3fATI;
1383         void function(GLenum, in GLfloat*) glVertexStream3fvATI;
1384         void function(GLenum, GLdouble, GLdouble, GLdouble) glVertexStream3dATI;
1385         void function(GLenum, in GLdouble*) glVertexStream3dvATI;
1386         void function(GLenum, GLshort, GLshort, GLshort, GLshort) glVertexStream4sATI;
1387         void function(GLenum, in GLshort*) glVertexStream4svATI;
1388         void function(GLenum, GLint, GLint, GLint, GLint) glVertexStream4iATI;
1389         void function(GLenum, in GLint*) glVertexStream4ivATI;
1390         void function(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) glVertexStream4fATI;
1391         void function(GLenum, in GLfloat*) glVertexStream4fvATI;
1392         void function(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) glVertexStream4dATI;
1393         void function(GLenum, in GLdouble*) glVertexStream4dvATI;
1394         void function(GLenum, GLbyte, GLbyte, GLbyte) glNormalStream3bATI;
1395         void function(GLenum, in GLbyte*) glNormalStream3bvATI;
1396         void function(GLenum, GLshort, GLshort, GLshort) glNormalStream3sATI;
1397         void function(GLenum, in GLshort*) glNormalStream3svATI;
1398         void function(GLenum, GLint, GLint, GLint) glNormalStream3iATI;
1399         void function(GLenum, in GLint*) glNormalStream3ivATI;
1400         void function(GLenum, GLfloat, GLfloat, GLfloat) glNormalStream3fATI;
1401         void function(GLenum, in GLfloat*) glNormalStream3fvATI;
1402         void function(GLenum, GLdouble, GLdouble, GLdouble) glNormalStream3dATI;
1403         void function(GLenum, in GLdouble*) glNormalStream3dvATI;
1404         void function(GLenum) glClientActiveVertexStreamATI;
1405         void function(GLenum, GLint) glVertexBlendEnviATI;
1406         void function(GLenum, GLfloat) glVertexBlendEnvfATI;
1407 
1408         // GL_ATI_element_array
1409         void function(GLenum, in GLvoid*) glElementPointerATI;
1410         void function(GLenum, GLsizei) glDrawElementArrayATI;
1411         void function(GLenum, GLuint, GLuint, GLsizei) glDrawRangeElementArrayATI;
1412 
1413         // GL_ATI_draw_buffers
1414         void function(GLsizei, in GLenum*) glDrawBuffersATI;
1415 
1416         // GL_ATI_map_object_buffer
1417         GLvoid* function(GLuint) glMapBufferATI;
1418         void function(GLuint) glUnmapBufferATI;
1419 
1420         // GL_ATI_separate_stencil
1421         void function(GLenum, GLenum, GLenum, GLenum) glStencilOpSeparateATI;
1422         void function(GLenum, GLenum, GLint, GLuint) glStencilFuncSeparateATI;
1423 
1424         // GL_ATI_vertex_attrib_array_object
1425         void function(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint) glVertexAttribArrayObjectATI;
1426         void function(GLuint, GLenum, GLfloat*) glGetVertexAttribArrayObjectfvATI;
1427         void function(GLuint, GLenum, GLint*) glGetVertexAttribArrayObjectivATI;
1428     }
1429 
1430     version(DerelictGL_AMD)
1431     {
1432         // GL_AMD_performance_monitor
1433         void function(GLint*, GLsizei, GLuint*) glGetPerfMonitorGroupsAMD;
1434         void function(GLuint, GLint*, GLint*, GLsizei, GLuint*) glGetPerfMonitorCountersAMD;
1435         void function(GLuint, GLsizei, GLsizei*, GLchar*) glGetPerfMonitorGroupStringAMD;
1436         void function(GLuint, GLuint, GLsizei, GLsizei*, GLchar*) glGetPerfMonitorCounterStringAMD;
1437         void function(GLuint, GLuint, GLenum, void*) glGetPerfMonitorCounterInfoAMD;
1438         void function(GLsizei, GLuint*) glGenPerfMonitorsAMD;
1439         void function(GLsizei, GLuint*) glDeletePerfMonitorsAMD;
1440         void function(GLuint, GLboolean, GLuint, GLint, GLuint*) glSelectPerfMonitorCountersAMD;
1441         void function(GLuint) glBeginPerfMonitorAMD;
1442         void function(GLuint) glEndPerfMonitorAMD;
1443         void function(GLuint, GLenum, GLsizei, GLuint*, GLint*) glGetPerfMonitorCounterDataAMD;
1444 
1445         // GL_AMD_vertex_shader_tesselator
1446         void function(GLfloat) glTessellationFactorAMD;
1447         void function(GLenum) glTessellationModeAMD;
1448 
1449         // GL_AMD_draw_buffers_blend
1450         void function(GLuint, GLenum, GLenum) glBlendFuncIndexedAMD;
1451         void function(GLuint, GLenum, GLenum, GLenum, GLenum) glBlendFuncSeparateIndexedAMD;
1452         void function(GLuint, GLenum) glBlendEquationIndexedAMD;
1453         void function(GLuint, GLenum, GLenum) glBlendEquationSeparateIndexedAMD;
1454     }
1455 
1456     version(DerelictGL_SGI)
1457     {
1458         // GL_SGI_color_table
1459         void function(GLenum, GLenum, GLsizei, GLenum, GLenum, in GLvoid*) glColorTableSGI;
1460         void function(GLenum, GLenum, in GLfloat*) glColorTableParameterfvSGI;
1461         void function(GLenum, GLenum, in GLint*) glColorTableParameterivSGI;
1462         void function(GLenum, GLenum, GLint, GLint, GLsizei) glCopyColorTableSGI;
1463         void function(GLenum, GLenum, GLenum, GLvoid*) glGetColorTableSGI;
1464         void function(GLenum, GLenum, GLfloat*) glGetColorTableParameterfvSGI;
1465         void function(GLenum, GLenum, GLint*) glGetColorTableParameterivSGI;
1466     }
1467 
1468     version(DerelictGL_SGIS)
1469     {
1470         // GL_SGIS_texture_filter4
1471         void function(GLenum, GLenum, GLfloat*) glGetTexFilterFuncSGIS;
1472         void function(GLenum, GLenum, in GLfloat*) glTexFilterFuncSGIS;
1473 
1474         // GL_SGIS_pixel_texture
1475         void function(GLenum, GLint) glPixelTexGenParameteriSGIS;
1476         void function(GLenum, in GLint*) glPixelTexGenParameterivSGIS;
1477         void function(GLenum, GLfloat) glPixelTexGenParameterfSGIS;
1478         void function(GLenum, in GLfloat*) glPixelTexGenParameterfvSGIS;
1479         void function(GLenum, GLint*) glGetPixelTexGenParameterivSGIS;
1480         void function(GLenum, GLfloat*) glGetPixelTexGenParameterfvSGIS;
1481 
1482         // GL_SGIS_texture4D
1483         void function(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, in GLvoid*) glTexImage4DSGIS;
1484         void function(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, in GLvoid*) glTexSubImage4DSGIS;
1485 
1486         // GL_SGIS_detail_texture
1487         void function(GLenum, GLsizei, in GLfloat*) glDetailTexFuncSGIS;
1488         void function(GLenum, GLfloat*) glGetDetailTexFuncSGIS;
1489 
1490         // GL_SGIS_sharpen_texture
1491         void function(GLenum, GLsizei, in GLfloat*) glSharpenTexFuncSGIS;
1492         void function(GLenum, GLfloat*) glGetSharpenTexFuncSGIS;
1493 
1494         // GL_SGIS_multisample
1495         void function(GLclampf, GLboolean) glSampleMaskSGIS;
1496         void function(GLenum) glSamplePatternSGIS;
1497 
1498         // GL_SGIS_point_parameters
1499         void function(GLenum, GLfloat) glPointParameterfSGIS;
1500         void function(GLenum, in GLfloat*) glPointParameterfvSGIS;
1501 
1502         // GL_SGIS_fog_function
1503         void function(GLsizei, in GLfloat*) glFogFuncSGIS;
1504         void function(GLfloat*) glGetFogFuncSGIS;
1505 
1506         // GL_SGIS_texture_color_mask
1507         void function(GLboolean, GLboolean, GLboolean, GLboolean) glTextureColorMaskSGIS;
1508     }
1509 
1510     version(DerelictGL_SGIX)
1511     {
1512         // GL_SGIX_pixel_texture
1513         void function(GLenum) glPixelTexGenSGIX;
1514 
1515         // GL_SGIX_sprite
1516         void function(GLenum, GLfloat) glSpriteParameterfSGIX;
1517         void function(GLenum, in GLfloat*) glSpriteParameterfvSGIX;
1518         void function(GLenum, GLint) glSpriteParameteriSGIX;
1519         void function(GLenum, in GLint*) glSpriteParameterivSGIX;
1520 
1521         // GL_SGIX_instruments
1522         GLint function() glGetInstrumentsSGIX;
1523         void function(GLsizei, GLint*) glInstrumentsBufferSGIX;
1524         GLint function(GLint*) glPollInstrumentsSGIX;
1525         void function(GLint) glReadInstrumentsSGIX;
1526         void function() glStartInstrumentsSGIX;
1527         void function(GLint) glStopInstrumentsSGIX;
1528 
1529         // GL_SGIX_framezoom
1530         void function(GLint) glFrameZoomSGIX;
1531 
1532         // GL_SGIX_tag_sample_buffer
1533         void function() glTagSampleBufferSGIX;
1534 
1535         // GL_SGIX_polynomial_ffd
1536         void function(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, in GLdouble*) glDeformationMap3dSGIX;
1537         void function(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, in GLfloat*) glDeformationMap3fSGIX;
1538         void function(GLbitfield) glDeformSGIX;
1539         void function(GLbitfield) glLoadIdentityDeformationMapSGIX;
1540 
1541         // GL_SGIX_reference_plane
1542         void function(in GLdouble*) glReferencePlaneSGIX;
1543 
1544         // GL_SGIX_flush_raster
1545         void function() glFLushRasterSGIX;
1546 
1547         // GL_SGIX_list_priority
1548         void function(GLuint, GLenum, GLfloat*) glGetListParameterfvSGIX;
1549         void function(GLuint, GLenum, GLint*) glGetListParameterivSGIX;
1550         void function(GLuint, GLenum, GLfloat) glListParameterfSGIX;
1551         void function(GLuint, GLenum, in GLfloat*) glListParameterfvSGIX;
1552         void function(GLuint, GLenum, GLint) glListParameteriSGIX;
1553         void function(GLuint, GLenum, in GLint*) glListParameterivSGIX;
1554 
1555          // GL_SGIX_fragment_lighting
1556         void function(GLenum, GLenum) glFragmentColorMaterialSGIX;
1557         void function(GLenum, GLenum, GLfloat) glFragmentLightfSGIX;
1558         void function(GLenum, GLenum, in GLfloat*) glFragmentLightfvSGIX;
1559         void function(GLenum, GLenum, GLint) glFragmentLightiSGIX;
1560         void function(GLenum, GLenum, in GLint*) glFragmentLightivSGIX;
1561         void function(GLenum, GLfloat) glFragmentLightModelfSGIX;
1562         void function(GLenum, in GLfloat*) glFragmentLightModelfvSGIX;
1563         void function(GLenum, GLint) glFragmentLightModeliSGIX;
1564         void function(GLenum, in GLint*) glFragmentLightModelivSGIX;
1565         void function(GLenum, GLenum, GLfloat) glFragmentMaterialfSGIX;
1566         void function(GLenum, GLenum, in GLfloat*) glFragmentMaterialfvSGIX;
1567         void function(GLenum, GLenum, GLint) glFragmentMaterialiSGIX;
1568         void function(GLenum, GLenum, in GLint*) glFragmentMaterialivSGIX;
1569         void function(GLenum, GLenum, GLfloat*) glGetFragmentLightfvSGIX;
1570         void function(GLenum, GLenum, GLint*) glGetFragmentLightivSGIX;
1571         void function(GLenum, GLenum, GLfloat*) glGetFragmentMaterialfvSGIX;
1572         void function(GLenum, GLenum, GLint*) glGetFragmentMaterialivSGIX;
1573         void function(GLenum, GLint) glLightEnviSGIX;
1574 
1575         // GL_SGIX_async
1576         void function(GLuint) glAsyncMarkerSGIX;
1577         GLint function(GLuint*) glFinishAsyncSGIX;
1578         GLint function(GLuint*) glPollAsyncSGIX;
1579         GLuint function(GLsizei) glGenAsyncMarkersSGIX;
1580         void function(GLuint, GLsizei) glDeleteAsyncMarkersSGIX;
1581         GLboolean function(GLuint) glIsAsyncMarkerSGIX;
1582     }
1583 
1584     version(DerelictGL_HP)
1585     {
1586         // GL_HP_image_transform
1587         void function(GLenum, GLenum, GLint) glImageTransformParameteriHP;
1588         void function(GLenum, GLenum, GLfloat) glImageTransformParameterfHP;
1589         void function(GLenum, GLenum, in GLint*) glImageTransformParameterivHP;
1590         void function(GLenum, GLenum, in GLfloat*) glImageTransformParameterfvHP;
1591         void function(GLenum, GLenum, GLint*) glGetImageTransformParameterivHP;
1592         void function(GLenum, GLenum, GLfloat*) glGetImageTransformParameterfvHP;
1593     }
1594 
1595     version(DerelictGL_PGI)
1596     {
1597         // GL_PGI_misc_hints
1598         void function(GLenum, GLint) glHintPGI;
1599     }
1600 
1601     version(DerelictGL_IBM)
1602     {
1603         // GL_IBM_multimode_draw_arrays
1604         void function(in GLenum*, in GLint*, in GLsizei*, GLsizei, GLint) glMultiModeDrawArraysIBM;
1605         void function(in GLenum*, in GLsizei*, GLenum, in GLvoid**, GLsizei, GLint) glMultiModeDrawElementsIBM;
1606 
1607         // GL_IBM_vertex_array_lists
1608         void function(GLint, GLenum, GLint, in GLvoid**, GLint) glColorPointerListIBM;
1609         void function(GLint, GLenum, GLint, in GLvoid**, GLint) glSecondaryColorPointerListIBM;
1610         void function(GLint, in GLboolean**, GLint) glEdgeFlagPointerListIBM;
1611         void function(GLenum, GLint, in GLvoid**, GLint) glFogCoordPointerListIBM;
1612         void function(GLenum, GLint, in GLvoid**, GLint) glIndexPointerListIBM;
1613         void function(GLenum, GLint, in GLvoid**, GLint) glNormalPointerListIBM;
1614         void function(GLint, GLenum, GLint, in GLvoid**, GLint) glTexCoordPointerListIBM;
1615         void function(GLint, GLenum, GLint, in GLvoid**, GLint) glVertexPointerListIBM;
1616     }
1617 
1618     version(DerelictGL_WIN)
1619     {
1620     }
1621 
1622     version(DerelictGL_INTEL)
1623     {
1624         // GL_INTEL_parallel_arrays
1625         void function(GLint, GLenum, in GLvoid**) glVertexPointervINTEL;
1626         void function(GLenum, in GLvoid**) glNormalPointervINTEL;
1627         void function(GLint, GLenum, in GLvoid**) glColorPointervINTEL;
1628         void function(GLint, GLenum, in GLvoid**) glTexCoordPointervINTEL;
1629     }
1630 
1631     version(DerelictGL_REND)
1632     {
1633     }
1634 
1635     version(DerelictGL_APPLE)
1636     {
1637         // GL_APPLE_element_array
1638         void function(GLenum, in GLvoid*) glElementPointerAPPLE;
1639         void function(GLenum, GLint, GLsizei) glDrawElementArrayAPPLE;
1640         void function(GLenum, GLuint, GLuint, GLint, GLsizei) glDrawRangeElementArrayAPPLE;
1641         void function(GLenum, in GLint*, in GLsizei*, GLsizei) glMultiDrawElementArrayAPPLE;
1642         void function(GLenum, GLuint, GLuint, in GLint*, in GLsizei*, GLsizei) glMultiDrawRangeElementArrayAPPLE;
1643 
1644         // GL_APPLE_fence
1645         void function(GLsizei, GLuint*) glGenFencesAPPLE;
1646         void function(GLsizei, in GLuint*) glDeleteFencesAPPLE;
1647         void function(GLuint) glSetFenceAPPLE;
1648         GLboolean function(GLuint) glIsFenceAPPLE;
1649         GLboolean function(GLuint) glTestFenceAPPLE;
1650         void function(GLuint) glFinishFenceAPPLE;
1651         GLboolean function(GLenum, GLuint) glTestObjectAPPLE;
1652         void function(GLenum, GLint) glFinishObjectAPPLE;
1653 
1654         // GL_APPLE_vertex_array_object
1655         void function(GLuint) glBindVertexArrayAPPLE;
1656         void function(GLsizei, in GLuint*) glDeleteVertexArraysAPPLE;
1657         void function(GLsizei, GLuint*) glGenVertexArraysAPPLE;
1658         GLboolean function(GLuint) glIsVertexArrayAPPLE;
1659 
1660         // GL_APPLE_vertex_array_range
1661         void function(GLsizei, GLvoid*) glVertexArrayRangeAPPLE;
1662         void function(GLsizei, GLvoid*) glFlushVertexArrayRangeAPPLE;
1663         void function(GLenum, GLint) glVertexArrayParameteriAPPLE;
1664 
1665         // GL_APPLE_flush_buffer_range
1666         void function(GLenum, GLenum, GLint) glBufferParameteriAPPLE;
1667         void function(GLenum, GLintptr, GLsizeiptr) glFlushMappedBufferRangeAPPLE;
1668 
1669         // GL_APPLE_texture_range
1670         void function(GLenum, GLsizei, in GLvoid*) glTextureRangeAPPLE;
1671         void function(GLenum, GLenum, GLvoid**) glGetTexParameterPointervAPPLE;
1672 
1673         // GL_APPLE_vertex_program_evaluators
1674         void function(GLuint, GLenum) glEnableVertexAttribAPPLE;
1675         void function(GLuint, GLenum) glDisableVertexAttribAPPLE;
1676         GLboolean function(GLuint, GLenum) glIsVertexAttribAPPLE;
1677         void function(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, in GLdouble*) glMapVertexAttrib1dAPPLE;
1678         void function(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, in GLfloat*) glMapVertexAttrib1fAPPLE;
1679         void function(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, in GLdouble*) glMapVertexAttrib2dAPPLE;
1680         void function(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, in GLfloat*) glMapVertexAttrib2fAPPLE;
1681 
1682         // GL_APPLE_object_purgeable
1683         GLenum function(GLenum, GLuint, GLenum) glObjectPurgeableAPPLE;
1684         GLenum function(GLenum, GLuint, GLenum) glObjectUnpurgeableAPPLE;
1685         void function(GLenum, GLuint, GLenum, GLuint*) glGetObjectParameterivAPPLE;
1686     }
1687 
1688     version(DerelictGL_SUNX)
1689     {
1690         // GL_SUNX_inant_data
1691         void function() glFinishTextureSUNX;
1692     }
1693 
1694     version(DerelictGL_SUN)
1695     {
1696         // GL_SUN_global_alpha
1697         void function(GLbyte) glGlobalAlphaFactorbSUN;
1698         void function(GLshort) glGlobalAlphaFactorsSUN;
1699         void function(GLint) glGlobalAlphaFactoriSUN;
1700         void function(GLfloat) glGlobalAlphaFactorfSUN;
1701         void function(GLdouble) glGlobalAlphaFactordSUN;
1702         void function(GLubyte) glGlobalAlphaFactorubSUN;
1703         void function(GLushort) glGlobalAlphaFactorusSUN;
1704         void function(GLuint) glGlobalAlphaFactoruiSUN;
1705 
1706         // GL_SUN_triangle_list
1707         void function(GLuint) glReplacementCodeuiSUN;
1708         void function(GLushort) glReplacementCodeusSUN;
1709         void function(GLubyte) glReplacementCodeubSUN;
1710         void function(in GLuint*) glReplacementCodeuivSUN;
1711         void function(in GLushort*) glReplacementCodeusvSUN;
1712         void function(in GLubyte*) glReplacementCodeubvSUN;
1713         void function(GLenum, GLsizei, in GLvoid**) glReplacementCodePointerSUN;
1714 
1715         // GL_SUN_vertex
1716         void function(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat) glColor4ubVertex2fSUN;
1717         void function(in GLubyte*, in GLfloat*) glColor4ubVertex2fvSUN;
1718         void function(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat) glColor4ubVertex3fSUN;
1719         void function(in GLubyte*, in GLfloat*) glColor4ubVertex3fvSUN;
1720         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glColor3fVertex3fSUN;
1721         void function(in GLfloat*, in GLfloat*) glColor3fVertex3fvSUN;
1722         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glNormal3fVertex3fSUN;
1723         void function(in GLfloat*, in GLfloat*) glNormal3fVertex3fvSUN;
1724         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glColor4fNormal3fVertex3fSUN;
1725         void function(in GLfloat*, in GLfloat*, in GLfloat*) glColor4fNormal3fVertex3fvSUN;
1726         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord2fVertex3fSUN;
1727         void function(in GLfloat*, in GLfloat*) glTexCoord2fVertex3fvSUN;
1728         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord4fVertex4fSUN;
1729         void function(in GLfloat*, in GLfloat*) glTexCoord4fVertex4fvSUN;
1730         void function(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat) glTexCoord2fColor4ubVertex3fSUN;
1731         void function(in GLfloat*, in GLubyte*, in GLfloat*) glTexCoord2fColor4ubVertex3fvSUN;
1732         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord2fColor3fVertex3fSUN;
1733         void function(in GLfloat*, in GLfloat*, in GLfloat*) glTexCoord2fColor3fVertex3fvSUN;
1734         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord2fNormal3fVertex3fSUN;
1735         void function(in GLfloat*, in GLfloat*, in GLfloat*) glTexCoord2fNormal3fVertex3fvSUN;
1736         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord2fColor4fNormal3fVertex3fSUN;
1737         void function(in GLfloat*, in GLfloat*, in GLfloat*, in GLfloat*) glTexCoord2fColor4fNormal3fVertex3fvSUN;
1738         void function(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glTexCoord4fColor4fNormal3fVertex4fSUN;
1739         void function(in GLfloat*, in GLfloat*, in GLfloat*, in GLfloat*) glTexCoord4fColor4fNormal3fVertex4fvSUN;
1740         void function(GLuint, GLfloat, GLfloat, GLfloat) glReplacementCodeuiVertex3fSUN;
1741         void function(in GLuint*, in GLfloat*) glReplacementCodeuiVertex3fvSUN;
1742         void function(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat) glReplacementCodeuiColor4ubVertex3fSUN;
1743         void function(in GLuint*, in GLubyte*, in GLfloat*) glReplacementCodeuiColor4ubVertex3fvSUN;
1744         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiColor3fVertex3fSUN;
1745         void function(in GLuint*, in GLfloat*, in GLfloat*) glReplacementCodeuiColor3fVertex3fvSUN;
1746         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiNormal3fVertex3fSUN;
1747         void function(in GLuint*, in GLfloat*, in GLfloat*) glReplacementCodeuiNormal3fVertex3fvSUN;
1748         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiColor4fNormal3fVertex3fSUN;
1749         void function(in GLuint*, in GLfloat*, in GLfloat*, in GLfloat*) glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
1750         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiTexCoord2fVertex3fSUN;
1751         void function(in GLuint*, in GLfloat*, in GLfloat*) glReplacementCodeuiTexCoord2fVertex3fvSUN;
1752         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
1753         void function(in GLuint*, in GLfloat*, in GLfloat*, in GLfloat*) glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
1754         void function(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
1755         void function(in GLuint*, in GLfloat*, in GLfloat*, in GLfloat*, in GLfloat*) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
1756 
1757         // GL_SUN_mesh_array
1758         void function(GLenum, GLint, GLsizei, GLsizei) glDrawMeshArraysSUN;
1759     }
1760 
1761     version(DerelictGL_INGR)
1762     {
1763     }
1764 
1765     version(DerelictGL_MESA)
1766     {
1767         // GL_MESA_resize_buffers
1768         void function() glResizeBuffersMESA;
1769 
1770         // GL_MESA_window_pos
1771         void function(GLdouble, GLdouble) glWindowPos2dMESA;
1772         void function(in GLdouble*) glWindowPos2dvMESA;
1773         void function(GLfloat, GLfloat) glWindowPos2fMESA;
1774         void function(in GLfloat*) glWindowPos2fvMESA;
1775         void function(GLint, GLint) glWindowPos2iMESA;
1776         void function(in GLint*) glWindowPos2ivMESA;
1777         void function(GLshort, GLshort) glWindowPos2sMESA;
1778         void function(in GLshort*) glWindowPos2svMESA;
1779         void function(GLdouble, GLdouble, GLdouble) glWindowPos3dMESA;
1780         void function(in GLdouble*) glWindowPos3dvMESA;
1781         void function(GLfloat, GLfloat, GLfloat) glWindowPos3fMESA;
1782         void function(in GLfloat*) glWindowPos3fvMESA;
1783         void function(GLint, GLint, GLint) glWindowPos3iMESA;
1784         void function(in GLint*) glWindowPos3ivMESA;
1785         void function(GLshort, GLshort, GLshort) glWindowPos3sMESA;
1786         void function(in GLshort*) glWindowPos3svMESA;
1787         void function(GLdouble, GLdouble, GLdouble, GLdouble) glWindowPos4dMESA;
1788         void function(in GLdouble*) glWindowPos4dvMESA;
1789         void function(GLfloat, GLfloat, GLfloat, GLfloat) glWindowPos4fMESA;
1790         void function(in GLfloat*) glWindowPos4fvMESA;
1791         void function(GLint, GLint, GLint, GLint) glWindowPos4iMESA;
1792         void function(in GLint*) glWindowPos4ivMESA;
1793         void function(GLshort, GLshort, GLshort, GLshort) glWindowPos4sMESA;
1794         void function(in GLshort*) glWindowPos4svMESA;
1795     }
1796 
1797     version(DerelictGL_3DFX)
1798     {
1799         // GL_3DFX_tbuffer
1800         void function(GLuint) glTbufferMask3DFX;
1801     }
1802 
1803     version(DerelictGL_OML)
1804     {
1805     }
1806 
1807     version(DerelictGL_S3)
1808     {
1809     }
1810 
1811     version(DerelictGL_OES)
1812     {
1813     }
1814 
1815     version(DerelictGL_GREMEDY)
1816     {
1817         // GL_GREMEDY_string_marker
1818         void function(GLsizei, in GLvoid*) glStringMarkerGREMEDY;
1819 
1820         // GL_GREMEDY_frame_terminator
1821         void function() glFrameTerminatorGREMEDY;
1822     }
1823 
1824     version(DerelictGL_MESAX)
1825     {
1826     }
1827 
1828     version(Windows)
1829     {
1830         version(DerelictGL_ARB)
1831         {
1832             // WGL_ARB_buffer_region
1833             HANDLE function(HDC, int, UINT) wglCreateBufferRegionARB;
1834             void function(HANDLE) wglDeleteBufferRegionARB;
1835             BOOL function(HANDLE, int, int, int, int) wglSaveBufferRegionARB;
1836             BOOL function(HANDLE, int, int, int, int, int, int) wglRestoreBufferRegionARB;
1837 
1838             // WGL_ARB_extensions_string
1839             CCPTR function(HDC) wglGetExtensionsStringARB;
1840 
1841             // WGL_ARB_pixel_format
1842             BOOL function(HDC, int, int, UINT, in int*, int*) wglGetPixelFormatAttribivARB;
1843             BOOL function(HDC, int, int, UINT, in int*, float*) wglGetPixelFormatAttribfvARB;
1844             BOOL function(HDC, in int*, in float*, UINT, int*, UINT*) wglChoosePixelFormatARB;
1845 
1846             // WGL_ARB_make_current_read
1847             BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentARB;
1848             HDC function() wglGetCurrentReadDCARB;
1849 
1850             // WGL_ARB_pbuffer
1851             HPBUFFERARB function(HDC, int, int, int, in int*) wglCreatePbufferARB;
1852             HDC function(HPBUFFERARB) wglGetPbufferDCARB;
1853             int function(HPBUFFERARB, HDC) wglReleasePbufferDCARB;
1854             BOOL function(HPBUFFERARB) wglDestroyPbufferARB;
1855             BOOL function(HPBUFFERARB, int, int*) wglQueryPbufferARB;
1856 
1857             // WGL_ARB_render_texture
1858             BOOL function(HPBUFFERARB, int) wglBindTexImageARB;
1859             BOOL function(HPBUFFERARB, int) wglReleaseTexImageARB;
1860             BOOL function(HPBUFFERARB, in int*) wglSetPbufferAttribARB;
1861 
1862             // WGL_ARB_create_context
1863             HGLRC function(HDC, HGLRC, in int*) wglCreateContextAttribsARB;
1864         }
1865 
1866         version(DerelictGL_EXT)
1867         {
1868             // WGL_EXT_display_color_table
1869             GLboolean function(GLushort) wglBindDisplayColorTableEXT;
1870             GLboolean function(GLushort) wglCreateDisplayColorTableEXT;
1871             void function(GLushort) wglDestroyDisplayColorTableEXT;
1872             GLboolean function(GLushort*, GLuint) wglLoadDisplayColorTableEXT;
1873 
1874             // WGL_EXT_extensions_string
1875             CCPTR function() wglGetExtensionsStringEXT;
1876 
1877             // WGL_EXT_make_current_read
1878             BOOL function(HDC, HDC, HGLRC) wglMakeContextCurrentEXT;
1879             HDC function() wglGetCurrentReadDCEXT;
1880 
1881             // WGL_EXT_pbuffer
1882             HPBUFFEREXT function(HDC, int, int, int, in int*) wglCreatePbufferEXT;
1883             BOOL function(HPBUFFEREXT) wglDestroyPbufferEXT;
1884             HDC function(HPBUFFEREXT) wglGetPbufferDCEXT;
1885             BOOL function(HPBUFFEREXT, int, int*) wglQueryPbufferEXT;
1886             int function(HPBUFFEREXT, HDC) wglReleasePbufferDCEXT;
1887 
1888             // WGL_EXT_pixel_format
1889             BOOL function(HDC, in int*, in FLOAT*, UINT, int*, UINT*) wglChoosePixelFormatEXT;
1890             BOOL function(HDC, int, int, UINT, int*, FLOAT*) wglGetPixelFormatAttribfvEXT;
1891             BOOL function(HDC, int, int, UINT, int*, int*) wglGetPixelFormatAttribivEXT;
1892 
1893             // WGL_EXT_swap_control
1894             int function() wglGetSwapIntervalEXT;
1895             BOOL function(int) wglSwapIntervalEXT;
1896         }
1897 
1898         version(DerelictGL_NV)
1899         {
1900             // WGL_NV_copy_image
1901             BOOL function(HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) wglCopyImageSubDataNV;
1902 
1903             // WGL_NV_gpu_affinity
1904             HDC function(in HGPUNV*) wglCreateAffinityDCNV;
1905             BOOL function(HDC) wglDeleteDCNV;
1906             BOOL function(HGPUNV, UINT, PGPU_DEVICE) wglEnumGpuDevicesNV;
1907             BOOL function(HDC, UINT, HGPUNV*) wglEnumGpusFromAffinityDCNV;
1908             BOOL function(UINT, HGPUNV*) wglEnumGpusNV;
1909 
1910             // WGL_NV_present_video
1911             BOOL function(HDC, uint, HVIDEOOUTPUTDEVICENV, in int*) wglBindVideoDeviceNV;
1912             int function(HDC, HVIDEOOUTPUTDEVICENV*) wglEnumerateVideoDevicesNV;
1913             BOOL function(HDC, int, int*) wglQueryCurrentContextNV;
1914 
1915             // WGL_NV_swap_group
1916             BOOL function(GLuint, GLuint) wglBindSwapBarrierNV;
1917             BOOL function(HDC, GLuint) wglJoinSwapGroupNV;
1918             BOOL function(HDC, GLuint*) wglQueryFrameCountNV;
1919             BOOL function(HDC, GLuint*, GLuint*) wglQueryMaxSwapGroupsNV;
1920             BOOL function(HDC, GLuint*, GLuint*) wglQuerySwapGroupNV;
1921             BOOL function(HDC) wglResetFrameCountNV;
1922 
1923             // WGL_NV_vertex_array_range
1924             void* function(GLsizei, GLfloat, GLfloat, GLfloat) wglAllocateMemoryNV;
1925             void function(void*) wglFreeMemoryNV;
1926 
1927             // WGL_NV_video_output
1928             BOOL function(HPVIDEODEV, HPBUFFERARB, int) wglBindVideoImageNV;
1929             BOOL function(HDC, int, HPVIDEODEV*) wglGetVideoDeviceNV;
1930             BOOL function(HPVIDEODEV, uint*, uint*) wglGetVideoInfoNV;
1931             BOOL function(HPVIDEODEV) wglReleaseVideoDeviceNV;
1932             BOOL function(HPBUFFERARB, int) wglReleaseVideoImageNV;
1933             BOOL function(HPBUFFERARB, int, uint*, BOOL) wglSendPbufferToVideoNV;
1934         }
1935 
1936         version(DerelictGL_AMD)
1937         {
1938             // WGL_AMD_gpu_association
1939             void function(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) wglBlitContextFramebufferAMD;
1940             HGLRC function(UINT) wglCreateAssociatedContextAMD;
1941             HGLRC function(UINT, HGLRC, in int*) wglCreateAssociatedContextAttribsAMD;
1942             BOOL function(HGLRC) wglDeleteAssociatedContextAMD;
1943             UINT function(HGLRC) wglGetContextGPUIDAMD;
1944             HGLRC function() wglGetCurrentAssociatedContextAMD;
1945             UINT function(UINT, UINT*) wglGetGPUIDsAMD;
1946             INT function(UINT, INT, GLenum, UINT, void*) wglGetGPUInfoAMD;
1947             BOOL function(HGLRC) wglMakeAssociatedContextCurrentAMD;
1948         }
1949 
1950         version(DerelictGL_I3D)
1951         {
1952             // WGL_I3D_digital_video_control
1953             BOOL function(HDC, int, int*) wglGetDigitalVideoParametersI3D;
1954             BOOL function(HDC, int, in int*) wglSetDigitalVideoParametersI3D;
1955 
1956             // WGL_I3D_gamma
1957             BOOL function(HDC, int, USHORT*, USHORT*, USHORT*) wglGetGammaTableI3D;
1958             BOOL function(HDC, int, int*) wglGetGammaTableParametersI3D;
1959             BOOL function(HDC, int, in USHORT*, in USHORT*, in USHORT*) wglSetGammaTableI3D;
1960             BOOL function(HDC, int, in int*) wglSetGammaTableParametersI3D;
1961 
1962             // WGL_I3D_genlock
1963             BOOL function(HDC) wglDisableGenlockI3D;
1964             BOOL function(HDC) wglEnableGenlockI3D;
1965             BOOL function(HDC, UINT) wglGenlockSampleRateI3D;
1966             BOOL function(HDC, UINT) wglGenlockSourceDelayI3D;
1967             BOOL function(HDC, UINT) wglGenlockSourceEdgeI3D;
1968             BOOL function(HDC, UINT) wglGenlockSourceI3D;
1969             BOOL function(HDC, UINT*) wglGetGenlockSampleRateI3D;
1970             BOOL function(HDC, UINT*) wglGetGenlockSourceDelayI3D;
1971             BOOL function(HDC, UINT*) wglGetGenlockSourceEdgeI3D;
1972             BOOL function(HDC, UINT*) wglGetGenlockSourceI3D;
1973             BOOL function(HDC, BOOL*) wglIsEnabledGenlockI3D;
1974             BOOL function(HDC, UINT*, UINT*) wglQueryGenlockMaxSourceDelayI3D;
1975 
1976             // WGL_I3D_image_buffer
1977             BOOL function(HDC, HANDLE*, LPVOID*, DWORD*, UINT) wglAssociateImageBufferEventsI3D;
1978             LPVOID function(HDC, DWORD, UINT) wglCreateImageBufferI3D;
1979             BOOL function(HDC, LPVOID) wglDestroyImageBufferI3D;
1980             BOOL function(HDC, LPVOID*, UINT) wglReleaseImageBufferEventsI3D;
1981 
1982             // WGL_I3D_swap_frame_lock
1983             BOOL function() wglDisableFrameLockI3D;
1984             BOOL function() wglEnableFrameLockI3D;
1985             BOOL function(BOOL*) wglIsEnabledFrameLockI3D;
1986             BOOL function(BOOL*) wglQueryFrameLockMasterI3D;
1987 
1988             // WGL_I3D_swap_frame_usage
1989             BOOL function() wglBeginFrameTrackingI3D;
1990             BOOL function() wglEndFrameTrackingI3D;
1991             BOOL function(float*) wglGetFrameUsageI3D;
1992             BOOL function(DWORD*, DWORD*, float*) wglQueryFrameTrackingI3D;
1993         }
1994 
1995         version(DerelictGL_OML)
1996         {
1997             // WGL_OML_sync_control
1998             BOOL function(HDC, int*, int*) wglGetMscRateOML;
1999             BOOL function(HDC, long*, long*, long*) wglGetSyncValuesOML;
2000             long function(HDC, long, long, long) wglSwapBuffersMscOML;
2001             long function(HDC, int, long, long, long) wglSwapLayerBuffersMscOML;
2002             BOOL function(HDC, long, long, long, long*, long*, long*) wglWaitForMscOML;
2003             BOOL function(HDC, long, long*, long*, long*) wglWaitForSbcOML;
2004         }
2005 
2006         version(DerelictGL_3DL)
2007         {
2008             // WGL_3DL_stereo_control
2009             BOOL function(HDC, UINT) wglSetStereoEmitterState3DL;
2010         }
2011     }
2012     ");
2013 }