msvcrt: NULL terminate program arguments list in __getmainargs.
[wine] / dlls / opengl32 / opengl_ext.c
1
2 /* Auto-generated file... Do not edit ! */
3
4 #include "config.h"
5 #include <stdarg.h>
6 #include "opengl_ext.h"
7 #include "winternl.h"
8 #include "wingdi.h"
9 #include "wine/wgl.h"
10 #define WGL_WGLEXT_PROTOTYPES
11 #include "wine/wglext.h"
12 #include "wine/wgl_driver.h"
13 #include "wine/debug.h"
14
15 WINE_DEFAULT_DEBUG_CHANNEL(opengl);
16
17 const int extension_registry_size = 2145;
18
19 static void WINAPI glActiveProgramEXT( GLuint program ) {
20   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
21   TRACE("(%d)\n", program );
22   funcs->ext.p_glActiveProgramEXT( program );
23 }
24
25 static void WINAPI glActiveShaderProgram( GLuint pipeline, GLuint program ) {
26   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
27   TRACE("(%d, %d)\n", pipeline, program );
28   funcs->ext.p_glActiveShaderProgram( pipeline, program );
29 }
30
31 static void WINAPI glActiveStencilFaceEXT( GLenum face ) {
32   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
33   TRACE("(%d)\n", face );
34   funcs->ext.p_glActiveStencilFaceEXT( face );
35 }
36
37 static void WINAPI glActiveTexture( GLenum texture ) {
38   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
39   TRACE("(%d)\n", texture );
40   funcs->ext.p_glActiveTexture( texture );
41 }
42
43 static void WINAPI glActiveTextureARB( GLenum texture ) {
44   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
45   TRACE("(%d)\n", texture );
46   funcs->ext.p_glActiveTextureARB( texture );
47 }
48
49 static void WINAPI glActiveVaryingNV( GLuint program, const GLchar* name ) {
50   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
51   TRACE("(%d, %p)\n", program, name );
52   funcs->ext.p_glActiveVaryingNV( program, name );
53 }
54
55 static void WINAPI glAlphaFragmentOp1ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod ) {
56   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
57   TRACE("(%d, %d, %d, %d, %d, %d)\n", op, dst, dstMod, arg1, arg1Rep, arg1Mod );
58   funcs->ext.p_glAlphaFragmentOp1ATI( op, dst, dstMod, arg1, arg1Rep, arg1Mod );
59 }
60
61 static void WINAPI glAlphaFragmentOp2ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod ) {
62   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
63   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod );
64   funcs->ext.p_glAlphaFragmentOp2ATI( op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod );
65 }
66
67 static void WINAPI glAlphaFragmentOp3ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod ) {
68   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
69   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod );
70   funcs->ext.p_glAlphaFragmentOp3ATI( op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod );
71 }
72
73 static void WINAPI glApplyTextureEXT( GLenum mode ) {
74   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
75   TRACE("(%d)\n", mode );
76   funcs->ext.p_glApplyTextureEXT( mode );
77 }
78
79 static GLboolean WINAPI glAreProgramsResidentNV( GLsizei n, const GLuint* programs, GLboolean* residences ) {
80   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
81   TRACE("(%d, %p, %p)\n", n, programs, residences );
82   return funcs->ext.p_glAreProgramsResidentNV( n, programs, residences );
83 }
84
85 static GLboolean WINAPI glAreTexturesResidentEXT( GLsizei n, const GLuint* textures, GLboolean* residences ) {
86   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
87   TRACE("(%d, %p, %p)\n", n, textures, residences );
88   return funcs->ext.p_glAreTexturesResidentEXT( n, textures, residences );
89 }
90
91 static void WINAPI glArrayElementEXT( GLint i ) {
92   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
93   TRACE("(%d)\n", i );
94   funcs->ext.p_glArrayElementEXT( i );
95 }
96
97 static void WINAPI glArrayObjectATI( GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset ) {
98   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
99   TRACE("(%d, %d, %d, %d, %d, %d)\n", array, size, type, stride, buffer, offset );
100   funcs->ext.p_glArrayObjectATI( array, size, type, stride, buffer, offset );
101 }
102
103 static void WINAPI glAsyncMarkerSGIX( GLuint marker ) {
104   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
105   TRACE("(%d)\n", marker );
106   funcs->ext.p_glAsyncMarkerSGIX( marker );
107 }
108
109 static void WINAPI glAttachObjectARB( GLhandleARB containerObj, GLhandleARB obj ) {
110   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
111   TRACE("(%d, %d)\n", containerObj, obj );
112   funcs->ext.p_glAttachObjectARB( containerObj, obj );
113 }
114
115 static void WINAPI glAttachShader( GLuint program, GLuint shader ) {
116   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
117   TRACE("(%d, %d)\n", program, shader );
118   funcs->ext.p_glAttachShader( program, shader );
119 }
120
121 static void WINAPI glBeginConditionalRender( GLuint id, GLenum mode ) {
122   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
123   TRACE("(%d, %d)\n", id, mode );
124   funcs->ext.p_glBeginConditionalRender( id, mode );
125 }
126
127 static void WINAPI glBeginConditionalRenderNV( GLuint id, GLenum mode ) {
128   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
129   TRACE("(%d, %d)\n", id, mode );
130   funcs->ext.p_glBeginConditionalRenderNV( id, mode );
131 }
132
133 static void WINAPI glBeginFragmentShaderATI( void ) {
134   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
135   TRACE("()\n");
136   funcs->ext.p_glBeginFragmentShaderATI( );
137 }
138
139 static void WINAPI glBeginOcclusionQueryNV( GLuint id ) {
140   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
141   TRACE("(%d)\n", id );
142   funcs->ext.p_glBeginOcclusionQueryNV( id );
143 }
144
145 static void WINAPI glBeginPerfMonitorAMD( GLuint monitor ) {
146   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
147   TRACE("(%d)\n", monitor );
148   funcs->ext.p_glBeginPerfMonitorAMD( monitor );
149 }
150
151 static void WINAPI glBeginQuery( GLenum target, GLuint id ) {
152   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
153   TRACE("(%d, %d)\n", target, id );
154   funcs->ext.p_glBeginQuery( target, id );
155 }
156
157 static void WINAPI glBeginQueryARB( GLenum target, GLuint id ) {
158   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
159   TRACE("(%d, %d)\n", target, id );
160   funcs->ext.p_glBeginQueryARB( target, id );
161 }
162
163 static void WINAPI glBeginQueryIndexed( GLenum target, GLuint index, GLuint id ) {
164   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
165   TRACE("(%d, %d, %d)\n", target, index, id );
166   funcs->ext.p_glBeginQueryIndexed( target, index, id );
167 }
168
169 static void WINAPI glBeginTransformFeedback( GLenum primitiveMode ) {
170   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
171   TRACE("(%d)\n", primitiveMode );
172   funcs->ext.p_glBeginTransformFeedback( primitiveMode );
173 }
174
175 static void WINAPI glBeginTransformFeedbackEXT( GLenum primitiveMode ) {
176   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
177   TRACE("(%d)\n", primitiveMode );
178   funcs->ext.p_glBeginTransformFeedbackEXT( primitiveMode );
179 }
180
181 static void WINAPI glBeginTransformFeedbackNV( GLenum primitiveMode ) {
182   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
183   TRACE("(%d)\n", primitiveMode );
184   funcs->ext.p_glBeginTransformFeedbackNV( primitiveMode );
185 }
186
187 static void WINAPI glBeginVertexShaderEXT( void ) {
188   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
189   TRACE("()\n");
190   funcs->ext.p_glBeginVertexShaderEXT( );
191 }
192
193 static void WINAPI glBeginVideoCaptureNV( GLuint video_capture_slot ) {
194   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
195   TRACE("(%d)\n", video_capture_slot );
196   funcs->ext.p_glBeginVideoCaptureNV( video_capture_slot );
197 }
198
199 static void WINAPI glBindAttribLocation( GLuint program, GLuint index, const GLchar* name ) {
200   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
201   TRACE("(%d, %d, %p)\n", program, index, name );
202   funcs->ext.p_glBindAttribLocation( program, index, name );
203 }
204
205 static void WINAPI glBindAttribLocationARB( GLhandleARB programObj, GLuint index, const GLcharARB* name ) {
206   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
207   TRACE("(%d, %d, %p)\n", programObj, index, name );
208   funcs->ext.p_glBindAttribLocationARB( programObj, index, name );
209 }
210
211 static void WINAPI glBindBuffer( GLenum target, GLuint buffer ) {
212   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
213   TRACE("(%d, %d)\n", target, buffer );
214   funcs->ext.p_glBindBuffer( target, buffer );
215 }
216
217 static void WINAPI glBindBufferARB( GLenum target, GLuint buffer ) {
218   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
219   TRACE("(%d, %d)\n", target, buffer );
220   funcs->ext.p_glBindBufferARB( target, buffer );
221 }
222
223 static void WINAPI glBindBufferBase( GLenum target, GLuint index, GLuint buffer ) {
224   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
225   TRACE("(%d, %d, %d)\n", target, index, buffer );
226   funcs->ext.p_glBindBufferBase( target, index, buffer );
227 }
228
229 static void WINAPI glBindBufferBaseEXT( GLenum target, GLuint index, GLuint buffer ) {
230   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
231   TRACE("(%d, %d, %d)\n", target, index, buffer );
232   funcs->ext.p_glBindBufferBaseEXT( target, index, buffer );
233 }
234
235 static void WINAPI glBindBufferBaseNV( GLenum target, GLuint index, GLuint buffer ) {
236   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
237   TRACE("(%d, %d, %d)\n", target, index, buffer );
238   funcs->ext.p_glBindBufferBaseNV( target, index, buffer );
239 }
240
241 static void WINAPI glBindBufferOffsetEXT( GLenum target, GLuint index, GLuint buffer, GLintptr offset ) {
242   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
243   TRACE("(%d, %d, %d, %ld)\n", target, index, buffer, offset );
244   funcs->ext.p_glBindBufferOffsetEXT( target, index, buffer, offset );
245 }
246
247 static void WINAPI glBindBufferOffsetNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset ) {
248   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
249   TRACE("(%d, %d, %d, %ld)\n", target, index, buffer, offset );
250   funcs->ext.p_glBindBufferOffsetNV( target, index, buffer, offset );
251 }
252
253 static void WINAPI glBindBufferRange( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
254   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
255   TRACE("(%d, %d, %d, %ld, %ld)\n", target, index, buffer, offset, size );
256   funcs->ext.p_glBindBufferRange( target, index, buffer, offset, size );
257 }
258
259 static void WINAPI glBindBufferRangeEXT( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
260   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
261   TRACE("(%d, %d, %d, %ld, %ld)\n", target, index, buffer, offset, size );
262   funcs->ext.p_glBindBufferRangeEXT( target, index, buffer, offset, size );
263 }
264
265 static void WINAPI glBindBufferRangeNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
266   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
267   TRACE("(%d, %d, %d, %ld, %ld)\n", target, index, buffer, offset, size );
268   funcs->ext.p_glBindBufferRangeNV( target, index, buffer, offset, size );
269 }
270
271 static void WINAPI glBindFragDataLocation( GLuint program, GLuint color, const GLchar* name ) {
272   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
273   TRACE("(%d, %d, %p)\n", program, color, name );
274   funcs->ext.p_glBindFragDataLocation( program, color, name );
275 }
276
277 static void WINAPI glBindFragDataLocationEXT( GLuint program, GLuint color, const GLchar* name ) {
278   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
279   TRACE("(%d, %d, %p)\n", program, color, name );
280   funcs->ext.p_glBindFragDataLocationEXT( program, color, name );
281 }
282
283 static void WINAPI glBindFragDataLocationIndexed( GLuint program, GLuint colorNumber, GLuint index, const GLchar* name ) {
284   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
285   TRACE("(%d, %d, %d, %p)\n", program, colorNumber, index, name );
286   funcs->ext.p_glBindFragDataLocationIndexed( program, colorNumber, index, name );
287 }
288
289 static void WINAPI glBindFragmentShaderATI( GLuint id ) {
290   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
291   TRACE("(%d)\n", id );
292   funcs->ext.p_glBindFragmentShaderATI( id );
293 }
294
295 static void WINAPI glBindFramebuffer( GLenum target, GLuint framebuffer ) {
296   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
297   TRACE("(%d, %d)\n", target, framebuffer );
298   funcs->ext.p_glBindFramebuffer( target, framebuffer );
299 }
300
301 static void WINAPI glBindFramebufferEXT( GLenum target, GLuint framebuffer ) {
302   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
303   TRACE("(%d, %d)\n", target, framebuffer );
304   funcs->ext.p_glBindFramebufferEXT( target, framebuffer );
305 }
306
307 static void WINAPI glBindImageTexture( GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format ) {
308   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
309   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", unit, texture, level, layered, layer, access, format );
310   funcs->ext.p_glBindImageTexture( unit, texture, level, layered, layer, access, format );
311 }
312
313 static void WINAPI glBindImageTextureEXT( GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format ) {
314   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
315   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", index, texture, level, layered, layer, access, format );
316   funcs->ext.p_glBindImageTextureEXT( index, texture, level, layered, layer, access, format );
317 }
318
319 static GLuint WINAPI glBindLightParameterEXT( GLenum light, GLenum value ) {
320   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
321   TRACE("(%d, %d)\n", light, value );
322   return funcs->ext.p_glBindLightParameterEXT( light, value );
323 }
324
325 static GLuint WINAPI glBindMaterialParameterEXT( GLenum face, GLenum value ) {
326   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
327   TRACE("(%d, %d)\n", face, value );
328   return funcs->ext.p_glBindMaterialParameterEXT( face, value );
329 }
330
331 static void WINAPI glBindMultiTextureEXT( GLenum texunit, GLenum target, GLuint texture ) {
332   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
333   TRACE("(%d, %d, %d)\n", texunit, target, texture );
334   funcs->ext.p_glBindMultiTextureEXT( texunit, target, texture );
335 }
336
337 static GLuint WINAPI glBindParameterEXT( GLenum value ) {
338   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
339   TRACE("(%d)\n", value );
340   return funcs->ext.p_glBindParameterEXT( value );
341 }
342
343 static void WINAPI glBindProgramARB( GLenum target, GLuint program ) {
344   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
345   TRACE("(%d, %d)\n", target, program );
346   funcs->ext.p_glBindProgramARB( target, program );
347 }
348
349 static void WINAPI glBindProgramNV( GLenum target, GLuint id ) {
350   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
351   TRACE("(%d, %d)\n", target, id );
352   funcs->ext.p_glBindProgramNV( target, id );
353 }
354
355 static void WINAPI glBindProgramPipeline( GLuint pipeline ) {
356   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
357   TRACE("(%d)\n", pipeline );
358   funcs->ext.p_glBindProgramPipeline( pipeline );
359 }
360
361 static void WINAPI glBindRenderbuffer( GLenum target, GLuint renderbuffer ) {
362   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
363   TRACE("(%d, %d)\n", target, renderbuffer );
364   funcs->ext.p_glBindRenderbuffer( target, renderbuffer );
365 }
366
367 static void WINAPI glBindRenderbufferEXT( GLenum target, GLuint renderbuffer ) {
368   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
369   TRACE("(%d, %d)\n", target, renderbuffer );
370   funcs->ext.p_glBindRenderbufferEXT( target, renderbuffer );
371 }
372
373 static void WINAPI glBindSampler( GLuint unit, GLuint sampler ) {
374   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
375   TRACE("(%d, %d)\n", unit, sampler );
376   funcs->ext.p_glBindSampler( unit, sampler );
377 }
378
379 static GLuint WINAPI glBindTexGenParameterEXT( GLenum unit, GLenum coord, GLenum value ) {
380   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
381   TRACE("(%d, %d, %d)\n", unit, coord, value );
382   return funcs->ext.p_glBindTexGenParameterEXT( unit, coord, value );
383 }
384
385 static void WINAPI glBindTextureEXT( GLenum target, GLuint texture ) {
386   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
387   TRACE("(%d, %d)\n", target, texture );
388   funcs->ext.p_glBindTextureEXT( target, texture );
389 }
390
391 static GLuint WINAPI glBindTextureUnitParameterEXT( GLenum unit, GLenum value ) {
392   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
393   TRACE("(%d, %d)\n", unit, value );
394   return funcs->ext.p_glBindTextureUnitParameterEXT( unit, value );
395 }
396
397 static void WINAPI glBindTransformFeedback( GLenum target, GLuint id ) {
398   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
399   TRACE("(%d, %d)\n", target, id );
400   funcs->ext.p_glBindTransformFeedback( target, id );
401 }
402
403 static void WINAPI glBindTransformFeedbackNV( GLenum target, GLuint id ) {
404   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
405   TRACE("(%d, %d)\n", target, id );
406   funcs->ext.p_glBindTransformFeedbackNV( target, id );
407 }
408
409 static void WINAPI glBindVertexArray( GLuint array ) {
410   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
411   TRACE("(%d)\n", array );
412   funcs->ext.p_glBindVertexArray( array );
413 }
414
415 static void WINAPI glBindVertexArrayAPPLE( GLuint array ) {
416   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
417   TRACE("(%d)\n", array );
418   funcs->ext.p_glBindVertexArrayAPPLE( array );
419 }
420
421 static void WINAPI glBindVertexBuffer( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) {
422   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
423   TRACE("(%d, %d, %ld, %d)\n", bindingindex, buffer, offset, stride );
424   funcs->ext.p_glBindVertexBuffer( bindingindex, buffer, offset, stride );
425 }
426
427 static void WINAPI glBindVertexShaderEXT( GLuint id ) {
428   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
429   TRACE("(%d)\n", id );
430   funcs->ext.p_glBindVertexShaderEXT( id );
431 }
432
433 static void WINAPI glBindVideoCaptureStreamBufferNV( GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset ) {
434   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
435   TRACE("(%d, %d, %d, %ld)\n", video_capture_slot, stream, frame_region, offset );
436   funcs->ext.p_glBindVideoCaptureStreamBufferNV( video_capture_slot, stream, frame_region, offset );
437 }
438
439 static void WINAPI glBindVideoCaptureStreamTextureNV( GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture ) {
440   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
441   TRACE("(%d, %d, %d, %d, %d)\n", video_capture_slot, stream, frame_region, target, texture );
442   funcs->ext.p_glBindVideoCaptureStreamTextureNV( video_capture_slot, stream, frame_region, target, texture );
443 }
444
445 static void WINAPI glBinormal3bEXT( GLbyte bx, GLbyte by, GLbyte bz ) {
446   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
447   TRACE("(%d, %d, %d)\n", bx, by, bz );
448   funcs->ext.p_glBinormal3bEXT( bx, by, bz );
449 }
450
451 static void WINAPI glBinormal3bvEXT( const GLbyte* v ) {
452   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
453   TRACE("(%p)\n", v );
454   funcs->ext.p_glBinormal3bvEXT( v );
455 }
456
457 static void WINAPI glBinormal3dEXT( GLdouble bx, GLdouble by, GLdouble bz ) {
458   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
459   TRACE("(%f, %f, %f)\n", bx, by, bz );
460   funcs->ext.p_glBinormal3dEXT( bx, by, bz );
461 }
462
463 static void WINAPI glBinormal3dvEXT( const GLdouble* v ) {
464   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
465   TRACE("(%p)\n", v );
466   funcs->ext.p_glBinormal3dvEXT( v );
467 }
468
469 static void WINAPI glBinormal3fEXT( GLfloat bx, GLfloat by, GLfloat bz ) {
470   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
471   TRACE("(%f, %f, %f)\n", bx, by, bz );
472   funcs->ext.p_glBinormal3fEXT( bx, by, bz );
473 }
474
475 static void WINAPI glBinormal3fvEXT( const GLfloat* v ) {
476   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
477   TRACE("(%p)\n", v );
478   funcs->ext.p_glBinormal3fvEXT( v );
479 }
480
481 static void WINAPI glBinormal3iEXT( GLint bx, GLint by, GLint bz ) {
482   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
483   TRACE("(%d, %d, %d)\n", bx, by, bz );
484   funcs->ext.p_glBinormal3iEXT( bx, by, bz );
485 }
486
487 static void WINAPI glBinormal3ivEXT( const GLint* v ) {
488   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
489   TRACE("(%p)\n", v );
490   funcs->ext.p_glBinormal3ivEXT( v );
491 }
492
493 static void WINAPI glBinormal3sEXT( GLshort bx, GLshort by, GLshort bz ) {
494   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
495   TRACE("(%d, %d, %d)\n", bx, by, bz );
496   funcs->ext.p_glBinormal3sEXT( bx, by, bz );
497 }
498
499 static void WINAPI glBinormal3svEXT( const GLshort* v ) {
500   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
501   TRACE("(%p)\n", v );
502   funcs->ext.p_glBinormal3svEXT( v );
503 }
504
505 static void WINAPI glBinormalPointerEXT( GLenum type, GLsizei stride, const GLvoid* pointer ) {
506   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
507   TRACE("(%d, %d, %p)\n", type, stride, pointer );
508   funcs->ext.p_glBinormalPointerEXT( type, stride, pointer );
509 }
510
511 static void WINAPI glBlendColor( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) {
512   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
513   TRACE("(%f, %f, %f, %f)\n", red, green, blue, alpha );
514   funcs->ext.p_glBlendColor( red, green, blue, alpha );
515 }
516
517 static void WINAPI glBlendColorEXT( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) {
518   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
519   TRACE("(%f, %f, %f, %f)\n", red, green, blue, alpha );
520   funcs->ext.p_glBlendColorEXT( red, green, blue, alpha );
521 }
522
523 static void WINAPI glBlendEquation( GLenum mode ) {
524   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
525   TRACE("(%d)\n", mode );
526   funcs->ext.p_glBlendEquation( mode );
527 }
528
529 static void WINAPI glBlendEquationEXT( GLenum mode ) {
530   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
531   TRACE("(%d)\n", mode );
532   funcs->ext.p_glBlendEquationEXT( mode );
533 }
534
535 static void WINAPI glBlendEquationIndexedAMD( GLuint buf, GLenum mode ) {
536   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
537   TRACE("(%d, %d)\n", buf, mode );
538   funcs->ext.p_glBlendEquationIndexedAMD( buf, mode );
539 }
540
541 static void WINAPI glBlendEquationSeparate( GLenum modeRGB, GLenum modeAlpha ) {
542   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
543   TRACE("(%d, %d)\n", modeRGB, modeAlpha );
544   funcs->ext.p_glBlendEquationSeparate( modeRGB, modeAlpha );
545 }
546
547 static void WINAPI glBlendEquationSeparateEXT( GLenum modeRGB, GLenum modeAlpha ) {
548   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
549   TRACE("(%d, %d)\n", modeRGB, modeAlpha );
550   funcs->ext.p_glBlendEquationSeparateEXT( modeRGB, modeAlpha );
551 }
552
553 static void WINAPI glBlendEquationSeparateIndexedAMD( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) {
554   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
555   TRACE("(%d, %d, %d)\n", buf, modeRGB, modeAlpha );
556   funcs->ext.p_glBlendEquationSeparateIndexedAMD( buf, modeRGB, modeAlpha );
557 }
558
559 static void WINAPI glBlendEquationSeparatei( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) {
560   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
561   TRACE("(%d, %d, %d)\n", buf, modeRGB, modeAlpha );
562   funcs->ext.p_glBlendEquationSeparatei( buf, modeRGB, modeAlpha );
563 }
564
565 static void WINAPI glBlendEquationSeparateiARB( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) {
566   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
567   TRACE("(%d, %d, %d)\n", buf, modeRGB, modeAlpha );
568   funcs->ext.p_glBlendEquationSeparateiARB( buf, modeRGB, modeAlpha );
569 }
570
571 static void WINAPI glBlendEquationi( GLuint buf, GLenum mode ) {
572   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
573   TRACE("(%d, %d)\n", buf, mode );
574   funcs->ext.p_glBlendEquationi( buf, mode );
575 }
576
577 static void WINAPI glBlendEquationiARB( GLuint buf, GLenum mode ) {
578   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
579   TRACE("(%d, %d)\n", buf, mode );
580   funcs->ext.p_glBlendEquationiARB( buf, mode );
581 }
582
583 static void WINAPI glBlendFuncIndexedAMD( GLuint buf, GLenum src, GLenum dst ) {
584   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
585   TRACE("(%d, %d, %d)\n", buf, src, dst );
586   funcs->ext.p_glBlendFuncIndexedAMD( buf, src, dst );
587 }
588
589 static void WINAPI glBlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) {
590   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
591   TRACE("(%d, %d, %d, %d)\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
592   funcs->ext.p_glBlendFuncSeparate( sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
593 }
594
595 static void WINAPI glBlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) {
596   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
597   TRACE("(%d, %d, %d, %d)\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
598   funcs->ext.p_glBlendFuncSeparateEXT( sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
599 }
600
601 static void WINAPI glBlendFuncSeparateINGR( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) {
602   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
603   TRACE("(%d, %d, %d, %d)\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
604   funcs->ext.p_glBlendFuncSeparateINGR( sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha );
605 }
606
607 static void WINAPI glBlendFuncSeparateIndexedAMD( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) {
608   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
609   TRACE("(%d, %d, %d, %d, %d)\n", buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
610   funcs->ext.p_glBlendFuncSeparateIndexedAMD( buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
611 }
612
613 static void WINAPI glBlendFuncSeparatei( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) {
614   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
615   TRACE("(%d, %d, %d, %d, %d)\n", buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
616   funcs->ext.p_glBlendFuncSeparatei( buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
617 }
618
619 static void WINAPI glBlendFuncSeparateiARB( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) {
620   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
621   TRACE("(%d, %d, %d, %d, %d)\n", buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
622   funcs->ext.p_glBlendFuncSeparateiARB( buf, srcRGB, dstRGB, srcAlpha, dstAlpha );
623 }
624
625 static void WINAPI glBlendFunci( GLuint buf, GLenum src, GLenum dst ) {
626   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
627   TRACE("(%d, %d, %d)\n", buf, src, dst );
628   funcs->ext.p_glBlendFunci( buf, src, dst );
629 }
630
631 static void WINAPI glBlendFunciARB( GLuint buf, GLenum src, GLenum dst ) {
632   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
633   TRACE("(%d, %d, %d)\n", buf, src, dst );
634   funcs->ext.p_glBlendFunciARB( buf, src, dst );
635 }
636
637 static void WINAPI glBlitFramebuffer( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) {
638   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
639   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter );
640   funcs->ext.p_glBlitFramebuffer( srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter );
641 }
642
643 static void WINAPI glBlitFramebufferEXT( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) {
644   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
645   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter );
646   funcs->ext.p_glBlitFramebufferEXT( srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter );
647 }
648
649 static void WINAPI glBufferAddressRangeNV( GLenum pname, GLuint index, UINT64 address, GLsizeiptr length ) {
650   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
651   TRACE("(%d, %d, %s, %ld)\n", pname, index, wine_dbgstr_longlong(address), length );
652   funcs->ext.p_glBufferAddressRangeNV( pname, index, address, length );
653 }
654
655 static void WINAPI glBufferData( GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage ) {
656   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
657   TRACE("(%d, %ld, %p, %d)\n", target, size, data, usage );
658   funcs->ext.p_glBufferData( target, size, data, usage );
659 }
660
661 static void WINAPI glBufferDataARB( GLenum target, GLsizeiptrARB size, const GLvoid* data, GLenum usage ) {
662   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
663   TRACE("(%d, %ld, %p, %d)\n", target, size, data, usage );
664   funcs->ext.p_glBufferDataARB( target, size, data, usage );
665 }
666
667 static void WINAPI glBufferParameteriAPPLE( GLenum target, GLenum pname, GLint param ) {
668   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
669   TRACE("(%d, %d, %d)\n", target, pname, param );
670   funcs->ext.p_glBufferParameteriAPPLE( target, pname, param );
671 }
672
673 static GLuint WINAPI glBufferRegionEnabled( void ) {
674   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
675   TRACE("()\n");
676   return funcs->ext.p_glBufferRegionEnabled( );
677 }
678
679 static void WINAPI glBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data ) {
680   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
681   TRACE("(%d, %ld, %ld, %p)\n", target, offset, size, data );
682   funcs->ext.p_glBufferSubData( target, offset, size, data );
683 }
684
685 static void WINAPI glBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid* data ) {
686   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
687   TRACE("(%d, %ld, %ld, %p)\n", target, offset, size, data );
688   funcs->ext.p_glBufferSubDataARB( target, offset, size, data );
689 }
690
691 static GLenum WINAPI glCheckFramebufferStatus( GLenum target ) {
692   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
693   TRACE("(%d)\n", target );
694   return funcs->ext.p_glCheckFramebufferStatus( target );
695 }
696
697 static GLenum WINAPI glCheckFramebufferStatusEXT( GLenum target ) {
698   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
699   TRACE("(%d)\n", target );
700   return funcs->ext.p_glCheckFramebufferStatusEXT( target );
701 }
702
703 static GLenum WINAPI glCheckNamedFramebufferStatusEXT( GLuint framebuffer, GLenum target ) {
704   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
705   TRACE("(%d, %d)\n", framebuffer, target );
706   return funcs->ext.p_glCheckNamedFramebufferStatusEXT( framebuffer, target );
707 }
708
709 static void WINAPI glClampColor( GLenum target, GLenum clamp ) {
710   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
711   TRACE("(%d, %d)\n", target, clamp );
712   funcs->ext.p_glClampColor( target, clamp );
713 }
714
715 static void WINAPI glClampColorARB( GLenum target, GLenum clamp ) {
716   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
717   TRACE("(%d, %d)\n", target, clamp );
718   funcs->ext.p_glClampColorARB( target, clamp );
719 }
720
721 static void WINAPI glClearBufferData( GLenum target, GLenum internalformat, GLenum format, GLenum type, const void* data ) {
722   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
723   TRACE("(%d, %d, %d, %d, %p)\n", target, internalformat, format, type, data );
724   funcs->ext.p_glClearBufferData( target, internalformat, format, type, data );
725 }
726
727 static void WINAPI glClearBufferSubData( GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data ) {
728   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
729   TRACE("(%d, %d, %ld, %ld, %d, %d, %p)\n", target, internalformat, offset, size, format, type, data );
730   funcs->ext.p_glClearBufferSubData( target, internalformat, offset, size, format, type, data );
731 }
732
733 static void WINAPI glClearBufferfi( GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil ) {
734   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
735   TRACE("(%d, %d, %f, %d)\n", buffer, drawbuffer, depth, stencil );
736   funcs->ext.p_glClearBufferfi( buffer, drawbuffer, depth, stencil );
737 }
738
739 static void WINAPI glClearBufferfv( GLenum buffer, GLint drawbuffer, const GLfloat* value ) {
740   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
741   TRACE("(%d, %d, %p)\n", buffer, drawbuffer, value );
742   funcs->ext.p_glClearBufferfv( buffer, drawbuffer, value );
743 }
744
745 static void WINAPI glClearBufferiv( GLenum buffer, GLint drawbuffer, const GLint* value ) {
746   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
747   TRACE("(%d, %d, %p)\n", buffer, drawbuffer, value );
748   funcs->ext.p_glClearBufferiv( buffer, drawbuffer, value );
749 }
750
751 static void WINAPI glClearBufferuiv( GLenum buffer, GLint drawbuffer, const GLuint* value ) {
752   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
753   TRACE("(%d, %d, %p)\n", buffer, drawbuffer, value );
754   funcs->ext.p_glClearBufferuiv( buffer, drawbuffer, value );
755 }
756
757 static void WINAPI glClearColorIiEXT( GLint red, GLint green, GLint blue, GLint alpha ) {
758   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
759   TRACE("(%d, %d, %d, %d)\n", red, green, blue, alpha );
760   funcs->ext.p_glClearColorIiEXT( red, green, blue, alpha );
761 }
762
763 static void WINAPI glClearColorIuiEXT( GLuint red, GLuint green, GLuint blue, GLuint alpha ) {
764   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
765   TRACE("(%d, %d, %d, %d)\n", red, green, blue, alpha );
766   funcs->ext.p_glClearColorIuiEXT( red, green, blue, alpha );
767 }
768
769 static void WINAPI glClearDepthdNV( GLdouble depth ) {
770   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
771   TRACE("(%f)\n", depth );
772   funcs->ext.p_glClearDepthdNV( depth );
773 }
774
775 static void WINAPI glClearDepthf( GLfloat d ) {
776   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
777   TRACE("(%f)\n", d );
778   funcs->ext.p_glClearDepthf( d );
779 }
780
781 static void WINAPI glClearNamedBufferDataEXT( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data ) {
782   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
783   TRACE("(%d, %d, %d, %d, %p)\n", buffer, internalformat, format, type, data );
784   funcs->ext.p_glClearNamedBufferDataEXT( buffer, internalformat, format, type, data );
785 }
786
787 static void WINAPI glClearNamedBufferSubDataEXT( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void* data ) {
788   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
789   TRACE("(%d, %d, %d, %d, %ld, %ld, %p)\n", buffer, internalformat, format, type, offset, size, data );
790   funcs->ext.p_glClearNamedBufferSubDataEXT( buffer, internalformat, format, type, offset, size, data );
791 }
792
793 static void WINAPI glClientActiveTexture( GLenum texture ) {
794   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
795   TRACE("(%d)\n", texture );
796   funcs->ext.p_glClientActiveTexture( texture );
797 }
798
799 static void WINAPI glClientActiveTextureARB( GLenum texture ) {
800   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
801   TRACE("(%d)\n", texture );
802   funcs->ext.p_glClientActiveTextureARB( texture );
803 }
804
805 static void WINAPI glClientActiveVertexStreamATI( GLenum stream ) {
806   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
807   TRACE("(%d)\n", stream );
808   funcs->ext.p_glClientActiveVertexStreamATI( stream );
809 }
810
811 static void WINAPI glClientAttribDefaultEXT( GLbitfield mask ) {
812   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
813   TRACE("(%d)\n", mask );
814   funcs->ext.p_glClientAttribDefaultEXT( mask );
815 }
816
817 static GLenum WINAPI glClientWaitSync( GLvoid* sync, GLbitfield flags, UINT64 timeout ) {
818   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
819   TRACE("(%p, %d, %s)\n", sync, flags, wine_dbgstr_longlong(timeout) );
820   return funcs->ext.p_glClientWaitSync( sync, flags, timeout );
821 }
822
823 static void WINAPI glColor3fVertex3fSUN( GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) {
824   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
825   TRACE("(%f, %f, %f, %f, %f, %f)\n", r, g, b, x, y, z );
826   funcs->ext.p_glColor3fVertex3fSUN( r, g, b, x, y, z );
827 }
828
829 static void WINAPI glColor3fVertex3fvSUN( const GLfloat* c, const GLfloat* v ) {
830   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
831   TRACE("(%p, %p)\n", c, v );
832   funcs->ext.p_glColor3fVertex3fvSUN( c, v );
833 }
834
835 static void WINAPI glColor3hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue ) {
836   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
837   TRACE("(%d, %d, %d)\n", red, green, blue );
838   funcs->ext.p_glColor3hNV( red, green, blue );
839 }
840
841 static void WINAPI glColor3hvNV( const GLhalfNV* v ) {
842   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
843   TRACE("(%p)\n", v );
844   funcs->ext.p_glColor3hvNV( v );
845 }
846
847 static void WINAPI glColor4fNormal3fVertex3fSUN( GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
848   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
849   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\n", r, g, b, a, nx, ny, nz, x, y, z );
850   funcs->ext.p_glColor4fNormal3fVertex3fSUN( r, g, b, a, nx, ny, nz, x, y, z );
851 }
852
853 static void WINAPI glColor4fNormal3fVertex3fvSUN( const GLfloat* c, const GLfloat* n, const GLfloat* v ) {
854   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
855   TRACE("(%p, %p, %p)\n", c, n, v );
856   funcs->ext.p_glColor4fNormal3fVertex3fvSUN( c, n, v );
857 }
858
859 static void WINAPI glColor4hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha ) {
860   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
861   TRACE("(%d, %d, %d, %d)\n", red, green, blue, alpha );
862   funcs->ext.p_glColor4hNV( red, green, blue, alpha );
863 }
864
865 static void WINAPI glColor4hvNV( const GLhalfNV* v ) {
866   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
867   TRACE("(%p)\n", v );
868   funcs->ext.p_glColor4hvNV( v );
869 }
870
871 static void WINAPI glColor4ubVertex2fSUN( GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y ) {
872   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
873   TRACE("(%d, %d, %d, %d, %f, %f)\n", r, g, b, a, x, y );
874   funcs->ext.p_glColor4ubVertex2fSUN( r, g, b, a, x, y );
875 }
876
877 static void WINAPI glColor4ubVertex2fvSUN( const GLubyte* c, const GLfloat* v ) {
878   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
879   TRACE("(%p, %p)\n", c, v );
880   funcs->ext.p_glColor4ubVertex2fvSUN( c, v );
881 }
882
883 static void WINAPI glColor4ubVertex3fSUN( GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) {
884   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
885   TRACE("(%d, %d, %d, %d, %f, %f, %f)\n", r, g, b, a, x, y, z );
886   funcs->ext.p_glColor4ubVertex3fSUN( r, g, b, a, x, y, z );
887 }
888
889 static void WINAPI glColor4ubVertex3fvSUN( const GLubyte* c, const GLfloat* v ) {
890   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
891   TRACE("(%p, %p)\n", c, v );
892   funcs->ext.p_glColor4ubVertex3fvSUN( c, v );
893 }
894
895 static void WINAPI glColorFormatNV( GLint size, GLenum type, GLsizei stride ) {
896   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
897   TRACE("(%d, %d, %d)\n", size, type, stride );
898   funcs->ext.p_glColorFormatNV( size, type, stride );
899 }
900
901 static void WINAPI glColorFragmentOp1ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod ) {
902   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
903   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod );
904   funcs->ext.p_glColorFragmentOp1ATI( op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod );
905 }
906
907 static void WINAPI glColorFragmentOp2ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod ) {
908   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
909   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod );
910   funcs->ext.p_glColorFragmentOp2ATI( op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod );
911 }
912
913 static void WINAPI glColorFragmentOp3ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod ) {
914   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
915   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod );
916   funcs->ext.p_glColorFragmentOp3ATI( op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod );
917 }
918
919 static void WINAPI glColorMaskIndexedEXT( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) {
920   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
921   TRACE("(%d, %d, %d, %d, %d)\n", index, r, g, b, a );
922   funcs->ext.p_glColorMaskIndexedEXT( index, r, g, b, a );
923 }
924
925 static void WINAPI glColorMaski( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) {
926   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
927   TRACE("(%d, %d, %d, %d, %d)\n", index, r, g, b, a );
928   funcs->ext.p_glColorMaski( index, r, g, b, a );
929 }
930
931 static void WINAPI glColorP3ui( GLenum type, GLuint color ) {
932   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
933   TRACE("(%d, %d)\n", type, color );
934   funcs->ext.p_glColorP3ui( type, color );
935 }
936
937 static void WINAPI glColorP3uiv( GLenum type, const GLuint* color ) {
938   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
939   TRACE("(%d, %p)\n", type, color );
940   funcs->ext.p_glColorP3uiv( type, color );
941 }
942
943 static void WINAPI glColorP4ui( GLenum type, GLuint color ) {
944   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
945   TRACE("(%d, %d)\n", type, color );
946   funcs->ext.p_glColorP4ui( type, color );
947 }
948
949 static void WINAPI glColorP4uiv( GLenum type, const GLuint* color ) {
950   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
951   TRACE("(%d, %p)\n", type, color );
952   funcs->ext.p_glColorP4uiv( type, color );
953 }
954
955 static void WINAPI glColorPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid* pointer ) {
956   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
957   TRACE("(%d, %d, %d, %d, %p)\n", size, type, stride, count, pointer );
958   funcs->ext.p_glColorPointerEXT( size, type, stride, count, pointer );
959 }
960
961 static void WINAPI glColorPointerListIBM( GLint size, GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
962   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
963   TRACE("(%d, %d, %d, %p, %d)\n", size, type, stride, pointer, ptrstride );
964   funcs->ext.p_glColorPointerListIBM( size, type, stride, pointer, ptrstride );
965 }
966
967 static void WINAPI glColorPointervINTEL( GLint size, GLenum type, const GLvoid** pointer ) {
968   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
969   TRACE("(%d, %d, %p)\n", size, type, pointer );
970   funcs->ext.p_glColorPointervINTEL( size, type, pointer );
971 }
972
973 static void WINAPI glColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid* data ) {
974   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
975   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, start, count, format, type, data );
976   funcs->ext.p_glColorSubTable( target, start, count, format, type, data );
977 }
978
979 static void WINAPI glColorSubTableEXT( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid* data ) {
980   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
981   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, start, count, format, type, data );
982   funcs->ext.p_glColorSubTableEXT( target, start, count, format, type, data );
983 }
984
985 static void WINAPI glColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid* table ) {
986   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
987   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, internalformat, width, format, type, table );
988   funcs->ext.p_glColorTable( target, internalformat, width, format, type, table );
989 }
990
991 static void WINAPI glColorTableEXT( GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid* table ) {
992   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
993   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, internalFormat, width, format, type, table );
994   funcs->ext.p_glColorTableEXT( target, internalFormat, width, format, type, table );
995 }
996
997 static void WINAPI glColorTableParameterfv( GLenum target, GLenum pname, const GLfloat* params ) {
998   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
999   TRACE("(%d, %d, %p)\n", target, pname, params );
1000   funcs->ext.p_glColorTableParameterfv( target, pname, params );
1001 }
1002
1003 static void WINAPI glColorTableParameterfvSGI( GLenum target, GLenum pname, const GLfloat* params ) {
1004   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1005   TRACE("(%d, %d, %p)\n", target, pname, params );
1006   funcs->ext.p_glColorTableParameterfvSGI( target, pname, params );
1007 }
1008
1009 static void WINAPI glColorTableParameteriv( GLenum target, GLenum pname, const GLint* params ) {
1010   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1011   TRACE("(%d, %d, %p)\n", target, pname, params );
1012   funcs->ext.p_glColorTableParameteriv( target, pname, params );
1013 }
1014
1015 static void WINAPI glColorTableParameterivSGI( GLenum target, GLenum pname, const GLint* params ) {
1016   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1017   TRACE("(%d, %d, %p)\n", target, pname, params );
1018   funcs->ext.p_glColorTableParameterivSGI( target, pname, params );
1019 }
1020
1021 static void WINAPI glColorTableSGI( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid* table ) {
1022   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1023   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, internalformat, width, format, type, table );
1024   funcs->ext.p_glColorTableSGI( target, internalformat, width, format, type, table );
1025 }
1026
1027 static void WINAPI glCombinerInputNV( GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ) {
1028   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1029   TRACE("(%d, %d, %d, %d, %d, %d)\n", stage, portion, variable, input, mapping, componentUsage );
1030   funcs->ext.p_glCombinerInputNV( stage, portion, variable, input, mapping, componentUsage );
1031 }
1032
1033 static void WINAPI glCombinerOutputNV( GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum ) {
1034   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1035   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum );
1036   funcs->ext.p_glCombinerOutputNV( stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum );
1037 }
1038
1039 static void WINAPI glCombinerParameterfNV( GLenum pname, GLfloat param ) {
1040   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1041   TRACE("(%d, %f)\n", pname, param );
1042   funcs->ext.p_glCombinerParameterfNV( pname, param );
1043 }
1044
1045 static void WINAPI glCombinerParameterfvNV( GLenum pname, const GLfloat* params ) {
1046   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1047   TRACE("(%d, %p)\n", pname, params );
1048   funcs->ext.p_glCombinerParameterfvNV( pname, params );
1049 }
1050
1051 static void WINAPI glCombinerParameteriNV( GLenum pname, GLint param ) {
1052   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1053   TRACE("(%d, %d)\n", pname, param );
1054   funcs->ext.p_glCombinerParameteriNV( pname, param );
1055 }
1056
1057 static void WINAPI glCombinerParameterivNV( GLenum pname, const GLint* params ) {
1058   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1059   TRACE("(%d, %p)\n", pname, params );
1060   funcs->ext.p_glCombinerParameterivNV( pname, params );
1061 }
1062
1063 static void WINAPI glCombinerStageParameterfvNV( GLenum stage, GLenum pname, const GLfloat* params ) {
1064   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1065   TRACE("(%d, %d, %p)\n", stage, pname, params );
1066   funcs->ext.p_glCombinerStageParameterfvNV( stage, pname, params );
1067 }
1068
1069 static void WINAPI glCompileShader( GLuint shader ) {
1070   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1071   TRACE("(%d)\n", shader );
1072   funcs->ext.p_glCompileShader( shader );
1073 }
1074
1075 static void WINAPI glCompileShaderARB( GLhandleARB shaderObj ) {
1076   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1077   TRACE("(%d)\n", shaderObj );
1078   funcs->ext.p_glCompileShaderARB( shaderObj );
1079 }
1080
1081 static void WINAPI glCompileShaderIncludeARB( GLuint shader, GLsizei count, const GLchar** path, const GLint* length ) {
1082   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1083   TRACE("(%d, %d, %p, %p)\n", shader, count, path, length );
1084   funcs->ext.p_glCompileShaderIncludeARB( shader, count, path, length );
1085 }
1086
1087 static void WINAPI glCompressedMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1088   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1089   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, border, imageSize, bits );
1090   funcs->ext.p_glCompressedMultiTexImage1DEXT( texunit, target, level, internalformat, width, border, imageSize, bits );
1091 }
1092
1093 static void WINAPI glCompressedMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1094   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1095   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, height, border, imageSize, bits );
1096   funcs->ext.p_glCompressedMultiTexImage2DEXT( texunit, target, level, internalformat, width, height, border, imageSize, bits );
1097 }
1098
1099 static void WINAPI glCompressedMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1100   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1101   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, height, depth, border, imageSize, bits );
1102   funcs->ext.p_glCompressedMultiTexImage3DEXT( texunit, target, level, internalformat, width, height, depth, border, imageSize, bits );
1103 }
1104
1105 static void WINAPI glCompressedMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1106   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1107   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, width, format, imageSize, bits );
1108   funcs->ext.p_glCompressedMultiTexSubImage1DEXT( texunit, target, level, xoffset, width, format, imageSize, bits );
1109 }
1110
1111 static void WINAPI glCompressedMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1112   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1113   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits );
1114   funcs->ext.p_glCompressedMultiTexSubImage2DEXT( texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits );
1115 }
1116
1117 static void WINAPI glCompressedMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1118   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1119   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits );
1120   funcs->ext.p_glCompressedMultiTexSubImage3DEXT( texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits );
1121 }
1122
1123 static void WINAPI glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* data ) {
1124   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1125   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, border, imageSize, data );
1126   funcs->ext.p_glCompressedTexImage1D( target, level, internalformat, width, border, imageSize, data );
1127 }
1128
1129 static void WINAPI glCompressedTexImage1DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* data ) {
1130   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1131   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, border, imageSize, data );
1132   funcs->ext.p_glCompressedTexImage1DARB( target, level, internalformat, width, border, imageSize, data );
1133 }
1134
1135 static void WINAPI glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data ) {
1136   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1137   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, border, imageSize, data );
1138   funcs->ext.p_glCompressedTexImage2D( target, level, internalformat, width, height, border, imageSize, data );
1139 }
1140
1141 static void WINAPI glCompressedTexImage2DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data ) {
1142   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1143   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, border, imageSize, data );
1144   funcs->ext.p_glCompressedTexImage2DARB( target, level, internalformat, width, height, border, imageSize, data );
1145 }
1146
1147 static void WINAPI glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data ) {
1148   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1149   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, depth, border, imageSize, data );
1150   funcs->ext.p_glCompressedTexImage3D( target, level, internalformat, width, height, depth, border, imageSize, data );
1151 }
1152
1153 static void WINAPI glCompressedTexImage3DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data ) {
1154   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1155   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, depth, border, imageSize, data );
1156   funcs->ext.p_glCompressedTexImage3DARB( target, level, internalformat, width, height, depth, border, imageSize, data );
1157 }
1158
1159 static void WINAPI glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1160   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1161   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, width, format, imageSize, data );
1162   funcs->ext.p_glCompressedTexSubImage1D( target, level, xoffset, width, format, imageSize, data );
1163 }
1164
1165 static void WINAPI glCompressedTexSubImage1DARB( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1166   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1167   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, width, format, imageSize, data );
1168   funcs->ext.p_glCompressedTexSubImage1DARB( target, level, xoffset, width, format, imageSize, data );
1169 }
1170
1171 static void WINAPI glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1172   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1173   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, width, height, format, imageSize, data );
1174   funcs->ext.p_glCompressedTexSubImage2D( target, level, xoffset, yoffset, width, height, format, imageSize, data );
1175 }
1176
1177 static void WINAPI glCompressedTexSubImage2DARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1178   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1179   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, width, height, format, imageSize, data );
1180   funcs->ext.p_glCompressedTexSubImage2DARB( target, level, xoffset, yoffset, width, height, format, imageSize, data );
1181 }
1182
1183 static void WINAPI glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1184   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1185   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data );
1186   funcs->ext.p_glCompressedTexSubImage3D( target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data );
1187 }
1188
1189 static void WINAPI glCompressedTexSubImage3DARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data ) {
1190   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1191   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data );
1192   funcs->ext.p_glCompressedTexSubImage3DARB( target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data );
1193 }
1194
1195 static void WINAPI glCompressedTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1196   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1197   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, border, imageSize, bits );
1198   funcs->ext.p_glCompressedTextureImage1DEXT( texture, target, level, internalformat, width, border, imageSize, bits );
1199 }
1200
1201 static void WINAPI glCompressedTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1202   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1203   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, height, border, imageSize, bits );
1204   funcs->ext.p_glCompressedTextureImage2DEXT( texture, target, level, internalformat, width, height, border, imageSize, bits );
1205 }
1206
1207 static void WINAPI glCompressedTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* bits ) {
1208   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1209   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, height, depth, border, imageSize, bits );
1210   funcs->ext.p_glCompressedTextureImage3DEXT( texture, target, level, internalformat, width, height, depth, border, imageSize, bits );
1211 }
1212
1213 static void WINAPI glCompressedTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1214   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1215   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, width, format, imageSize, bits );
1216   funcs->ext.p_glCompressedTextureSubImage1DEXT( texture, target, level, xoffset, width, format, imageSize, bits );
1217 }
1218
1219 static void WINAPI glCompressedTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1220   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1221   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits );
1222   funcs->ext.p_glCompressedTextureSubImage2DEXT( texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits );
1223 }
1224
1225 static void WINAPI glCompressedTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* bits ) {
1226   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1227   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits );
1228   funcs->ext.p_glCompressedTextureSubImage3DEXT( texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits );
1229 }
1230
1231 static void WINAPI glConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid* image ) {
1232   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1233   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, internalformat, width, format, type, image );
1234   funcs->ext.p_glConvolutionFilter1D( target, internalformat, width, format, type, image );
1235 }
1236
1237 static void WINAPI glConvolutionFilter1DEXT( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid* image ) {
1238   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1239   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, internalformat, width, format, type, image );
1240   funcs->ext.p_glConvolutionFilter1DEXT( target, internalformat, width, format, type, image );
1241 }
1242
1243 static void WINAPI glConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* image ) {
1244   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1245   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, internalformat, width, height, format, type, image );
1246   funcs->ext.p_glConvolutionFilter2D( target, internalformat, width, height, format, type, image );
1247 }
1248
1249 static void WINAPI glConvolutionFilter2DEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* image ) {
1250   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1251   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, internalformat, width, height, format, type, image );
1252   funcs->ext.p_glConvolutionFilter2DEXT( target, internalformat, width, height, format, type, image );
1253 }
1254
1255 static void WINAPI glConvolutionParameterf( GLenum target, GLenum pname, GLfloat params ) {
1256   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1257   TRACE("(%d, %d, %f)\n", target, pname, params );
1258   funcs->ext.p_glConvolutionParameterf( target, pname, params );
1259 }
1260
1261 static void WINAPI glConvolutionParameterfEXT( GLenum target, GLenum pname, GLfloat params ) {
1262   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1263   TRACE("(%d, %d, %f)\n", target, pname, params );
1264   funcs->ext.p_glConvolutionParameterfEXT( target, pname, params );
1265 }
1266
1267 static void WINAPI glConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat* params ) {
1268   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1269   TRACE("(%d, %d, %p)\n", target, pname, params );
1270   funcs->ext.p_glConvolutionParameterfv( target, pname, params );
1271 }
1272
1273 static void WINAPI glConvolutionParameterfvEXT( GLenum target, GLenum pname, const GLfloat* params ) {
1274   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1275   TRACE("(%d, %d, %p)\n", target, pname, params );
1276   funcs->ext.p_glConvolutionParameterfvEXT( target, pname, params );
1277 }
1278
1279 static void WINAPI glConvolutionParameteri( GLenum target, GLenum pname, GLint params ) {
1280   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1281   TRACE("(%d, %d, %d)\n", target, pname, params );
1282   funcs->ext.p_glConvolutionParameteri( target, pname, params );
1283 }
1284
1285 static void WINAPI glConvolutionParameteriEXT( GLenum target, GLenum pname, GLint params ) {
1286   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1287   TRACE("(%d, %d, %d)\n", target, pname, params );
1288   funcs->ext.p_glConvolutionParameteriEXT( target, pname, params );
1289 }
1290
1291 static void WINAPI glConvolutionParameteriv( GLenum target, GLenum pname, const GLint* params ) {
1292   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1293   TRACE("(%d, %d, %p)\n", target, pname, params );
1294   funcs->ext.p_glConvolutionParameteriv( target, pname, params );
1295 }
1296
1297 static void WINAPI glConvolutionParameterivEXT( GLenum target, GLenum pname, const GLint* params ) {
1298   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1299   TRACE("(%d, %d, %p)\n", target, pname, params );
1300   funcs->ext.p_glConvolutionParameterivEXT( target, pname, params );
1301 }
1302
1303 static void WINAPI glCopyBufferSubData( GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) {
1304   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1305   TRACE("(%d, %d, %ld, %ld, %ld)\n", readTarget, writeTarget, readOffset, writeOffset, size );
1306   funcs->ext.p_glCopyBufferSubData( readTarget, writeTarget, readOffset, writeOffset, size );
1307 }
1308
1309 static void WINAPI glCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ) {
1310   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1311   TRACE("(%d, %d, %d, %d, %d)\n", target, start, x, y, width );
1312   funcs->ext.p_glCopyColorSubTable( target, start, x, y, width );
1313 }
1314
1315 static void WINAPI glCopyColorSubTableEXT( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ) {
1316   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1317   TRACE("(%d, %d, %d, %d, %d)\n", target, start, x, y, width );
1318   funcs->ext.p_glCopyColorSubTableEXT( target, start, x, y, width );
1319 }
1320
1321 static void WINAPI glCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
1322   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1323   TRACE("(%d, %d, %d, %d, %d)\n", target, internalformat, x, y, width );
1324   funcs->ext.p_glCopyColorTable( target, internalformat, x, y, width );
1325 }
1326
1327 static void WINAPI glCopyColorTableSGI( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
1328   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1329   TRACE("(%d, %d, %d, %d, %d)\n", target, internalformat, x, y, width );
1330   funcs->ext.p_glCopyColorTableSGI( target, internalformat, x, y, width );
1331 }
1332
1333 static void WINAPI glCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
1334   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1335   TRACE("(%d, %d, %d, %d, %d)\n", target, internalformat, x, y, width );
1336   funcs->ext.p_glCopyConvolutionFilter1D( target, internalformat, x, y, width );
1337 }
1338
1339 static void WINAPI glCopyConvolutionFilter1DEXT( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
1340   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1341   TRACE("(%d, %d, %d, %d, %d)\n", target, internalformat, x, y, width );
1342   funcs->ext.p_glCopyConvolutionFilter1DEXT( target, internalformat, x, y, width );
1343 }
1344
1345 static void WINAPI glCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height ) {
1346   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1347   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, internalformat, x, y, width, height );
1348   funcs->ext.p_glCopyConvolutionFilter2D( target, internalformat, x, y, width, height );
1349 }
1350
1351 static void WINAPI glCopyConvolutionFilter2DEXT( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height ) {
1352   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1353   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, internalformat, x, y, width, height );
1354   funcs->ext.p_glCopyConvolutionFilter2DEXT( target, internalformat, x, y, width, height );
1355 }
1356
1357 static void WINAPI glCopyImageSubData( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth ) {
1358   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1359   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth );
1360   funcs->ext.p_glCopyImageSubData( srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth );
1361 }
1362
1363 static void WINAPI glCopyImageSubDataNV( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth ) {
1364   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1365   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth );
1366   funcs->ext.p_glCopyImageSubDataNV( srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth );
1367 }
1368
1369 static void WINAPI glCopyMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) {
1370   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1371   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texunit, target, level, internalformat, x, y, width, border );
1372   funcs->ext.p_glCopyMultiTexImage1DEXT( texunit, target, level, internalformat, x, y, width, border );
1373 }
1374
1375 static void WINAPI glCopyMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) {
1376   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1377   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texunit, target, level, internalformat, x, y, width, height, border );
1378   funcs->ext.p_glCopyMultiTexImage2DEXT( texunit, target, level, internalformat, x, y, width, height, border );
1379 }
1380
1381 static void WINAPI glCopyMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) {
1382   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1383   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", texunit, target, level, xoffset, x, y, width );
1384   funcs->ext.p_glCopyMultiTexSubImage1DEXT( texunit, target, level, xoffset, x, y, width );
1385 }
1386
1387 static void WINAPI glCopyMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1388   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1389   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texunit, target, level, xoffset, yoffset, x, y, width, height );
1390   funcs->ext.p_glCopyMultiTexSubImage2DEXT( texunit, target, level, xoffset, yoffset, x, y, width, height );
1391 }
1392
1393 static void WINAPI glCopyMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1394   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1395   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height );
1396   funcs->ext.p_glCopyMultiTexSubImage3DEXT( texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height );
1397 }
1398
1399 static void WINAPI glCopyPathNV( GLuint resultPath, GLuint srcPath ) {
1400   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1401   TRACE("(%d, %d)\n", resultPath, srcPath );
1402   funcs->ext.p_glCopyPathNV( resultPath, srcPath );
1403 }
1404
1405 static void WINAPI glCopyTexImage1DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) {
1406   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1407   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", target, level, internalformat, x, y, width, border );
1408   funcs->ext.p_glCopyTexImage1DEXT( target, level, internalformat, x, y, width, border );
1409 }
1410
1411 static void WINAPI glCopyTexImage2DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) {
1412   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1413   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, internalformat, x, y, width, height, border );
1414   funcs->ext.p_glCopyTexImage2DEXT( target, level, internalformat, x, y, width, height, border );
1415 }
1416
1417 static void WINAPI glCopyTexSubImage1DEXT( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) {
1418   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1419   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, level, xoffset, x, y, width );
1420   funcs->ext.p_glCopyTexSubImage1DEXT( target, level, xoffset, x, y, width );
1421 }
1422
1423 static void WINAPI glCopyTexSubImage2DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1424   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1425   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, xoffset, yoffset, x, y, width, height );
1426   funcs->ext.p_glCopyTexSubImage2DEXT( target, level, xoffset, yoffset, x, y, width, height );
1427 }
1428
1429 static void WINAPI glCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1430   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1431   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, xoffset, yoffset, zoffset, x, y, width, height );
1432   funcs->ext.p_glCopyTexSubImage3D( target, level, xoffset, yoffset, zoffset, x, y, width, height );
1433 }
1434
1435 static void WINAPI glCopyTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1436   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1437   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", target, level, xoffset, yoffset, zoffset, x, y, width, height );
1438   funcs->ext.p_glCopyTexSubImage3DEXT( target, level, xoffset, yoffset, zoffset, x, y, width, height );
1439 }
1440
1441 static void WINAPI glCopyTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) {
1442   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1443   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, level, internalformat, x, y, width, border );
1444   funcs->ext.p_glCopyTextureImage1DEXT( texture, target, level, internalformat, x, y, width, border );
1445 }
1446
1447 static void WINAPI glCopyTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) {
1448   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1449   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, level, internalformat, x, y, width, height, border );
1450   funcs->ext.p_glCopyTextureImage2DEXT( texture, target, level, internalformat, x, y, width, height, border );
1451 }
1452
1453 static void WINAPI glCopyTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) {
1454   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1455   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", texture, target, level, xoffset, x, y, width );
1456   funcs->ext.p_glCopyTextureSubImage1DEXT( texture, target, level, xoffset, x, y, width );
1457 }
1458
1459 static void WINAPI glCopyTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1460   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1461   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, level, xoffset, yoffset, x, y, width, height );
1462   funcs->ext.p_glCopyTextureSubImage2DEXT( texture, target, level, xoffset, yoffset, x, y, width, height );
1463 }
1464
1465 static void WINAPI glCopyTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
1466   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1467   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, level, xoffset, yoffset, zoffset, x, y, width, height );
1468   funcs->ext.p_glCopyTextureSubImage3DEXT( texture, target, level, xoffset, yoffset, zoffset, x, y, width, height );
1469 }
1470
1471 static void WINAPI glCoverFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues ) {
1472   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1473   TRACE("(%d, %d, %p, %d, %d, %d, %p)\n", numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues );
1474   funcs->ext.p_glCoverFillPathInstancedNV( numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues );
1475 }
1476
1477 static void WINAPI glCoverFillPathNV( GLuint path, GLenum coverMode ) {
1478   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1479   TRACE("(%d, %d)\n", path, coverMode );
1480   funcs->ext.p_glCoverFillPathNV( path, coverMode );
1481 }
1482
1483 static void WINAPI glCoverStrokePathInstancedNV( GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues ) {
1484   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1485   TRACE("(%d, %d, %p, %d, %d, %d, %p)\n", numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues );
1486   funcs->ext.p_glCoverStrokePathInstancedNV( numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues );
1487 }
1488
1489 static void WINAPI glCoverStrokePathNV( GLuint path, GLenum coverMode ) {
1490   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1491   TRACE("(%d, %d)\n", path, coverMode );
1492   funcs->ext.p_glCoverStrokePathNV( path, coverMode );
1493 }
1494
1495 static GLuint WINAPI glCreateProgram( void ) {
1496   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1497   TRACE("()\n");
1498   return funcs->ext.p_glCreateProgram( );
1499 }
1500
1501 static GLhandleARB WINAPI glCreateProgramObjectARB( void ) {
1502   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1503   TRACE("()\n");
1504   return funcs->ext.p_glCreateProgramObjectARB( );
1505 }
1506
1507 static GLuint WINAPI glCreateShader( GLenum type ) {
1508   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1509   TRACE("(%d)\n", type );
1510   return funcs->ext.p_glCreateShader( type );
1511 }
1512
1513 static GLhandleARB WINAPI glCreateShaderObjectARB( GLenum shaderType ) {
1514   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1515   TRACE("(%d)\n", shaderType );
1516   return funcs->ext.p_glCreateShaderObjectARB( shaderType );
1517 }
1518
1519 static GLuint WINAPI glCreateShaderProgramEXT( GLenum type, const GLchar* string ) {
1520   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1521   TRACE("(%d, %p)\n", type, string );
1522   return funcs->ext.p_glCreateShaderProgramEXT( type, string );
1523 }
1524
1525 static GLuint WINAPI glCreateShaderProgramv( GLenum type, GLsizei count, const GLchar* const* strings ) {
1526   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1527   TRACE("(%d, %d, %p)\n", type, count, strings );
1528   return funcs->ext.p_glCreateShaderProgramv( type, count, strings );
1529 }
1530
1531 static GLvoid* WINAPI glCreateSyncFromCLeventARB( void * context, void * event, GLbitfield flags ) {
1532   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1533   TRACE("(%p, %p, %d)\n", context, event, flags );
1534   return funcs->ext.p_glCreateSyncFromCLeventARB( context, event, flags );
1535 }
1536
1537 static void WINAPI glCullParameterdvEXT( GLenum pname, GLdouble* params ) {
1538   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1539   TRACE("(%d, %p)\n", pname, params );
1540   funcs->ext.p_glCullParameterdvEXT( pname, params );
1541 }
1542
1543 static void WINAPI glCullParameterfvEXT( GLenum pname, GLfloat* params ) {
1544   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1545   TRACE("(%d, %p)\n", pname, params );
1546   funcs->ext.p_glCullParameterfvEXT( pname, params );
1547 }
1548
1549 static void WINAPI glCurrentPaletteMatrixARB( GLint index ) {
1550   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1551   TRACE("(%d)\n", index );
1552   funcs->ext.p_glCurrentPaletteMatrixARB( index );
1553 }
1554
1555 static void WINAPI glDebugMessageCallback( void * callback, const void* userParam ) {
1556   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1557   TRACE("(%p, %p)\n", callback, userParam );
1558   funcs->ext.p_glDebugMessageCallback( callback, userParam );
1559 }
1560
1561 static void WINAPI glDebugMessageCallbackAMD( void * callback, GLvoid* userParam ) {
1562   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1563   TRACE("(%p, %p)\n", callback, userParam );
1564   funcs->ext.p_glDebugMessageCallbackAMD( callback, userParam );
1565 }
1566
1567 static void WINAPI glDebugMessageCallbackARB( void * callback, const GLvoid* userParam ) {
1568   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1569   TRACE("(%p, %p)\n", callback, userParam );
1570   funcs->ext.p_glDebugMessageCallbackARB( callback, userParam );
1571 }
1572
1573 static void WINAPI glDebugMessageControl( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled ) {
1574   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1575   TRACE("(%d, %d, %d, %d, %p, %d)\n", source, type, severity, count, ids, enabled );
1576   funcs->ext.p_glDebugMessageControl( source, type, severity, count, ids, enabled );
1577 }
1578
1579 static void WINAPI glDebugMessageControlARB( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled ) {
1580   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1581   TRACE("(%d, %d, %d, %d, %p, %d)\n", source, type, severity, count, ids, enabled );
1582   funcs->ext.p_glDebugMessageControlARB( source, type, severity, count, ids, enabled );
1583 }
1584
1585 static void WINAPI glDebugMessageEnableAMD( GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled ) {
1586   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1587   TRACE("(%d, %d, %d, %p, %d)\n", category, severity, count, ids, enabled );
1588   funcs->ext.p_glDebugMessageEnableAMD( category, severity, count, ids, enabled );
1589 }
1590
1591 static void WINAPI glDebugMessageInsert( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf ) {
1592   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1593   TRACE("(%d, %d, %d, %d, %d, %p)\n", source, type, id, severity, length, buf );
1594   funcs->ext.p_glDebugMessageInsert( source, type, id, severity, length, buf );
1595 }
1596
1597 static void WINAPI glDebugMessageInsertAMD( GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf ) {
1598   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1599   TRACE("(%d, %d, %d, %d, %p)\n", category, severity, id, length, buf );
1600   funcs->ext.p_glDebugMessageInsertAMD( category, severity, id, length, buf );
1601 }
1602
1603 static void WINAPI glDebugMessageInsertARB( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf ) {
1604   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1605   TRACE("(%d, %d, %d, %d, %d, %p)\n", source, type, id, severity, length, buf );
1606   funcs->ext.p_glDebugMessageInsertARB( source, type, id, severity, length, buf );
1607 }
1608
1609 static void WINAPI glDeformSGIX( GLbitfield mask ) {
1610   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1611   TRACE("(%d)\n", mask );
1612   funcs->ext.p_glDeformSGIX( mask );
1613 }
1614
1615 static void WINAPI glDeformationMap3dSGIX( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble* points ) {
1616   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1617   TRACE("(%d, %f, %f, %d, %d, %f, %f, %d, %d, %f, %f, %d, %d, %p)\n", target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points );
1618   funcs->ext.p_glDeformationMap3dSGIX( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points );
1619 }
1620
1621 static void WINAPI glDeformationMap3fSGIX( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat* points ) {
1622   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1623   TRACE("(%d, %f, %f, %d, %d, %f, %f, %d, %d, %f, %f, %d, %d, %p)\n", target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points );
1624   funcs->ext.p_glDeformationMap3fSGIX( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points );
1625 }
1626
1627 static void WINAPI glDeleteAsyncMarkersSGIX( GLuint marker, GLsizei range ) {
1628   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1629   TRACE("(%d, %d)\n", marker, range );
1630   funcs->ext.p_glDeleteAsyncMarkersSGIX( marker, range );
1631 }
1632
1633 static void WINAPI glDeleteBufferRegion( GLenum region ) {
1634   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1635   TRACE("(%d)\n", region );
1636   funcs->ext.p_glDeleteBufferRegion( region );
1637 }
1638
1639 static void WINAPI glDeleteBuffers( GLsizei n, const GLuint* buffers ) {
1640   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1641   TRACE("(%d, %p)\n", n, buffers );
1642   funcs->ext.p_glDeleteBuffers( n, buffers );
1643 }
1644
1645 static void WINAPI glDeleteBuffersARB( GLsizei n, const GLuint* buffers ) {
1646   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1647   TRACE("(%d, %p)\n", n, buffers );
1648   funcs->ext.p_glDeleteBuffersARB( n, buffers );
1649 }
1650
1651 static void WINAPI glDeleteFencesAPPLE( GLsizei n, const GLuint* fences ) {
1652   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1653   TRACE("(%d, %p)\n", n, fences );
1654   funcs->ext.p_glDeleteFencesAPPLE( n, fences );
1655 }
1656
1657 static void WINAPI glDeleteFencesNV( GLsizei n, const GLuint* fences ) {
1658   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1659   TRACE("(%d, %p)\n", n, fences );
1660   funcs->ext.p_glDeleteFencesNV( n, fences );
1661 }
1662
1663 static void WINAPI glDeleteFragmentShaderATI( GLuint id ) {
1664   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1665   TRACE("(%d)\n", id );
1666   funcs->ext.p_glDeleteFragmentShaderATI( id );
1667 }
1668
1669 static void WINAPI glDeleteFramebuffers( GLsizei n, const GLuint* framebuffers ) {
1670   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1671   TRACE("(%d, %p)\n", n, framebuffers );
1672   funcs->ext.p_glDeleteFramebuffers( n, framebuffers );
1673 }
1674
1675 static void WINAPI glDeleteFramebuffersEXT( GLsizei n, const GLuint* framebuffers ) {
1676   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1677   TRACE("(%d, %p)\n", n, framebuffers );
1678   funcs->ext.p_glDeleteFramebuffersEXT( n, framebuffers );
1679 }
1680
1681 static void WINAPI glDeleteNamedStringARB( GLint namelen, const GLchar* name ) {
1682   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1683   TRACE("(%d, %p)\n", namelen, name );
1684   funcs->ext.p_glDeleteNamedStringARB( namelen, name );
1685 }
1686
1687 static void WINAPI glDeleteNamesAMD( GLenum identifier, GLuint num, const GLuint* names ) {
1688   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1689   TRACE("(%d, %d, %p)\n", identifier, num, names );
1690   funcs->ext.p_glDeleteNamesAMD( identifier, num, names );
1691 }
1692
1693 static void WINAPI glDeleteObjectARB( GLhandleARB obj ) {
1694   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1695   TRACE("(%d)\n", obj );
1696   funcs->ext.p_glDeleteObjectARB( obj );
1697 }
1698
1699 static void WINAPI glDeleteObjectBufferATI( GLuint buffer ) {
1700   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1701   TRACE("(%d)\n", buffer );
1702   funcs->ext.p_glDeleteObjectBufferATI( buffer );
1703 }
1704
1705 static void WINAPI glDeleteOcclusionQueriesNV( GLsizei n, const GLuint* ids ) {
1706   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1707   TRACE("(%d, %p)\n", n, ids );
1708   funcs->ext.p_glDeleteOcclusionQueriesNV( n, ids );
1709 }
1710
1711 static void WINAPI glDeletePathsNV( GLuint path, GLsizei range ) {
1712   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1713   TRACE("(%d, %d)\n", path, range );
1714   funcs->ext.p_glDeletePathsNV( path, range );
1715 }
1716
1717 static void WINAPI glDeletePerfMonitorsAMD( GLsizei n, GLuint* monitors ) {
1718   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1719   TRACE("(%d, %p)\n", n, monitors );
1720   funcs->ext.p_glDeletePerfMonitorsAMD( n, monitors );
1721 }
1722
1723 static void WINAPI glDeleteProgram( GLuint program ) {
1724   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1725   TRACE("(%d)\n", program );
1726   funcs->ext.p_glDeleteProgram( program );
1727 }
1728
1729 static void WINAPI glDeleteProgramPipelines( GLsizei n, const GLuint* pipelines ) {
1730   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1731   TRACE("(%d, %p)\n", n, pipelines );
1732   funcs->ext.p_glDeleteProgramPipelines( n, pipelines );
1733 }
1734
1735 static void WINAPI glDeleteProgramsARB( GLsizei n, const GLuint* programs ) {
1736   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1737   TRACE("(%d, %p)\n", n, programs );
1738   funcs->ext.p_glDeleteProgramsARB( n, programs );
1739 }
1740
1741 static void WINAPI glDeleteProgramsNV( GLsizei n, const GLuint* programs ) {
1742   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1743   TRACE("(%d, %p)\n", n, programs );
1744   funcs->ext.p_glDeleteProgramsNV( n, programs );
1745 }
1746
1747 static void WINAPI glDeleteQueries( GLsizei n, const GLuint* ids ) {
1748   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1749   TRACE("(%d, %p)\n", n, ids );
1750   funcs->ext.p_glDeleteQueries( n, ids );
1751 }
1752
1753 static void WINAPI glDeleteQueriesARB( GLsizei n, const GLuint* ids ) {
1754   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1755   TRACE("(%d, %p)\n", n, ids );
1756   funcs->ext.p_glDeleteQueriesARB( n, ids );
1757 }
1758
1759 static void WINAPI glDeleteRenderbuffers( GLsizei n, const GLuint* renderbuffers ) {
1760   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1761   TRACE("(%d, %p)\n", n, renderbuffers );
1762   funcs->ext.p_glDeleteRenderbuffers( n, renderbuffers );
1763 }
1764
1765 static void WINAPI glDeleteRenderbuffersEXT( GLsizei n, const GLuint* renderbuffers ) {
1766   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1767   TRACE("(%d, %p)\n", n, renderbuffers );
1768   funcs->ext.p_glDeleteRenderbuffersEXT( n, renderbuffers );
1769 }
1770
1771 static void WINAPI glDeleteSamplers( GLsizei count, const GLuint* samplers ) {
1772   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1773   TRACE("(%d, %p)\n", count, samplers );
1774   funcs->ext.p_glDeleteSamplers( count, samplers );
1775 }
1776
1777 static void WINAPI glDeleteShader( GLuint shader ) {
1778   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1779   TRACE("(%d)\n", shader );
1780   funcs->ext.p_glDeleteShader( shader );
1781 }
1782
1783 static void WINAPI glDeleteSync( GLvoid* sync ) {
1784   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1785   TRACE("(%p)\n", sync );
1786   funcs->ext.p_glDeleteSync( sync );
1787 }
1788
1789 static void WINAPI glDeleteTexturesEXT( GLsizei n, const GLuint* textures ) {
1790   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1791   TRACE("(%d, %p)\n", n, textures );
1792   funcs->ext.p_glDeleteTexturesEXT( n, textures );
1793 }
1794
1795 static void WINAPI glDeleteTransformFeedbacks( GLsizei n, const GLuint* ids ) {
1796   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1797   TRACE("(%d, %p)\n", n, ids );
1798   funcs->ext.p_glDeleteTransformFeedbacks( n, ids );
1799 }
1800
1801 static void WINAPI glDeleteTransformFeedbacksNV( GLsizei n, const GLuint* ids ) {
1802   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1803   TRACE("(%d, %p)\n", n, ids );
1804   funcs->ext.p_glDeleteTransformFeedbacksNV( n, ids );
1805 }
1806
1807 static void WINAPI glDeleteVertexArrays( GLsizei n, const GLuint* arrays ) {
1808   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1809   TRACE("(%d, %p)\n", n, arrays );
1810   funcs->ext.p_glDeleteVertexArrays( n, arrays );
1811 }
1812
1813 static void WINAPI glDeleteVertexArraysAPPLE( GLsizei n, const GLuint* arrays ) {
1814   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1815   TRACE("(%d, %p)\n", n, arrays );
1816   funcs->ext.p_glDeleteVertexArraysAPPLE( n, arrays );
1817 }
1818
1819 static void WINAPI glDeleteVertexShaderEXT( GLuint id ) {
1820   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1821   TRACE("(%d)\n", id );
1822   funcs->ext.p_glDeleteVertexShaderEXT( id );
1823 }
1824
1825 static void WINAPI glDepthBoundsEXT( GLclampd zmin, GLclampd zmax ) {
1826   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1827   TRACE("(%f, %f)\n", zmin, zmax );
1828   funcs->ext.p_glDepthBoundsEXT( zmin, zmax );
1829 }
1830
1831 static void WINAPI glDepthBoundsdNV( GLdouble zmin, GLdouble zmax ) {
1832   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1833   TRACE("(%f, %f)\n", zmin, zmax );
1834   funcs->ext.p_glDepthBoundsdNV( zmin, zmax );
1835 }
1836
1837 static void WINAPI glDepthRangeArrayv( GLuint first, GLsizei count, const GLdouble* v ) {
1838   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1839   TRACE("(%d, %d, %p)\n", first, count, v );
1840   funcs->ext.p_glDepthRangeArrayv( first, count, v );
1841 }
1842
1843 static void WINAPI glDepthRangeIndexed( GLuint index, GLdouble n, GLdouble f ) {
1844   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1845   TRACE("(%d, %f, %f)\n", index, n, f );
1846   funcs->ext.p_glDepthRangeIndexed( index, n, f );
1847 }
1848
1849 static void WINAPI glDepthRangedNV( GLdouble zNear, GLdouble zFar ) {
1850   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1851   TRACE("(%f, %f)\n", zNear, zFar );
1852   funcs->ext.p_glDepthRangedNV( zNear, zFar );
1853 }
1854
1855 static void WINAPI glDepthRangef( GLfloat n, GLfloat f ) {
1856   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1857   TRACE("(%f, %f)\n", n, f );
1858   funcs->ext.p_glDepthRangef( n, f );
1859 }
1860
1861 static void WINAPI glDetachObjectARB( GLhandleARB containerObj, GLhandleARB attachedObj ) {
1862   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1863   TRACE("(%d, %d)\n", containerObj, attachedObj );
1864   funcs->ext.p_glDetachObjectARB( containerObj, attachedObj );
1865 }
1866
1867 static void WINAPI glDetachShader( GLuint program, GLuint shader ) {
1868   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1869   TRACE("(%d, %d)\n", program, shader );
1870   funcs->ext.p_glDetachShader( program, shader );
1871 }
1872
1873 static void WINAPI glDetailTexFuncSGIS( GLenum target, GLsizei n, const GLfloat* points ) {
1874   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1875   TRACE("(%d, %d, %p)\n", target, n, points );
1876   funcs->ext.p_glDetailTexFuncSGIS( target, n, points );
1877 }
1878
1879 static void WINAPI glDisableClientStateIndexedEXT( GLenum array, GLuint index ) {
1880   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1881   TRACE("(%d, %d)\n", array, index );
1882   funcs->ext.p_glDisableClientStateIndexedEXT( array, index );
1883 }
1884
1885 static void WINAPI glDisableIndexedEXT( GLenum target, GLuint index ) {
1886   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1887   TRACE("(%d, %d)\n", target, index );
1888   funcs->ext.p_glDisableIndexedEXT( target, index );
1889 }
1890
1891 static void WINAPI glDisableVariantClientStateEXT( GLuint id ) {
1892   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1893   TRACE("(%d)\n", id );
1894   funcs->ext.p_glDisableVariantClientStateEXT( id );
1895 }
1896
1897 static void WINAPI glDisableVertexAttribAPPLE( GLuint index, GLenum pname ) {
1898   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1899   TRACE("(%d, %d)\n", index, pname );
1900   funcs->ext.p_glDisableVertexAttribAPPLE( index, pname );
1901 }
1902
1903 static void WINAPI glDisableVertexAttribArray( GLuint index ) {
1904   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1905   TRACE("(%d)\n", index );
1906   funcs->ext.p_glDisableVertexAttribArray( index );
1907 }
1908
1909 static void WINAPI glDisableVertexAttribArrayARB( GLuint index ) {
1910   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1911   TRACE("(%d)\n", index );
1912   funcs->ext.p_glDisableVertexAttribArrayARB( index );
1913 }
1914
1915 static void WINAPI glDisablei( GLenum target, GLuint index ) {
1916   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1917   TRACE("(%d, %d)\n", target, index );
1918   funcs->ext.p_glDisablei( target, index );
1919 }
1920
1921 static void WINAPI glDispatchCompute( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z ) {
1922   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1923   TRACE("(%d, %d, %d)\n", num_groups_x, num_groups_y, num_groups_z );
1924   funcs->ext.p_glDispatchCompute( num_groups_x, num_groups_y, num_groups_z );
1925 }
1926
1927 static void WINAPI glDispatchComputeIndirect( GLintptr indirect ) {
1928   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1929   TRACE("(%ld)\n", indirect );
1930   funcs->ext.p_glDispatchComputeIndirect( indirect );
1931 }
1932
1933 static void WINAPI glDrawArraysEXT( GLenum mode, GLint first, GLsizei count ) {
1934   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1935   TRACE("(%d, %d, %d)\n", mode, first, count );
1936   funcs->ext.p_glDrawArraysEXT( mode, first, count );
1937 }
1938
1939 static void WINAPI glDrawArraysIndirect( GLenum mode, const GLvoid* indirect ) {
1940   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1941   TRACE("(%d, %p)\n", mode, indirect );
1942   funcs->ext.p_glDrawArraysIndirect( mode, indirect );
1943 }
1944
1945 static void WINAPI glDrawArraysInstanced( GLenum mode, GLint first, GLsizei count, GLsizei instancecount ) {
1946   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1947   TRACE("(%d, %d, %d, %d)\n", mode, first, count, instancecount );
1948   funcs->ext.p_glDrawArraysInstanced( mode, first, count, instancecount );
1949 }
1950
1951 static void WINAPI glDrawArraysInstancedARB( GLenum mode, GLint first, GLsizei count, GLsizei primcount ) {
1952   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1953   TRACE("(%d, %d, %d, %d)\n", mode, first, count, primcount );
1954   funcs->ext.p_glDrawArraysInstancedARB( mode, first, count, primcount );
1955 }
1956
1957 static void WINAPI glDrawArraysInstancedBaseInstance( GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance ) {
1958   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1959   TRACE("(%d, %d, %d, %d, %d)\n", mode, first, count, instancecount, baseinstance );
1960   funcs->ext.p_glDrawArraysInstancedBaseInstance( mode, first, count, instancecount, baseinstance );
1961 }
1962
1963 static void WINAPI glDrawArraysInstancedEXT( GLenum mode, GLint start, GLsizei count, GLsizei primcount ) {
1964   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1965   TRACE("(%d, %d, %d, %d)\n", mode, start, count, primcount );
1966   funcs->ext.p_glDrawArraysInstancedEXT( mode, start, count, primcount );
1967 }
1968
1969 static void WINAPI glDrawBufferRegion( GLenum region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest ) {
1970   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1971   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", region, x, y, width, height, xDest, yDest );
1972   funcs->ext.p_glDrawBufferRegion( region, x, y, width, height, xDest, yDest );
1973 }
1974
1975 static void WINAPI glDrawBuffers( GLsizei n, const GLenum* bufs ) {
1976   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1977   TRACE("(%d, %p)\n", n, bufs );
1978   funcs->ext.p_glDrawBuffers( n, bufs );
1979 }
1980
1981 static void WINAPI glDrawBuffersARB( GLsizei n, const GLenum* bufs ) {
1982   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1983   TRACE("(%d, %p)\n", n, bufs );
1984   funcs->ext.p_glDrawBuffersARB( n, bufs );
1985 }
1986
1987 static void WINAPI glDrawBuffersATI( GLsizei n, const GLenum* bufs ) {
1988   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1989   TRACE("(%d, %p)\n", n, bufs );
1990   funcs->ext.p_glDrawBuffersATI( n, bufs );
1991 }
1992
1993 static void WINAPI glDrawElementArrayAPPLE( GLenum mode, GLint first, GLsizei count ) {
1994   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
1995   TRACE("(%d, %d, %d)\n", mode, first, count );
1996   funcs->ext.p_glDrawElementArrayAPPLE( mode, first, count );
1997 }
1998
1999 static void WINAPI glDrawElementArrayATI( GLenum mode, GLsizei count ) {
2000   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2001   TRACE("(%d, %d)\n", mode, count );
2002   funcs->ext.p_glDrawElementArrayATI( mode, count );
2003 }
2004
2005 static void WINAPI glDrawElementsBaseVertex( GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLint basevertex ) {
2006   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2007   TRACE("(%d, %d, %d, %p, %d)\n", mode, count, type, indices, basevertex );
2008   funcs->ext.p_glDrawElementsBaseVertex( mode, count, type, indices, basevertex );
2009 }
2010
2011 static void WINAPI glDrawElementsIndirect( GLenum mode, GLenum type, const GLvoid* indirect ) {
2012   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2013   TRACE("(%d, %d, %p)\n", mode, type, indirect );
2014   funcs->ext.p_glDrawElementsIndirect( mode, type, indirect );
2015 }
2016
2017 static void WINAPI glDrawElementsInstanced( GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instancecount ) {
2018   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2019   TRACE("(%d, %d, %d, %p, %d)\n", mode, count, type, indices, instancecount );
2020   funcs->ext.p_glDrawElementsInstanced( mode, count, type, indices, instancecount );
2021 }
2022
2023 static void WINAPI glDrawElementsInstancedARB( GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount ) {
2024   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2025   TRACE("(%d, %d, %d, %p, %d)\n", mode, count, type, indices, primcount );
2026   funcs->ext.p_glDrawElementsInstancedARB( mode, count, type, indices, primcount );
2027 }
2028
2029 static void WINAPI glDrawElementsInstancedBaseInstance( GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLuint baseinstance ) {
2030   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2031   TRACE("(%d, %d, %d, %p, %d, %d)\n", mode, count, type, indices, instancecount, baseinstance );
2032   funcs->ext.p_glDrawElementsInstancedBaseInstance( mode, count, type, indices, instancecount, baseinstance );
2033 }
2034
2035 static void WINAPI glDrawElementsInstancedBaseVertex( GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instancecount, GLint basevertex ) {
2036   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2037   TRACE("(%d, %d, %d, %p, %d, %d)\n", mode, count, type, indices, instancecount, basevertex );
2038   funcs->ext.p_glDrawElementsInstancedBaseVertex( mode, count, type, indices, instancecount, basevertex );
2039 }
2040
2041 static void WINAPI glDrawElementsInstancedBaseVertexBaseInstance( GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance ) {
2042   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2043   TRACE("(%d, %d, %d, %p, %d, %d, %d)\n", mode, count, type, indices, instancecount, basevertex, baseinstance );
2044   funcs->ext.p_glDrawElementsInstancedBaseVertexBaseInstance( mode, count, type, indices, instancecount, basevertex, baseinstance );
2045 }
2046
2047 static void WINAPI glDrawElementsInstancedEXT( GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount ) {
2048   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2049   TRACE("(%d, %d, %d, %p, %d)\n", mode, count, type, indices, primcount );
2050   funcs->ext.p_glDrawElementsInstancedEXT( mode, count, type, indices, primcount );
2051 }
2052
2053 static void WINAPI glDrawMeshArraysSUN( GLenum mode, GLint first, GLsizei count, GLsizei width ) {
2054   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2055   TRACE("(%d, %d, %d, %d)\n", mode, first, count, width );
2056   funcs->ext.p_glDrawMeshArraysSUN( mode, first, count, width );
2057 }
2058
2059 static void WINAPI glDrawRangeElementArrayAPPLE( GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count ) {
2060   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2061   TRACE("(%d, %d, %d, %d, %d)\n", mode, start, end, first, count );
2062   funcs->ext.p_glDrawRangeElementArrayAPPLE( mode, start, end, first, count );
2063 }
2064
2065 static void WINAPI glDrawRangeElementArrayATI( GLenum mode, GLuint start, GLuint end, GLsizei count ) {
2066   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2067   TRACE("(%d, %d, %d, %d)\n", mode, start, end, count );
2068   funcs->ext.p_glDrawRangeElementArrayATI( mode, start, end, count );
2069 }
2070
2071 static void WINAPI glDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices ) {
2072   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2073   TRACE("(%d, %d, %d, %d, %d, %p)\n", mode, start, end, count, type, indices );
2074   funcs->ext.p_glDrawRangeElements( mode, start, end, count, type, indices );
2075 }
2076
2077 static void WINAPI glDrawRangeElementsBaseVertex( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices, GLint basevertex ) {
2078   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2079   TRACE("(%d, %d, %d, %d, %d, %p, %d)\n", mode, start, end, count, type, indices, basevertex );
2080   funcs->ext.p_glDrawRangeElementsBaseVertex( mode, start, end, count, type, indices, basevertex );
2081 }
2082
2083 static void WINAPI glDrawRangeElementsEXT( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices ) {
2084   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2085   TRACE("(%d, %d, %d, %d, %d, %p)\n", mode, start, end, count, type, indices );
2086   funcs->ext.p_glDrawRangeElementsEXT( mode, start, end, count, type, indices );
2087 }
2088
2089 static void WINAPI glDrawTransformFeedback( GLenum mode, GLuint id ) {
2090   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2091   TRACE("(%d, %d)\n", mode, id );
2092   funcs->ext.p_glDrawTransformFeedback( mode, id );
2093 }
2094
2095 static void WINAPI glDrawTransformFeedbackInstanced( GLenum mode, GLuint id, GLsizei instancecount ) {
2096   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2097   TRACE("(%d, %d, %d)\n", mode, id, instancecount );
2098   funcs->ext.p_glDrawTransformFeedbackInstanced( mode, id, instancecount );
2099 }
2100
2101 static void WINAPI glDrawTransformFeedbackNV( GLenum mode, GLuint id ) {
2102   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2103   TRACE("(%d, %d)\n", mode, id );
2104   funcs->ext.p_glDrawTransformFeedbackNV( mode, id );
2105 }
2106
2107 static void WINAPI glDrawTransformFeedbackStream( GLenum mode, GLuint id, GLuint stream ) {
2108   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2109   TRACE("(%d, %d, %d)\n", mode, id, stream );
2110   funcs->ext.p_glDrawTransformFeedbackStream( mode, id, stream );
2111 }
2112
2113 static void WINAPI glDrawTransformFeedbackStreamInstanced( GLenum mode, GLuint id, GLuint stream, GLsizei instancecount ) {
2114   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2115   TRACE("(%d, %d, %d, %d)\n", mode, id, stream, instancecount );
2116   funcs->ext.p_glDrawTransformFeedbackStreamInstanced( mode, id, stream, instancecount );
2117 }
2118
2119 static void WINAPI glEdgeFlagFormatNV( GLsizei stride ) {
2120   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2121   TRACE("(%d)\n", stride );
2122   funcs->ext.p_glEdgeFlagFormatNV( stride );
2123 }
2124
2125 static void WINAPI glEdgeFlagPointerEXT( GLsizei stride, GLsizei count, const GLboolean* pointer ) {
2126   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2127   TRACE("(%d, %d, %p)\n", stride, count, pointer );
2128   funcs->ext.p_glEdgeFlagPointerEXT( stride, count, pointer );
2129 }
2130
2131 static void WINAPI glEdgeFlagPointerListIBM( GLint stride, const GLboolean** pointer, GLint ptrstride ) {
2132   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2133   TRACE("(%d, %p, %d)\n", stride, pointer, ptrstride );
2134   funcs->ext.p_glEdgeFlagPointerListIBM( stride, pointer, ptrstride );
2135 }
2136
2137 static void WINAPI glElementPointerAPPLE( GLenum type, const GLvoid* pointer ) {
2138   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2139   TRACE("(%d, %p)\n", type, pointer );
2140   funcs->ext.p_glElementPointerAPPLE( type, pointer );
2141 }
2142
2143 static void WINAPI glElementPointerATI( GLenum type, const GLvoid* pointer ) {
2144   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2145   TRACE("(%d, %p)\n", type, pointer );
2146   funcs->ext.p_glElementPointerATI( type, pointer );
2147 }
2148
2149 static void WINAPI glEnableClientStateIndexedEXT( GLenum array, GLuint index ) {
2150   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2151   TRACE("(%d, %d)\n", array, index );
2152   funcs->ext.p_glEnableClientStateIndexedEXT( array, index );
2153 }
2154
2155 static void WINAPI glEnableIndexedEXT( GLenum target, GLuint index ) {
2156   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2157   TRACE("(%d, %d)\n", target, index );
2158   funcs->ext.p_glEnableIndexedEXT( target, index );
2159 }
2160
2161 static void WINAPI glEnableVariantClientStateEXT( GLuint id ) {
2162   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2163   TRACE("(%d)\n", id );
2164   funcs->ext.p_glEnableVariantClientStateEXT( id );
2165 }
2166
2167 static void WINAPI glEnableVertexAttribAPPLE( GLuint index, GLenum pname ) {
2168   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2169   TRACE("(%d, %d)\n", index, pname );
2170   funcs->ext.p_glEnableVertexAttribAPPLE( index, pname );
2171 }
2172
2173 static void WINAPI glEnableVertexAttribArray( GLuint index ) {
2174   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2175   TRACE("(%d)\n", index );
2176   funcs->ext.p_glEnableVertexAttribArray( index );
2177 }
2178
2179 static void WINAPI glEnableVertexAttribArrayARB( GLuint index ) {
2180   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2181   TRACE("(%d)\n", index );
2182   funcs->ext.p_glEnableVertexAttribArrayARB( index );
2183 }
2184
2185 static void WINAPI glEnablei( GLenum target, GLuint index ) {
2186   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2187   TRACE("(%d, %d)\n", target, index );
2188   funcs->ext.p_glEnablei( target, index );
2189 }
2190
2191 static void WINAPI glEndConditionalRender( void ) {
2192   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2193   TRACE("()\n");
2194   funcs->ext.p_glEndConditionalRender( );
2195 }
2196
2197 static void WINAPI glEndConditionalRenderNV( void ) {
2198   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2199   TRACE("()\n");
2200   funcs->ext.p_glEndConditionalRenderNV( );
2201 }
2202
2203 static void WINAPI glEndFragmentShaderATI( void ) {
2204   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2205   TRACE("()\n");
2206   funcs->ext.p_glEndFragmentShaderATI( );
2207 }
2208
2209 static void WINAPI glEndOcclusionQueryNV( void ) {
2210   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2211   TRACE("()\n");
2212   funcs->ext.p_glEndOcclusionQueryNV( );
2213 }
2214
2215 static void WINAPI glEndPerfMonitorAMD( GLuint monitor ) {
2216   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2217   TRACE("(%d)\n", monitor );
2218   funcs->ext.p_glEndPerfMonitorAMD( monitor );
2219 }
2220
2221 static void WINAPI glEndQuery( GLenum target ) {
2222   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2223   TRACE("(%d)\n", target );
2224   funcs->ext.p_glEndQuery( target );
2225 }
2226
2227 static void WINAPI glEndQueryARB( GLenum target ) {
2228   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2229   TRACE("(%d)\n", target );
2230   funcs->ext.p_glEndQueryARB( target );
2231 }
2232
2233 static void WINAPI glEndQueryIndexed( GLenum target, GLuint index ) {
2234   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2235   TRACE("(%d, %d)\n", target, index );
2236   funcs->ext.p_glEndQueryIndexed( target, index );
2237 }
2238
2239 static void WINAPI glEndTransformFeedback( void ) {
2240   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2241   TRACE("()\n");
2242   funcs->ext.p_glEndTransformFeedback( );
2243 }
2244
2245 static void WINAPI glEndTransformFeedbackEXT( void ) {
2246   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2247   TRACE("()\n");
2248   funcs->ext.p_glEndTransformFeedbackEXT( );
2249 }
2250
2251 static void WINAPI glEndTransformFeedbackNV( void ) {
2252   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2253   TRACE("()\n");
2254   funcs->ext.p_glEndTransformFeedbackNV( );
2255 }
2256
2257 static void WINAPI glEndVertexShaderEXT( void ) {
2258   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2259   TRACE("()\n");
2260   funcs->ext.p_glEndVertexShaderEXT( );
2261 }
2262
2263 static void WINAPI glEndVideoCaptureNV( GLuint video_capture_slot ) {
2264   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2265   TRACE("(%d)\n", video_capture_slot );
2266   funcs->ext.p_glEndVideoCaptureNV( video_capture_slot );
2267 }
2268
2269 static void WINAPI glEvalMapsNV( GLenum target, GLenum mode ) {
2270   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2271   TRACE("(%d, %d)\n", target, mode );
2272   funcs->ext.p_glEvalMapsNV( target, mode );
2273 }
2274
2275 static void WINAPI glExecuteProgramNV( GLenum target, GLuint id, const GLfloat* params ) {
2276   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2277   TRACE("(%d, %d, %p)\n", target, id, params );
2278   funcs->ext.p_glExecuteProgramNV( target, id, params );
2279 }
2280
2281 static void WINAPI glExtractComponentEXT( GLuint res, GLuint src, GLuint num ) {
2282   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2283   TRACE("(%d, %d, %d)\n", res, src, num );
2284   funcs->ext.p_glExtractComponentEXT( res, src, num );
2285 }
2286
2287 static GLvoid* WINAPI glFenceSync( GLenum condition, GLbitfield flags ) {
2288   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2289   TRACE("(%d, %d)\n", condition, flags );
2290   return funcs->ext.p_glFenceSync( condition, flags );
2291 }
2292
2293 static void WINAPI glFinalCombinerInputNV( GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ) {
2294   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2295   TRACE("(%d, %d, %d, %d)\n", variable, input, mapping, componentUsage );
2296   funcs->ext.p_glFinalCombinerInputNV( variable, input, mapping, componentUsage );
2297 }
2298
2299 static GLint WINAPI glFinishAsyncSGIX( GLuint* markerp ) {
2300   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2301   TRACE("(%p)\n", markerp );
2302   return funcs->ext.p_glFinishAsyncSGIX( markerp );
2303 }
2304
2305 static void WINAPI glFinishFenceAPPLE( GLuint fence ) {
2306   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2307   TRACE("(%d)\n", fence );
2308   funcs->ext.p_glFinishFenceAPPLE( fence );
2309 }
2310
2311 static void WINAPI glFinishFenceNV( GLuint fence ) {
2312   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2313   TRACE("(%d)\n", fence );
2314   funcs->ext.p_glFinishFenceNV( fence );
2315 }
2316
2317 static void WINAPI glFinishObjectAPPLE( GLenum object, GLint name ) {
2318   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2319   TRACE("(%d, %d)\n", object, name );
2320   funcs->ext.p_glFinishObjectAPPLE( object, name );
2321 }
2322
2323 static void WINAPI glFinishTextureSUNX( void ) {
2324   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2325   TRACE("()\n");
2326   funcs->ext.p_glFinishTextureSUNX( );
2327 }
2328
2329 static void WINAPI glFlushMappedBufferRange( GLenum target, GLintptr offset, GLsizeiptr length ) {
2330   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2331   TRACE("(%d, %ld, %ld)\n", target, offset, length );
2332   funcs->ext.p_glFlushMappedBufferRange( target, offset, length );
2333 }
2334
2335 static void WINAPI glFlushMappedBufferRangeAPPLE( GLenum target, GLintptr offset, GLsizeiptr size ) {
2336   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2337   TRACE("(%d, %ld, %ld)\n", target, offset, size );
2338   funcs->ext.p_glFlushMappedBufferRangeAPPLE( target, offset, size );
2339 }
2340
2341 static void WINAPI glFlushMappedNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length ) {
2342   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2343   TRACE("(%d, %ld, %ld)\n", buffer, offset, length );
2344   funcs->ext.p_glFlushMappedNamedBufferRangeEXT( buffer, offset, length );
2345 }
2346
2347 static void WINAPI glFlushPixelDataRangeNV( GLenum target ) {
2348   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2349   TRACE("(%d)\n", target );
2350   funcs->ext.p_glFlushPixelDataRangeNV( target );
2351 }
2352
2353 static void WINAPI glFlushRasterSGIX( void ) {
2354   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2355   TRACE("()\n");
2356   funcs->ext.p_glFlushRasterSGIX( );
2357 }
2358
2359 static void WINAPI glFlushVertexArrayRangeAPPLE( GLsizei length, GLvoid* pointer ) {
2360   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2361   TRACE("(%d, %p)\n", length, pointer );
2362   funcs->ext.p_glFlushVertexArrayRangeAPPLE( length, pointer );
2363 }
2364
2365 static void WINAPI glFlushVertexArrayRangeNV( void ) {
2366   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2367   TRACE("()\n");
2368   funcs->ext.p_glFlushVertexArrayRangeNV( );
2369 }
2370
2371 static void WINAPI glFogCoordFormatNV( GLenum type, GLsizei stride ) {
2372   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2373   TRACE("(%d, %d)\n", type, stride );
2374   funcs->ext.p_glFogCoordFormatNV( type, stride );
2375 }
2376
2377 static void WINAPI glFogCoordPointer( GLenum type, GLsizei stride, const GLvoid* pointer ) {
2378   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2379   TRACE("(%d, %d, %p)\n", type, stride, pointer );
2380   funcs->ext.p_glFogCoordPointer( type, stride, pointer );
2381 }
2382
2383 static void WINAPI glFogCoordPointerEXT( GLenum type, GLsizei stride, const GLvoid* pointer ) {
2384   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2385   TRACE("(%d, %d, %p)\n", type, stride, pointer );
2386   funcs->ext.p_glFogCoordPointerEXT( type, stride, pointer );
2387 }
2388
2389 static void WINAPI glFogCoordPointerListIBM( GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
2390   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2391   TRACE("(%d, %d, %p, %d)\n", type, stride, pointer, ptrstride );
2392   funcs->ext.p_glFogCoordPointerListIBM( type, stride, pointer, ptrstride );
2393 }
2394
2395 static void WINAPI glFogCoordd( GLdouble coord ) {
2396   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2397   TRACE("(%f)\n", coord );
2398   funcs->ext.p_glFogCoordd( coord );
2399 }
2400
2401 static void WINAPI glFogCoorddEXT( GLdouble coord ) {
2402   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2403   TRACE("(%f)\n", coord );
2404   funcs->ext.p_glFogCoorddEXT( coord );
2405 }
2406
2407 static void WINAPI glFogCoorddv( const GLdouble* coord ) {
2408   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2409   TRACE("(%p)\n", coord );
2410   funcs->ext.p_glFogCoorddv( coord );
2411 }
2412
2413 static void WINAPI glFogCoorddvEXT( const GLdouble* coord ) {
2414   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2415   TRACE("(%p)\n", coord );
2416   funcs->ext.p_glFogCoorddvEXT( coord );
2417 }
2418
2419 static void WINAPI glFogCoordf( GLfloat coord ) {
2420   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2421   TRACE("(%f)\n", coord );
2422   funcs->ext.p_glFogCoordf( coord );
2423 }
2424
2425 static void WINAPI glFogCoordfEXT( GLfloat coord ) {
2426   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2427   TRACE("(%f)\n", coord );
2428   funcs->ext.p_glFogCoordfEXT( coord );
2429 }
2430
2431 static void WINAPI glFogCoordfv( const GLfloat* coord ) {
2432   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2433   TRACE("(%p)\n", coord );
2434   funcs->ext.p_glFogCoordfv( coord );
2435 }
2436
2437 static void WINAPI glFogCoordfvEXT( const GLfloat* coord ) {
2438   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2439   TRACE("(%p)\n", coord );
2440   funcs->ext.p_glFogCoordfvEXT( coord );
2441 }
2442
2443 static void WINAPI glFogCoordhNV( GLhalfNV fog ) {
2444   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2445   TRACE("(%d)\n", fog );
2446   funcs->ext.p_glFogCoordhNV( fog );
2447 }
2448
2449 static void WINAPI glFogCoordhvNV( const GLhalfNV* fog ) {
2450   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2451   TRACE("(%p)\n", fog );
2452   funcs->ext.p_glFogCoordhvNV( fog );
2453 }
2454
2455 static void WINAPI glFogFuncSGIS( GLsizei n, const GLfloat* points ) {
2456   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2457   TRACE("(%d, %p)\n", n, points );
2458   funcs->ext.p_glFogFuncSGIS( n, points );
2459 }
2460
2461 static void WINAPI glFragmentColorMaterialSGIX( GLenum face, GLenum mode ) {
2462   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2463   TRACE("(%d, %d)\n", face, mode );
2464   funcs->ext.p_glFragmentColorMaterialSGIX( face, mode );
2465 }
2466
2467 static void WINAPI glFragmentLightModelfSGIX( GLenum pname, GLfloat param ) {
2468   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2469   TRACE("(%d, %f)\n", pname, param );
2470   funcs->ext.p_glFragmentLightModelfSGIX( pname, param );
2471 }
2472
2473 static void WINAPI glFragmentLightModelfvSGIX( GLenum pname, const GLfloat* params ) {
2474   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2475   TRACE("(%d, %p)\n", pname, params );
2476   funcs->ext.p_glFragmentLightModelfvSGIX( pname, params );
2477 }
2478
2479 static void WINAPI glFragmentLightModeliSGIX( GLenum pname, GLint param ) {
2480   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2481   TRACE("(%d, %d)\n", pname, param );
2482   funcs->ext.p_glFragmentLightModeliSGIX( pname, param );
2483 }
2484
2485 static void WINAPI glFragmentLightModelivSGIX( GLenum pname, const GLint* params ) {
2486   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2487   TRACE("(%d, %p)\n", pname, params );
2488   funcs->ext.p_glFragmentLightModelivSGIX( pname, params );
2489 }
2490
2491 static void WINAPI glFragmentLightfSGIX( GLenum light, GLenum pname, GLfloat param ) {
2492   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2493   TRACE("(%d, %d, %f)\n", light, pname, param );
2494   funcs->ext.p_glFragmentLightfSGIX( light, pname, param );
2495 }
2496
2497 static void WINAPI glFragmentLightfvSGIX( GLenum light, GLenum pname, const GLfloat* params ) {
2498   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2499   TRACE("(%d, %d, %p)\n", light, pname, params );
2500   funcs->ext.p_glFragmentLightfvSGIX( light, pname, params );
2501 }
2502
2503 static void WINAPI glFragmentLightiSGIX( GLenum light, GLenum pname, GLint param ) {
2504   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2505   TRACE("(%d, %d, %d)\n", light, pname, param );
2506   funcs->ext.p_glFragmentLightiSGIX( light, pname, param );
2507 }
2508
2509 static void WINAPI glFragmentLightivSGIX( GLenum light, GLenum pname, const GLint* params ) {
2510   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2511   TRACE("(%d, %d, %p)\n", light, pname, params );
2512   funcs->ext.p_glFragmentLightivSGIX( light, pname, params );
2513 }
2514
2515 static void WINAPI glFragmentMaterialfSGIX( GLenum face, GLenum pname, GLfloat param ) {
2516   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2517   TRACE("(%d, %d, %f)\n", face, pname, param );
2518   funcs->ext.p_glFragmentMaterialfSGIX( face, pname, param );
2519 }
2520
2521 static void WINAPI glFragmentMaterialfvSGIX( GLenum face, GLenum pname, const GLfloat* params ) {
2522   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2523   TRACE("(%d, %d, %p)\n", face, pname, params );
2524   funcs->ext.p_glFragmentMaterialfvSGIX( face, pname, params );
2525 }
2526
2527 static void WINAPI glFragmentMaterialiSGIX( GLenum face, GLenum pname, GLint param ) {
2528   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2529   TRACE("(%d, %d, %d)\n", face, pname, param );
2530   funcs->ext.p_glFragmentMaterialiSGIX( face, pname, param );
2531 }
2532
2533 static void WINAPI glFragmentMaterialivSGIX( GLenum face, GLenum pname, const GLint* params ) {
2534   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2535   TRACE("(%d, %d, %p)\n", face, pname, params );
2536   funcs->ext.p_glFragmentMaterialivSGIX( face, pname, params );
2537 }
2538
2539 static void WINAPI glFrameTerminatorGREMEDY( void ) {
2540   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2541   TRACE("()\n");
2542   funcs->ext.p_glFrameTerminatorGREMEDY( );
2543 }
2544
2545 static void WINAPI glFrameZoomSGIX( GLint factor ) {
2546   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2547   TRACE("(%d)\n", factor );
2548   funcs->ext.p_glFrameZoomSGIX( factor );
2549 }
2550
2551 static void WINAPI glFramebufferDrawBufferEXT( GLuint framebuffer, GLenum mode ) {
2552   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2553   TRACE("(%d, %d)\n", framebuffer, mode );
2554   funcs->ext.p_glFramebufferDrawBufferEXT( framebuffer, mode );
2555 }
2556
2557 static void WINAPI glFramebufferDrawBuffersEXT( GLuint framebuffer, GLsizei n, const GLenum* bufs ) {
2558   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2559   TRACE("(%d, %d, %p)\n", framebuffer, n, bufs );
2560   funcs->ext.p_glFramebufferDrawBuffersEXT( framebuffer, n, bufs );
2561 }
2562
2563 static void WINAPI glFramebufferParameteri( GLenum target, GLenum pname, GLint param ) {
2564   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2565   TRACE("(%d, %d, %d)\n", target, pname, param );
2566   funcs->ext.p_glFramebufferParameteri( target, pname, param );
2567 }
2568
2569 static void WINAPI glFramebufferReadBufferEXT( GLuint framebuffer, GLenum mode ) {
2570   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2571   TRACE("(%d, %d)\n", framebuffer, mode );
2572   funcs->ext.p_glFramebufferReadBufferEXT( framebuffer, mode );
2573 }
2574
2575 static void WINAPI glFramebufferRenderbuffer( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) {
2576   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2577   TRACE("(%d, %d, %d, %d)\n", target, attachment, renderbuffertarget, renderbuffer );
2578   funcs->ext.p_glFramebufferRenderbuffer( target, attachment, renderbuffertarget, renderbuffer );
2579 }
2580
2581 static void WINAPI glFramebufferRenderbufferEXT( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) {
2582   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2583   TRACE("(%d, %d, %d, %d)\n", target, attachment, renderbuffertarget, renderbuffer );
2584   funcs->ext.p_glFramebufferRenderbufferEXT( target, attachment, renderbuffertarget, renderbuffer );
2585 }
2586
2587 static void WINAPI glFramebufferTexture( GLenum target, GLenum attachment, GLuint texture, GLint level ) {
2588   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2589   TRACE("(%d, %d, %d, %d)\n", target, attachment, texture, level );
2590   funcs->ext.p_glFramebufferTexture( target, attachment, texture, level );
2591 }
2592
2593 static void WINAPI glFramebufferTexture1D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
2594   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2595   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level );
2596   funcs->ext.p_glFramebufferTexture1D( target, attachment, textarget, texture, level );
2597 }
2598
2599 static void WINAPI glFramebufferTexture1DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
2600   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2601   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level );
2602   funcs->ext.p_glFramebufferTexture1DEXT( target, attachment, textarget, texture, level );
2603 }
2604
2605 static void WINAPI glFramebufferTexture2D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
2606   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2607   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level );
2608   funcs->ext.p_glFramebufferTexture2D( target, attachment, textarget, texture, level );
2609 }
2610
2611 static void WINAPI glFramebufferTexture2DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
2612   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2613   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level );
2614   funcs->ext.p_glFramebufferTexture2DEXT( target, attachment, textarget, texture, level );
2615 }
2616
2617 static void WINAPI glFramebufferTexture3D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) {
2618   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2619   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level, zoffset );
2620   funcs->ext.p_glFramebufferTexture3D( target, attachment, textarget, texture, level, zoffset );
2621 }
2622
2623 static void WINAPI glFramebufferTexture3DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) {
2624   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2625   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, attachment, textarget, texture, level, zoffset );
2626   funcs->ext.p_glFramebufferTexture3DEXT( target, attachment, textarget, texture, level, zoffset );
2627 }
2628
2629 static void WINAPI glFramebufferTextureARB( GLenum target, GLenum attachment, GLuint texture, GLint level ) {
2630   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2631   TRACE("(%d, %d, %d, %d)\n", target, attachment, texture, level );
2632   funcs->ext.p_glFramebufferTextureARB( target, attachment, texture, level );
2633 }
2634
2635 static void WINAPI glFramebufferTextureEXT( GLenum target, GLenum attachment, GLuint texture, GLint level ) {
2636   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2637   TRACE("(%d, %d, %d, %d)\n", target, attachment, texture, level );
2638   funcs->ext.p_glFramebufferTextureEXT( target, attachment, texture, level );
2639 }
2640
2641 static void WINAPI glFramebufferTextureFaceARB( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face ) {
2642   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2643   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, texture, level, face );
2644   funcs->ext.p_glFramebufferTextureFaceARB( target, attachment, texture, level, face );
2645 }
2646
2647 static void WINAPI glFramebufferTextureFaceEXT( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face ) {
2648   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2649   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, texture, level, face );
2650   funcs->ext.p_glFramebufferTextureFaceEXT( target, attachment, texture, level, face );
2651 }
2652
2653 static void WINAPI glFramebufferTextureLayer( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) {
2654   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2655   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, texture, level, layer );
2656   funcs->ext.p_glFramebufferTextureLayer( target, attachment, texture, level, layer );
2657 }
2658
2659 static void WINAPI glFramebufferTextureLayerARB( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) {
2660   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2661   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, texture, level, layer );
2662   funcs->ext.p_glFramebufferTextureLayerARB( target, attachment, texture, level, layer );
2663 }
2664
2665 static void WINAPI glFramebufferTextureLayerEXT( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) {
2666   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2667   TRACE("(%d, %d, %d, %d, %d)\n", target, attachment, texture, level, layer );
2668   funcs->ext.p_glFramebufferTextureLayerEXT( target, attachment, texture, level, layer );
2669 }
2670
2671 static void WINAPI glFreeObjectBufferATI( GLuint buffer ) {
2672   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2673   TRACE("(%d)\n", buffer );
2674   funcs->ext.p_glFreeObjectBufferATI( buffer );
2675 }
2676
2677 static GLuint WINAPI glGenAsyncMarkersSGIX( GLsizei range ) {
2678   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2679   TRACE("(%d)\n", range );
2680   return funcs->ext.p_glGenAsyncMarkersSGIX( range );
2681 }
2682
2683 static void WINAPI glGenBuffers( GLsizei n, GLuint* buffers ) {
2684   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2685   TRACE("(%d, %p)\n", n, buffers );
2686   funcs->ext.p_glGenBuffers( n, buffers );
2687 }
2688
2689 static void WINAPI glGenBuffersARB( GLsizei n, GLuint* buffers ) {
2690   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2691   TRACE("(%d, %p)\n", n, buffers );
2692   funcs->ext.p_glGenBuffersARB( n, buffers );
2693 }
2694
2695 static void WINAPI glGenFencesAPPLE( GLsizei n, GLuint* fences ) {
2696   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2697   TRACE("(%d, %p)\n", n, fences );
2698   funcs->ext.p_glGenFencesAPPLE( n, fences );
2699 }
2700
2701 static void WINAPI glGenFencesNV( GLsizei n, GLuint* fences ) {
2702   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2703   TRACE("(%d, %p)\n", n, fences );
2704   funcs->ext.p_glGenFencesNV( n, fences );
2705 }
2706
2707 static GLuint WINAPI glGenFragmentShadersATI( GLuint range ) {
2708   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2709   TRACE("(%d)\n", range );
2710   return funcs->ext.p_glGenFragmentShadersATI( range );
2711 }
2712
2713 static void WINAPI glGenFramebuffers( GLsizei n, GLuint* framebuffers ) {
2714   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2715   TRACE("(%d, %p)\n", n, framebuffers );
2716   funcs->ext.p_glGenFramebuffers( n, framebuffers );
2717 }
2718
2719 static void WINAPI glGenFramebuffersEXT( GLsizei n, GLuint* framebuffers ) {
2720   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2721   TRACE("(%d, %p)\n", n, framebuffers );
2722   funcs->ext.p_glGenFramebuffersEXT( n, framebuffers );
2723 }
2724
2725 static void WINAPI glGenNamesAMD( GLenum identifier, GLuint num, GLuint* names ) {
2726   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2727   TRACE("(%d, %d, %p)\n", identifier, num, names );
2728   funcs->ext.p_glGenNamesAMD( identifier, num, names );
2729 }
2730
2731 static void WINAPI glGenOcclusionQueriesNV( GLsizei n, GLuint* ids ) {
2732   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2733   TRACE("(%d, %p)\n", n, ids );
2734   funcs->ext.p_glGenOcclusionQueriesNV( n, ids );
2735 }
2736
2737 static GLuint WINAPI glGenPathsNV( GLsizei range ) {
2738   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2739   TRACE("(%d)\n", range );
2740   return funcs->ext.p_glGenPathsNV( range );
2741 }
2742
2743 static void WINAPI glGenPerfMonitorsAMD( GLsizei n, GLuint* monitors ) {
2744   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2745   TRACE("(%d, %p)\n", n, monitors );
2746   funcs->ext.p_glGenPerfMonitorsAMD( n, monitors );
2747 }
2748
2749 static void WINAPI glGenProgramPipelines( GLsizei n, GLuint* pipelines ) {
2750   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2751   TRACE("(%d, %p)\n", n, pipelines );
2752   funcs->ext.p_glGenProgramPipelines( n, pipelines );
2753 }
2754
2755 static void WINAPI glGenProgramsARB( GLsizei n, GLuint* programs ) {
2756   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2757   TRACE("(%d, %p)\n", n, programs );
2758   funcs->ext.p_glGenProgramsARB( n, programs );
2759 }
2760
2761 static void WINAPI glGenProgramsNV( GLsizei n, GLuint* programs ) {
2762   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2763   TRACE("(%d, %p)\n", n, programs );
2764   funcs->ext.p_glGenProgramsNV( n, programs );
2765 }
2766
2767 static void WINAPI glGenQueries( GLsizei n, GLuint* ids ) {
2768   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2769   TRACE("(%d, %p)\n", n, ids );
2770   funcs->ext.p_glGenQueries( n, ids );
2771 }
2772
2773 static void WINAPI glGenQueriesARB( GLsizei n, GLuint* ids ) {
2774   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2775   TRACE("(%d, %p)\n", n, ids );
2776   funcs->ext.p_glGenQueriesARB( n, ids );
2777 }
2778
2779 static void WINAPI glGenRenderbuffers( GLsizei n, GLuint* renderbuffers ) {
2780   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2781   TRACE("(%d, %p)\n", n, renderbuffers );
2782   funcs->ext.p_glGenRenderbuffers( n, renderbuffers );
2783 }
2784
2785 static void WINAPI glGenRenderbuffersEXT( GLsizei n, GLuint* renderbuffers ) {
2786   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2787   TRACE("(%d, %p)\n", n, renderbuffers );
2788   funcs->ext.p_glGenRenderbuffersEXT( n, renderbuffers );
2789 }
2790
2791 static void WINAPI glGenSamplers( GLsizei count, GLuint* samplers ) {
2792   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2793   TRACE("(%d, %p)\n", count, samplers );
2794   funcs->ext.p_glGenSamplers( count, samplers );
2795 }
2796
2797 static GLuint WINAPI glGenSymbolsEXT( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) {
2798   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2799   TRACE("(%d, %d, %d, %d)\n", datatype, storagetype, range, components );
2800   return funcs->ext.p_glGenSymbolsEXT( datatype, storagetype, range, components );
2801 }
2802
2803 static void WINAPI glGenTexturesEXT( GLsizei n, GLuint* textures ) {
2804   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2805   TRACE("(%d, %p)\n", n, textures );
2806   funcs->ext.p_glGenTexturesEXT( n, textures );
2807 }
2808
2809 static void WINAPI glGenTransformFeedbacks( GLsizei n, GLuint* ids ) {
2810   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2811   TRACE("(%d, %p)\n", n, ids );
2812   funcs->ext.p_glGenTransformFeedbacks( n, ids );
2813 }
2814
2815 static void WINAPI glGenTransformFeedbacksNV( GLsizei n, GLuint* ids ) {
2816   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2817   TRACE("(%d, %p)\n", n, ids );
2818   funcs->ext.p_glGenTransformFeedbacksNV( n, ids );
2819 }
2820
2821 static void WINAPI glGenVertexArrays( GLsizei n, GLuint* arrays ) {
2822   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2823   TRACE("(%d, %p)\n", n, arrays );
2824   funcs->ext.p_glGenVertexArrays( n, arrays );
2825 }
2826
2827 static void WINAPI glGenVertexArraysAPPLE( GLsizei n, GLuint* arrays ) {
2828   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2829   TRACE("(%d, %p)\n", n, arrays );
2830   funcs->ext.p_glGenVertexArraysAPPLE( n, arrays );
2831 }
2832
2833 static GLuint WINAPI glGenVertexShadersEXT( GLuint range ) {
2834   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2835   TRACE("(%d)\n", range );
2836   return funcs->ext.p_glGenVertexShadersEXT( range );
2837 }
2838
2839 static void WINAPI glGenerateMipmap( GLenum target ) {
2840   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2841   TRACE("(%d)\n", target );
2842   funcs->ext.p_glGenerateMipmap( target );
2843 }
2844
2845 static void WINAPI glGenerateMipmapEXT( GLenum target ) {
2846   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2847   TRACE("(%d)\n", target );
2848   funcs->ext.p_glGenerateMipmapEXT( target );
2849 }
2850
2851 static void WINAPI glGenerateMultiTexMipmapEXT( GLenum texunit, GLenum target ) {
2852   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2853   TRACE("(%d, %d)\n", texunit, target );
2854   funcs->ext.p_glGenerateMultiTexMipmapEXT( texunit, target );
2855 }
2856
2857 static void WINAPI glGenerateTextureMipmapEXT( GLuint texture, GLenum target ) {
2858   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2859   TRACE("(%d, %d)\n", texture, target );
2860   funcs->ext.p_glGenerateTextureMipmapEXT( texture, target );
2861 }
2862
2863 static void WINAPI glGetActiveAtomicCounterBufferiv( GLuint program, GLuint bufferIndex, GLenum pname, GLint* params ) {
2864   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2865   TRACE("(%d, %d, %d, %p)\n", program, bufferIndex, pname, params );
2866   funcs->ext.p_glGetActiveAtomicCounterBufferiv( program, bufferIndex, pname, params );
2867 }
2868
2869 static void WINAPI glGetActiveAttrib( GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name ) {
2870   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2871   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", program, index, bufSize, length, size, type, name );
2872   funcs->ext.p_glGetActiveAttrib( program, index, bufSize, length, size, type, name );
2873 }
2874
2875 static void WINAPI glGetActiveAttribARB( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLcharARB* name ) {
2876   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2877   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", programObj, index, maxLength, length, size, type, name );
2878   funcs->ext.p_glGetActiveAttribARB( programObj, index, maxLength, length, size, type, name );
2879 }
2880
2881 static void WINAPI glGetActiveSubroutineName( GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name ) {
2882   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2883   TRACE("(%d, %d, %d, %d, %p, %p)\n", program, shadertype, index, bufsize, length, name );
2884   funcs->ext.p_glGetActiveSubroutineName( program, shadertype, index, bufsize, length, name );
2885 }
2886
2887 static void WINAPI glGetActiveSubroutineUniformName( GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name ) {
2888   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2889   TRACE("(%d, %d, %d, %d, %p, %p)\n", program, shadertype, index, bufsize, length, name );
2890   funcs->ext.p_glGetActiveSubroutineUniformName( program, shadertype, index, bufsize, length, name );
2891 }
2892
2893 static void WINAPI glGetActiveSubroutineUniformiv( GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values ) {
2894   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2895   TRACE("(%d, %d, %d, %d, %p)\n", program, shadertype, index, pname, values );
2896   funcs->ext.p_glGetActiveSubroutineUniformiv( program, shadertype, index, pname, values );
2897 }
2898
2899 static void WINAPI glGetActiveUniform( GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name ) {
2900   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2901   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", program, index, bufSize, length, size, type, name );
2902   funcs->ext.p_glGetActiveUniform( program, index, bufSize, length, size, type, name );
2903 }
2904
2905 static void WINAPI glGetActiveUniformARB( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLcharARB* name ) {
2906   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2907   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", programObj, index, maxLength, length, size, type, name );
2908   funcs->ext.p_glGetActiveUniformARB( programObj, index, maxLength, length, size, type, name );
2909 }
2910
2911 static void WINAPI glGetActiveUniformBlockName( GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName ) {
2912   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2913   TRACE("(%d, %d, %d, %p, %p)\n", program, uniformBlockIndex, bufSize, length, uniformBlockName );
2914   funcs->ext.p_glGetActiveUniformBlockName( program, uniformBlockIndex, bufSize, length, uniformBlockName );
2915 }
2916
2917 static void WINAPI glGetActiveUniformBlockiv( GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params ) {
2918   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2919   TRACE("(%d, %d, %d, %p)\n", program, uniformBlockIndex, pname, params );
2920   funcs->ext.p_glGetActiveUniformBlockiv( program, uniformBlockIndex, pname, params );
2921 }
2922
2923 static void WINAPI glGetActiveUniformName( GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName ) {
2924   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2925   TRACE("(%d, %d, %d, %p, %p)\n", program, uniformIndex, bufSize, length, uniformName );
2926   funcs->ext.p_glGetActiveUniformName( program, uniformIndex, bufSize, length, uniformName );
2927 }
2928
2929 static void WINAPI glGetActiveUniformsiv( GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params ) {
2930   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2931   TRACE("(%d, %d, %p, %d, %p)\n", program, uniformCount, uniformIndices, pname, params );
2932   funcs->ext.p_glGetActiveUniformsiv( program, uniformCount, uniformIndices, pname, params );
2933 }
2934
2935 static void WINAPI glGetActiveVaryingNV( GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name ) {
2936   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2937   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", program, index, bufSize, length, size, type, name );
2938   funcs->ext.p_glGetActiveVaryingNV( program, index, bufSize, length, size, type, name );
2939 }
2940
2941 static void WINAPI glGetArrayObjectfvATI( GLenum array, GLenum pname, GLfloat* params ) {
2942   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2943   TRACE("(%d, %d, %p)\n", array, pname, params );
2944   funcs->ext.p_glGetArrayObjectfvATI( array, pname, params );
2945 }
2946
2947 static void WINAPI glGetArrayObjectivATI( GLenum array, GLenum pname, GLint* params ) {
2948   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2949   TRACE("(%d, %d, %p)\n", array, pname, params );
2950   funcs->ext.p_glGetArrayObjectivATI( array, pname, params );
2951 }
2952
2953 static void WINAPI glGetAttachedObjectsARB( GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB* obj ) {
2954   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2955   TRACE("(%d, %d, %p, %p)\n", containerObj, maxCount, count, obj );
2956   funcs->ext.p_glGetAttachedObjectsARB( containerObj, maxCount, count, obj );
2957 }
2958
2959 static void WINAPI glGetAttachedShaders( GLuint program, GLsizei maxCount, GLsizei* count, GLuint* obj ) {
2960   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2961   TRACE("(%d, %d, %p, %p)\n", program, maxCount, count, obj );
2962   funcs->ext.p_glGetAttachedShaders( program, maxCount, count, obj );
2963 }
2964
2965 static GLint WINAPI glGetAttribLocation( GLuint program, const GLchar* name ) {
2966   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2967   TRACE("(%d, %p)\n", program, name );
2968   return funcs->ext.p_glGetAttribLocation( program, name );
2969 }
2970
2971 static GLint WINAPI glGetAttribLocationARB( GLhandleARB programObj, const GLcharARB* name ) {
2972   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2973   TRACE("(%d, %p)\n", programObj, name );
2974   return funcs->ext.p_glGetAttribLocationARB( programObj, name );
2975 }
2976
2977 static void WINAPI glGetBooleanIndexedvEXT( GLenum target, GLuint index, GLboolean* data ) {
2978   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2979   TRACE("(%d, %d, %p)\n", target, index, data );
2980   funcs->ext.p_glGetBooleanIndexedvEXT( target, index, data );
2981 }
2982
2983 static void WINAPI glGetBooleani_v( GLenum target, GLuint index, GLboolean* data ) {
2984   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2985   TRACE("(%d, %d, %p)\n", target, index, data );
2986   funcs->ext.p_glGetBooleani_v( target, index, data );
2987 }
2988
2989 static void WINAPI glGetBufferParameteri64v( GLenum target, GLenum pname, INT64* params ) {
2990   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2991   TRACE("(%d, %d, %p)\n", target, pname, params );
2992   funcs->ext.p_glGetBufferParameteri64v( target, pname, params );
2993 }
2994
2995 static void WINAPI glGetBufferParameteriv( GLenum target, GLenum pname, GLint* params ) {
2996   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
2997   TRACE("(%d, %d, %p)\n", target, pname, params );
2998   funcs->ext.p_glGetBufferParameteriv( target, pname, params );
2999 }
3000
3001 static void WINAPI glGetBufferParameterivARB( GLenum target, GLenum pname, GLint* params ) {
3002   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3003   TRACE("(%d, %d, %p)\n", target, pname, params );
3004   funcs->ext.p_glGetBufferParameterivARB( target, pname, params );
3005 }
3006
3007 static void WINAPI glGetBufferParameterui64vNV( GLenum target, GLenum pname, UINT64* params ) {
3008   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3009   TRACE("(%d, %d, %p)\n", target, pname, params );
3010   funcs->ext.p_glGetBufferParameterui64vNV( target, pname, params );
3011 }
3012
3013 static void WINAPI glGetBufferPointerv( GLenum target, GLenum pname, GLvoid** params ) {
3014   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3015   TRACE("(%d, %d, %p)\n", target, pname, params );
3016   funcs->ext.p_glGetBufferPointerv( target, pname, params );
3017 }
3018
3019 static void WINAPI glGetBufferPointervARB( GLenum target, GLenum pname, GLvoid** params ) {
3020   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3021   TRACE("(%d, %d, %p)\n", target, pname, params );
3022   funcs->ext.p_glGetBufferPointervARB( target, pname, params );
3023 }
3024
3025 static void WINAPI glGetBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data ) {
3026   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3027   TRACE("(%d, %ld, %ld, %p)\n", target, offset, size, data );
3028   funcs->ext.p_glGetBufferSubData( target, offset, size, data );
3029 }
3030
3031 static void WINAPI glGetBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid* data ) {
3032   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3033   TRACE("(%d, %ld, %ld, %p)\n", target, offset, size, data );
3034   funcs->ext.p_glGetBufferSubDataARB( target, offset, size, data );
3035 }
3036
3037 static void WINAPI glGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid* table ) {
3038   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3039   TRACE("(%d, %d, %d, %p)\n", target, format, type, table );
3040   funcs->ext.p_glGetColorTable( target, format, type, table );
3041 }
3042
3043 static void WINAPI glGetColorTableEXT( GLenum target, GLenum format, GLenum type, GLvoid* data ) {
3044   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3045   TRACE("(%d, %d, %d, %p)\n", target, format, type, data );
3046   funcs->ext.p_glGetColorTableEXT( target, format, type, data );
3047 }
3048
3049 static void WINAPI glGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat* params ) {
3050   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3051   TRACE("(%d, %d, %p)\n", target, pname, params );
3052   funcs->ext.p_glGetColorTableParameterfv( target, pname, params );
3053 }
3054
3055 static void WINAPI glGetColorTableParameterfvEXT( GLenum target, GLenum pname, GLfloat* params ) {
3056   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3057   TRACE("(%d, %d, %p)\n", target, pname, params );
3058   funcs->ext.p_glGetColorTableParameterfvEXT( target, pname, params );
3059 }
3060
3061 static void WINAPI glGetColorTableParameterfvSGI( GLenum target, GLenum pname, GLfloat* params ) {
3062   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3063   TRACE("(%d, %d, %p)\n", target, pname, params );
3064   funcs->ext.p_glGetColorTableParameterfvSGI( target, pname, params );
3065 }
3066
3067 static void WINAPI glGetColorTableParameteriv( GLenum target, GLenum pname, GLint* params ) {
3068   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3069   TRACE("(%d, %d, %p)\n", target, pname, params );
3070   funcs->ext.p_glGetColorTableParameteriv( target, pname, params );
3071 }
3072
3073 static void WINAPI glGetColorTableParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
3074   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3075   TRACE("(%d, %d, %p)\n", target, pname, params );
3076   funcs->ext.p_glGetColorTableParameterivEXT( target, pname, params );
3077 }
3078
3079 static void WINAPI glGetColorTableParameterivSGI( GLenum target, GLenum pname, GLint* params ) {
3080   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3081   TRACE("(%d, %d, %p)\n", target, pname, params );
3082   funcs->ext.p_glGetColorTableParameterivSGI( target, pname, params );
3083 }
3084
3085 static void WINAPI glGetColorTableSGI( GLenum target, GLenum format, GLenum type, GLvoid* table ) {
3086   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3087   TRACE("(%d, %d, %d, %p)\n", target, format, type, table );
3088   funcs->ext.p_glGetColorTableSGI( target, format, type, table );
3089 }
3090
3091 static void WINAPI glGetCombinerInputParameterfvNV( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params ) {
3092   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3093   TRACE("(%d, %d, %d, %d, %p)\n", stage, portion, variable, pname, params );
3094   funcs->ext.p_glGetCombinerInputParameterfvNV( stage, portion, variable, pname, params );
3095 }
3096
3097 static void WINAPI glGetCombinerInputParameterivNV( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params ) {
3098   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3099   TRACE("(%d, %d, %d, %d, %p)\n", stage, portion, variable, pname, params );
3100   funcs->ext.p_glGetCombinerInputParameterivNV( stage, portion, variable, pname, params );
3101 }
3102
3103 static void WINAPI glGetCombinerOutputParameterfvNV( GLenum stage, GLenum portion, GLenum pname, GLfloat* params ) {
3104   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3105   TRACE("(%d, %d, %d, %p)\n", stage, portion, pname, params );
3106   funcs->ext.p_glGetCombinerOutputParameterfvNV( stage, portion, pname, params );
3107 }
3108
3109 static void WINAPI glGetCombinerOutputParameterivNV( GLenum stage, GLenum portion, GLenum pname, GLint* params ) {
3110   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3111   TRACE("(%d, %d, %d, %p)\n", stage, portion, pname, params );
3112   funcs->ext.p_glGetCombinerOutputParameterivNV( stage, portion, pname, params );
3113 }
3114
3115 static void WINAPI glGetCombinerStageParameterfvNV( GLenum stage, GLenum pname, GLfloat* params ) {
3116   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3117   TRACE("(%d, %d, %p)\n", stage, pname, params );
3118   funcs->ext.p_glGetCombinerStageParameterfvNV( stage, pname, params );
3119 }
3120
3121 static void WINAPI glGetCompressedMultiTexImageEXT( GLenum texunit, GLenum target, GLint lod, GLvoid* img ) {
3122   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3123   TRACE("(%d, %d, %d, %p)\n", texunit, target, lod, img );
3124   funcs->ext.p_glGetCompressedMultiTexImageEXT( texunit, target, lod, img );
3125 }
3126
3127 static void WINAPI glGetCompressedTexImage( GLenum target, GLint level, GLvoid* img ) {
3128   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3129   TRACE("(%d, %d, %p)\n", target, level, img );
3130   funcs->ext.p_glGetCompressedTexImage( target, level, img );
3131 }
3132
3133 static void WINAPI glGetCompressedTexImageARB( GLenum target, GLint level, GLvoid* img ) {
3134   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3135   TRACE("(%d, %d, %p)\n", target, level, img );
3136   funcs->ext.p_glGetCompressedTexImageARB( target, level, img );
3137 }
3138
3139 static void WINAPI glGetCompressedTextureImageEXT( GLuint texture, GLenum target, GLint lod, GLvoid* img ) {
3140   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3141   TRACE("(%d, %d, %d, %p)\n", texture, target, lod, img );
3142   funcs->ext.p_glGetCompressedTextureImageEXT( texture, target, lod, img );
3143 }
3144
3145 static void WINAPI glGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid* image ) {
3146   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3147   TRACE("(%d, %d, %d, %p)\n", target, format, type, image );
3148   funcs->ext.p_glGetConvolutionFilter( target, format, type, image );
3149 }
3150
3151 static void WINAPI glGetConvolutionFilterEXT( GLenum target, GLenum format, GLenum type, GLvoid* image ) {
3152   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3153   TRACE("(%d, %d, %d, %p)\n", target, format, type, image );
3154   funcs->ext.p_glGetConvolutionFilterEXT( target, format, type, image );
3155 }
3156
3157 static void WINAPI glGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat* params ) {
3158   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3159   TRACE("(%d, %d, %p)\n", target, pname, params );
3160   funcs->ext.p_glGetConvolutionParameterfv( target, pname, params );
3161 }
3162
3163 static void WINAPI glGetConvolutionParameterfvEXT( GLenum target, GLenum pname, GLfloat* params ) {
3164   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3165   TRACE("(%d, %d, %p)\n", target, pname, params );
3166   funcs->ext.p_glGetConvolutionParameterfvEXT( target, pname, params );
3167 }
3168
3169 static void WINAPI glGetConvolutionParameteriv( GLenum target, GLenum pname, GLint* params ) {
3170   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3171   TRACE("(%d, %d, %p)\n", target, pname, params );
3172   funcs->ext.p_glGetConvolutionParameteriv( target, pname, params );
3173 }
3174
3175 static void WINAPI glGetConvolutionParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
3176   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3177   TRACE("(%d, %d, %p)\n", target, pname, params );
3178   funcs->ext.p_glGetConvolutionParameterivEXT( target, pname, params );
3179 }
3180
3181 static GLuint WINAPI glGetDebugMessageLog( GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog ) {
3182   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3183   TRACE("(%d, %d, %p, %p, %p, %p, %p, %p)\n", count, bufsize, sources, types, ids, severities, lengths, messageLog );
3184   return funcs->ext.p_glGetDebugMessageLog( count, bufsize, sources, types, ids, severities, lengths, messageLog );
3185 }
3186
3187 static GLuint WINAPI glGetDebugMessageLogAMD( GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message ) {
3188   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3189   TRACE("(%d, %d, %p, %p, %p, %p, %p)\n", count, bufsize, categories, severities, ids, lengths, message );
3190   return funcs->ext.p_glGetDebugMessageLogAMD( count, bufsize, categories, severities, ids, lengths, message );
3191 }
3192
3193 static GLuint WINAPI glGetDebugMessageLogARB( GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog ) {
3194   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3195   TRACE("(%d, %d, %p, %p, %p, %p, %p, %p)\n", count, bufsize, sources, types, ids, severities, lengths, messageLog );
3196   return funcs->ext.p_glGetDebugMessageLogARB( count, bufsize, sources, types, ids, severities, lengths, messageLog );
3197 }
3198
3199 static void WINAPI glGetDetailTexFuncSGIS( GLenum target, GLfloat* points ) {
3200   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3201   TRACE("(%d, %p)\n", target, points );
3202   funcs->ext.p_glGetDetailTexFuncSGIS( target, points );
3203 }
3204
3205 static void WINAPI glGetDoubleIndexedvEXT( GLenum target, GLuint index, GLdouble* data ) {
3206   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3207   TRACE("(%d, %d, %p)\n", target, index, data );
3208   funcs->ext.p_glGetDoubleIndexedvEXT( target, index, data );
3209 }
3210
3211 static void WINAPI glGetDoublei_v( GLenum target, GLuint index, GLdouble* data ) {
3212   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3213   TRACE("(%d, %d, %p)\n", target, index, data );
3214   funcs->ext.p_glGetDoublei_v( target, index, data );
3215 }
3216
3217 static void WINAPI glGetFenceivNV( GLuint fence, GLenum pname, GLint* params ) {
3218   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3219   TRACE("(%d, %d, %p)\n", fence, pname, params );
3220   funcs->ext.p_glGetFenceivNV( fence, pname, params );
3221 }
3222
3223 static void WINAPI glGetFinalCombinerInputParameterfvNV( GLenum variable, GLenum pname, GLfloat* params ) {
3224   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3225   TRACE("(%d, %d, %p)\n", variable, pname, params );
3226   funcs->ext.p_glGetFinalCombinerInputParameterfvNV( variable, pname, params );
3227 }
3228
3229 static void WINAPI glGetFinalCombinerInputParameterivNV( GLenum variable, GLenum pname, GLint* params ) {
3230   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3231   TRACE("(%d, %d, %p)\n", variable, pname, params );
3232   funcs->ext.p_glGetFinalCombinerInputParameterivNV( variable, pname, params );
3233 }
3234
3235 static void WINAPI glGetFloatIndexedvEXT( GLenum target, GLuint index, GLfloat* data ) {
3236   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3237   TRACE("(%d, %d, %p)\n", target, index, data );
3238   funcs->ext.p_glGetFloatIndexedvEXT( target, index, data );
3239 }
3240
3241 static void WINAPI glGetFloati_v( GLenum target, GLuint index, GLfloat* data ) {
3242   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3243   TRACE("(%d, %d, %p)\n", target, index, data );
3244   funcs->ext.p_glGetFloati_v( target, index, data );
3245 }
3246
3247 static void WINAPI glGetFogFuncSGIS( GLfloat* points ) {
3248   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3249   TRACE("(%p)\n", points );
3250   funcs->ext.p_glGetFogFuncSGIS( points );
3251 }
3252
3253 static GLint WINAPI glGetFragDataIndex( GLuint program, const GLchar* name ) {
3254   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3255   TRACE("(%d, %p)\n", program, name );
3256   return funcs->ext.p_glGetFragDataIndex( program, name );
3257 }
3258
3259 static GLint WINAPI glGetFragDataLocation( GLuint program, const GLchar* name ) {
3260   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3261   TRACE("(%d, %p)\n", program, name );
3262   return funcs->ext.p_glGetFragDataLocation( program, name );
3263 }
3264
3265 static GLint WINAPI glGetFragDataLocationEXT( GLuint program, const GLchar* name ) {
3266   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3267   TRACE("(%d, %p)\n", program, name );
3268   return funcs->ext.p_glGetFragDataLocationEXT( program, name );
3269 }
3270
3271 static void WINAPI glGetFragmentLightfvSGIX( GLenum light, GLenum pname, GLfloat* params ) {
3272   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3273   TRACE("(%d, %d, %p)\n", light, pname, params );
3274   funcs->ext.p_glGetFragmentLightfvSGIX( light, pname, params );
3275 }
3276
3277 static void WINAPI glGetFragmentLightivSGIX( GLenum light, GLenum pname, GLint* params ) {
3278   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3279   TRACE("(%d, %d, %p)\n", light, pname, params );
3280   funcs->ext.p_glGetFragmentLightivSGIX( light, pname, params );
3281 }
3282
3283 static void WINAPI glGetFragmentMaterialfvSGIX( GLenum face, GLenum pname, GLfloat* params ) {
3284   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3285   TRACE("(%d, %d, %p)\n", face, pname, params );
3286   funcs->ext.p_glGetFragmentMaterialfvSGIX( face, pname, params );
3287 }
3288
3289 static void WINAPI glGetFragmentMaterialivSGIX( GLenum face, GLenum pname, GLint* params ) {
3290   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3291   TRACE("(%d, %d, %p)\n", face, pname, params );
3292   funcs->ext.p_glGetFragmentMaterialivSGIX( face, pname, params );
3293 }
3294
3295 static void WINAPI glGetFramebufferAttachmentParameteriv( GLenum target, GLenum attachment, GLenum pname, GLint* params ) {
3296   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3297   TRACE("(%d, %d, %d, %p)\n", target, attachment, pname, params );
3298   funcs->ext.p_glGetFramebufferAttachmentParameteriv( target, attachment, pname, params );
3299 }
3300
3301 static void WINAPI glGetFramebufferAttachmentParameterivEXT( GLenum target, GLenum attachment, GLenum pname, GLint* params ) {
3302   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3303   TRACE("(%d, %d, %d, %p)\n", target, attachment, pname, params );
3304   funcs->ext.p_glGetFramebufferAttachmentParameterivEXT( target, attachment, pname, params );
3305 }
3306
3307 static void WINAPI glGetFramebufferParameteriv( GLenum target, GLenum pname, GLint* params ) {
3308   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3309   TRACE("(%d, %d, %p)\n", target, pname, params );
3310   funcs->ext.p_glGetFramebufferParameteriv( target, pname, params );
3311 }
3312
3313 static void WINAPI glGetFramebufferParameterivEXT( GLuint framebuffer, GLenum pname, GLint* params ) {
3314   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3315   TRACE("(%d, %d, %p)\n", framebuffer, pname, params );
3316   funcs->ext.p_glGetFramebufferParameterivEXT( framebuffer, pname, params );
3317 }
3318
3319 static GLenum WINAPI glGetGraphicsResetStatusARB( void ) {
3320   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3321   TRACE("()\n");
3322   return funcs->ext.p_glGetGraphicsResetStatusARB( );
3323 }
3324
3325 static GLhandleARB WINAPI glGetHandleARB( GLenum pname ) {
3326   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3327   TRACE("(%d)\n", pname );
3328   return funcs->ext.p_glGetHandleARB( pname );
3329 }
3330
3331 static void WINAPI glGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ) {
3332   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3333   TRACE("(%d, %d, %d, %d, %p)\n", target, reset, format, type, values );
3334   funcs->ext.p_glGetHistogram( target, reset, format, type, values );
3335 }
3336
3337 static void WINAPI glGetHistogramEXT( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ) {
3338   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3339   TRACE("(%d, %d, %d, %d, %p)\n", target, reset, format, type, values );
3340   funcs->ext.p_glGetHistogramEXT( target, reset, format, type, values );
3341 }
3342
3343 static void WINAPI glGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat* params ) {
3344   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3345   TRACE("(%d, %d, %p)\n", target, pname, params );
3346   funcs->ext.p_glGetHistogramParameterfv( target, pname, params );
3347 }
3348
3349 static void WINAPI glGetHistogramParameterfvEXT( GLenum target, GLenum pname, GLfloat* params ) {
3350   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3351   TRACE("(%d, %d, %p)\n", target, pname, params );
3352   funcs->ext.p_glGetHistogramParameterfvEXT( target, pname, params );
3353 }
3354
3355 static void WINAPI glGetHistogramParameteriv( GLenum target, GLenum pname, GLint* params ) {
3356   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3357   TRACE("(%d, %d, %p)\n", target, pname, params );
3358   funcs->ext.p_glGetHistogramParameteriv( target, pname, params );
3359 }
3360
3361 static void WINAPI glGetHistogramParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
3362   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3363   TRACE("(%d, %d, %p)\n", target, pname, params );
3364   funcs->ext.p_glGetHistogramParameterivEXT( target, pname, params );
3365 }
3366
3367 static UINT64 WINAPI glGetImageHandleNV( GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format ) {
3368   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3369   TRACE("(%d, %d, %d, %d, %d)\n", texture, level, layered, layer, format );
3370   return funcs->ext.p_glGetImageHandleNV( texture, level, layered, layer, format );
3371 }
3372
3373 static void WINAPI glGetImageTransformParameterfvHP( GLenum target, GLenum pname, GLfloat* params ) {
3374   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3375   TRACE("(%d, %d, %p)\n", target, pname, params );
3376   funcs->ext.p_glGetImageTransformParameterfvHP( target, pname, params );
3377 }
3378
3379 static void WINAPI glGetImageTransformParameterivHP( GLenum target, GLenum pname, GLint* params ) {
3380   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3381   TRACE("(%d, %d, %p)\n", target, pname, params );
3382   funcs->ext.p_glGetImageTransformParameterivHP( target, pname, params );
3383 }
3384
3385 static void WINAPI glGetInfoLogARB( GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* infoLog ) {
3386   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3387   TRACE("(%d, %d, %p, %p)\n", obj, maxLength, length, infoLog );
3388   funcs->ext.p_glGetInfoLogARB( obj, maxLength, length, infoLog );
3389 }
3390
3391 static GLint WINAPI glGetInstrumentsSGIX( void ) {
3392   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3393   TRACE("()\n");
3394   return funcs->ext.p_glGetInstrumentsSGIX( );
3395 }
3396
3397 static void WINAPI glGetInteger64i_v( GLenum target, GLuint index, INT64* data ) {
3398   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3399   TRACE("(%d, %d, %p)\n", target, index, data );
3400   funcs->ext.p_glGetInteger64i_v( target, index, data );
3401 }
3402
3403 static void WINAPI glGetInteger64v( GLenum pname, INT64* params ) {
3404   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3405   TRACE("(%d, %p)\n", pname, params );
3406   funcs->ext.p_glGetInteger64v( pname, params );
3407 }
3408
3409 static void WINAPI glGetIntegerIndexedvEXT( GLenum target, GLuint index, GLint* data ) {
3410   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3411   TRACE("(%d, %d, %p)\n", target, index, data );
3412   funcs->ext.p_glGetIntegerIndexedvEXT( target, index, data );
3413 }
3414
3415 static void WINAPI glGetIntegeri_v( GLenum target, GLuint index, GLint* data ) {
3416   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3417   TRACE("(%d, %d, %p)\n", target, index, data );
3418   funcs->ext.p_glGetIntegeri_v( target, index, data );
3419 }
3420
3421 static void WINAPI glGetIntegerui64i_vNV( GLenum value, GLuint index, UINT64* result ) {
3422   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3423   TRACE("(%d, %d, %p)\n", value, index, result );
3424   funcs->ext.p_glGetIntegerui64i_vNV( value, index, result );
3425 }
3426
3427 static void WINAPI glGetIntegerui64vNV( GLenum value, UINT64* result ) {
3428   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3429   TRACE("(%d, %p)\n", value, result );
3430   funcs->ext.p_glGetIntegerui64vNV( value, result );
3431 }
3432
3433 static void WINAPI glGetInternalformati64v( GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, INT64* params ) {
3434   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3435   TRACE("(%d, %d, %d, %d, %p)\n", target, internalformat, pname, bufSize, params );
3436   funcs->ext.p_glGetInternalformati64v( target, internalformat, pname, bufSize, params );
3437 }
3438
3439 static void WINAPI glGetInternalformativ( GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params ) {
3440   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3441   TRACE("(%d, %d, %d, %d, %p)\n", target, internalformat, pname, bufSize, params );
3442   funcs->ext.p_glGetInternalformativ( target, internalformat, pname, bufSize, params );
3443 }
3444
3445 static void WINAPI glGetInvariantBooleanvEXT( GLuint id, GLenum value, GLboolean* data ) {
3446   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3447   TRACE("(%d, %d, %p)\n", id, value, data );
3448   funcs->ext.p_glGetInvariantBooleanvEXT( id, value, data );
3449 }
3450
3451 static void WINAPI glGetInvariantFloatvEXT( GLuint id, GLenum value, GLfloat* data ) {
3452   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3453   TRACE("(%d, %d, %p)\n", id, value, data );
3454   funcs->ext.p_glGetInvariantFloatvEXT( id, value, data );
3455 }
3456
3457 static void WINAPI glGetInvariantIntegervEXT( GLuint id, GLenum value, GLint* data ) {
3458   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3459   TRACE("(%d, %d, %p)\n", id, value, data );
3460   funcs->ext.p_glGetInvariantIntegervEXT( id, value, data );
3461 }
3462
3463 static void WINAPI glGetListParameterfvSGIX( GLuint list, GLenum pname, GLfloat* params ) {
3464   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3465   TRACE("(%d, %d, %p)\n", list, pname, params );
3466   funcs->ext.p_glGetListParameterfvSGIX( list, pname, params );
3467 }
3468
3469 static void WINAPI glGetListParameterivSGIX( GLuint list, GLenum pname, GLint* params ) {
3470   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3471   TRACE("(%d, %d, %p)\n", list, pname, params );
3472   funcs->ext.p_glGetListParameterivSGIX( list, pname, params );
3473 }
3474
3475 static void WINAPI glGetLocalConstantBooleanvEXT( GLuint id, GLenum value, GLboolean* data ) {
3476   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3477   TRACE("(%d, %d, %p)\n", id, value, data );
3478   funcs->ext.p_glGetLocalConstantBooleanvEXT( id, value, data );
3479 }
3480
3481 static void WINAPI glGetLocalConstantFloatvEXT( GLuint id, GLenum value, GLfloat* data ) {
3482   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3483   TRACE("(%d, %d, %p)\n", id, value, data );
3484   funcs->ext.p_glGetLocalConstantFloatvEXT( id, value, data );
3485 }
3486
3487 static void WINAPI glGetLocalConstantIntegervEXT( GLuint id, GLenum value, GLint* data ) {
3488   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3489   TRACE("(%d, %d, %p)\n", id, value, data );
3490   funcs->ext.p_glGetLocalConstantIntegervEXT( id, value, data );
3491 }
3492
3493 static void WINAPI glGetMapAttribParameterfvNV( GLenum target, GLuint index, GLenum pname, GLfloat* params ) {
3494   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3495   TRACE("(%d, %d, %d, %p)\n", target, index, pname, params );
3496   funcs->ext.p_glGetMapAttribParameterfvNV( target, index, pname, params );
3497 }
3498
3499 static void WINAPI glGetMapAttribParameterivNV( GLenum target, GLuint index, GLenum pname, GLint* params ) {
3500   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3501   TRACE("(%d, %d, %d, %p)\n", target, index, pname, params );
3502   funcs->ext.p_glGetMapAttribParameterivNV( target, index, pname, params );
3503 }
3504
3505 static void WINAPI glGetMapControlPointsNV( GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid* points ) {
3506   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3507   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, index, type, ustride, vstride, packed, points );
3508   funcs->ext.p_glGetMapControlPointsNV( target, index, type, ustride, vstride, packed, points );
3509 }
3510
3511 static void WINAPI glGetMapParameterfvNV( GLenum target, GLenum pname, GLfloat* params ) {
3512   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3513   TRACE("(%d, %d, %p)\n", target, pname, params );
3514   funcs->ext.p_glGetMapParameterfvNV( target, pname, params );
3515 }
3516
3517 static void WINAPI glGetMapParameterivNV( GLenum target, GLenum pname, GLint* params ) {
3518   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3519   TRACE("(%d, %d, %p)\n", target, pname, params );
3520   funcs->ext.p_glGetMapParameterivNV( target, pname, params );
3521 }
3522
3523 static void WINAPI glGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ) {
3524   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3525   TRACE("(%d, %d, %d, %d, %p)\n", target, reset, format, type, values );
3526   funcs->ext.p_glGetMinmax( target, reset, format, type, values );
3527 }
3528
3529 static void WINAPI glGetMinmaxEXT( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values ) {
3530   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3531   TRACE("(%d, %d, %d, %d, %p)\n", target, reset, format, type, values );
3532   funcs->ext.p_glGetMinmaxEXT( target, reset, format, type, values );
3533 }
3534
3535 static void WINAPI glGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat* params ) {
3536   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3537   TRACE("(%d, %d, %p)\n", target, pname, params );
3538   funcs->ext.p_glGetMinmaxParameterfv( target, pname, params );
3539 }
3540
3541 static void WINAPI glGetMinmaxParameterfvEXT( GLenum target, GLenum pname, GLfloat* params ) {
3542   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3543   TRACE("(%d, %d, %p)\n", target, pname, params );
3544   funcs->ext.p_glGetMinmaxParameterfvEXT( target, pname, params );
3545 }
3546
3547 static void WINAPI glGetMinmaxParameteriv( GLenum target, GLenum pname, GLint* params ) {
3548   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3549   TRACE("(%d, %d, %p)\n", target, pname, params );
3550   funcs->ext.p_glGetMinmaxParameteriv( target, pname, params );
3551 }
3552
3553 static void WINAPI glGetMinmaxParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
3554   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3555   TRACE("(%d, %d, %p)\n", target, pname, params );
3556   funcs->ext.p_glGetMinmaxParameterivEXT( target, pname, params );
3557 }
3558
3559 static void WINAPI glGetMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat* params ) {
3560   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3561   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3562   funcs->ext.p_glGetMultiTexEnvfvEXT( texunit, target, pname, params );
3563 }
3564
3565 static void WINAPI glGetMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, GLint* params ) {
3566   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3567   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3568   funcs->ext.p_glGetMultiTexEnvivEXT( texunit, target, pname, params );
3569 }
3570
3571 static void WINAPI glGetMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble* params ) {
3572   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3573   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
3574   funcs->ext.p_glGetMultiTexGendvEXT( texunit, coord, pname, params );
3575 }
3576
3577 static void WINAPI glGetMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat* params ) {
3578   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3579   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
3580   funcs->ext.p_glGetMultiTexGenfvEXT( texunit, coord, pname, params );
3581 }
3582
3583 static void WINAPI glGetMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, GLint* params ) {
3584   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3585   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
3586   funcs->ext.p_glGetMultiTexGenivEXT( texunit, coord, pname, params );
3587 }
3588
3589 static void WINAPI glGetMultiTexImageEXT( GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels ) {
3590   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3591   TRACE("(%d, %d, %d, %d, %d, %p)\n", texunit, target, level, format, type, pixels );
3592   funcs->ext.p_glGetMultiTexImageEXT( texunit, target, level, format, type, pixels );
3593 }
3594
3595 static void WINAPI glGetMultiTexLevelParameterfvEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params ) {
3596   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3597   TRACE("(%d, %d, %d, %d, %p)\n", texunit, target, level, pname, params );
3598   funcs->ext.p_glGetMultiTexLevelParameterfvEXT( texunit, target, level, pname, params );
3599 }
3600
3601 static void WINAPI glGetMultiTexLevelParameterivEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params ) {
3602   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3603   TRACE("(%d, %d, %d, %d, %p)\n", texunit, target, level, pname, params );
3604   funcs->ext.p_glGetMultiTexLevelParameterivEXT( texunit, target, level, pname, params );
3605 }
3606
3607 static void WINAPI glGetMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, GLint* params ) {
3608   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3609   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3610   funcs->ext.p_glGetMultiTexParameterIivEXT( texunit, target, pname, params );
3611 }
3612
3613 static void WINAPI glGetMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, GLuint* params ) {
3614   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3615   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3616   funcs->ext.p_glGetMultiTexParameterIuivEXT( texunit, target, pname, params );
3617 }
3618
3619 static void WINAPI glGetMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat* params ) {
3620   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3621   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3622   funcs->ext.p_glGetMultiTexParameterfvEXT( texunit, target, pname, params );
3623 }
3624
3625 static void WINAPI glGetMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, GLint* params ) {
3626   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3627   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
3628   funcs->ext.p_glGetMultiTexParameterivEXT( texunit, target, pname, params );
3629 }
3630
3631 static void WINAPI glGetMultisamplefv( GLenum pname, GLuint index, GLfloat* val ) {
3632   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3633   TRACE("(%d, %d, %p)\n", pname, index, val );
3634   funcs->ext.p_glGetMultisamplefv( pname, index, val );
3635 }
3636
3637 static void WINAPI glGetMultisamplefvNV( GLenum pname, GLuint index, GLfloat* val ) {
3638   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3639   TRACE("(%d, %d, %p)\n", pname, index, val );
3640   funcs->ext.p_glGetMultisamplefvNV( pname, index, val );
3641 }
3642
3643 static void WINAPI glGetNamedBufferParameterivEXT( GLuint buffer, GLenum pname, GLint* params ) {
3644   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3645   TRACE("(%d, %d, %p)\n", buffer, pname, params );
3646   funcs->ext.p_glGetNamedBufferParameterivEXT( buffer, pname, params );
3647 }
3648
3649 static void WINAPI glGetNamedBufferParameterui64vNV( GLuint buffer, GLenum pname, UINT64* params ) {
3650   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3651   TRACE("(%d, %d, %p)\n", buffer, pname, params );
3652   funcs->ext.p_glGetNamedBufferParameterui64vNV( buffer, pname, params );
3653 }
3654
3655 static void WINAPI glGetNamedBufferPointervEXT( GLuint buffer, GLenum pname, GLvoid** params ) {
3656   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3657   TRACE("(%d, %d, %p)\n", buffer, pname, params );
3658   funcs->ext.p_glGetNamedBufferPointervEXT( buffer, pname, params );
3659 }
3660
3661 static void WINAPI glGetNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid* data ) {
3662   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3663   TRACE("(%d, %ld, %ld, %p)\n", buffer, offset, size, data );
3664   funcs->ext.p_glGetNamedBufferSubDataEXT( buffer, offset, size, data );
3665 }
3666
3667 static void WINAPI glGetNamedFramebufferAttachmentParameterivEXT( GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params ) {
3668   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3669   TRACE("(%d, %d, %d, %p)\n", framebuffer, attachment, pname, params );
3670   funcs->ext.p_glGetNamedFramebufferAttachmentParameterivEXT( framebuffer, attachment, pname, params );
3671 }
3672
3673 static void WINAPI glGetNamedFramebufferParameterivEXT( GLuint framebuffer, GLenum pname, GLint* params ) {
3674   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3675   TRACE("(%d, %d, %p)\n", framebuffer, pname, params );
3676   funcs->ext.p_glGetNamedFramebufferParameterivEXT( framebuffer, pname, params );
3677 }
3678
3679 static void WINAPI glGetNamedProgramLocalParameterIivEXT( GLuint program, GLenum target, GLuint index, GLint* params ) {
3680   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3681   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
3682   funcs->ext.p_glGetNamedProgramLocalParameterIivEXT( program, target, index, params );
3683 }
3684
3685 static void WINAPI glGetNamedProgramLocalParameterIuivEXT( GLuint program, GLenum target, GLuint index, GLuint* params ) {
3686   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3687   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
3688   funcs->ext.p_glGetNamedProgramLocalParameterIuivEXT( program, target, index, params );
3689 }
3690
3691 static void WINAPI glGetNamedProgramLocalParameterdvEXT( GLuint program, GLenum target, GLuint index, GLdouble* params ) {
3692   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3693   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
3694   funcs->ext.p_glGetNamedProgramLocalParameterdvEXT( program, target, index, params );
3695 }
3696
3697 static void WINAPI glGetNamedProgramLocalParameterfvEXT( GLuint program, GLenum target, GLuint index, GLfloat* params ) {
3698   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3699   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
3700   funcs->ext.p_glGetNamedProgramLocalParameterfvEXT( program, target, index, params );
3701 }
3702
3703 static void WINAPI glGetNamedProgramStringEXT( GLuint program, GLenum target, GLenum pname, GLvoid* string ) {
3704   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3705   TRACE("(%d, %d, %d, %p)\n", program, target, pname, string );
3706   funcs->ext.p_glGetNamedProgramStringEXT( program, target, pname, string );
3707 }
3708
3709 static void WINAPI glGetNamedProgramivEXT( GLuint program, GLenum target, GLenum pname, GLint* params ) {
3710   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3711   TRACE("(%d, %d, %d, %p)\n", program, target, pname, params );
3712   funcs->ext.p_glGetNamedProgramivEXT( program, target, pname, params );
3713 }
3714
3715 static void WINAPI glGetNamedRenderbufferParameterivEXT( GLuint renderbuffer, GLenum pname, GLint* params ) {
3716   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3717   TRACE("(%d, %d, %p)\n", renderbuffer, pname, params );
3718   funcs->ext.p_glGetNamedRenderbufferParameterivEXT( renderbuffer, pname, params );
3719 }
3720
3721 static void WINAPI glGetNamedStringARB( GLint namelen, const GLchar* name, GLsizei bufSize, GLint* stringlen, GLchar* string ) {
3722   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3723   TRACE("(%d, %p, %d, %p, %p)\n", namelen, name, bufSize, stringlen, string );
3724   funcs->ext.p_glGetNamedStringARB( namelen, name, bufSize, stringlen, string );
3725 }
3726
3727 static void WINAPI glGetNamedStringivARB( GLint namelen, const GLchar* name, GLenum pname, GLint* params ) {
3728   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3729   TRACE("(%d, %p, %d, %p)\n", namelen, name, pname, params );
3730   funcs->ext.p_glGetNamedStringivARB( namelen, name, pname, params );
3731 }
3732
3733 static void WINAPI glGetObjectBufferfvATI( GLuint buffer, GLenum pname, GLfloat* params ) {
3734   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3735   TRACE("(%d, %d, %p)\n", buffer, pname, params );
3736   funcs->ext.p_glGetObjectBufferfvATI( buffer, pname, params );
3737 }
3738
3739 static void WINAPI glGetObjectBufferivATI( GLuint buffer, GLenum pname, GLint* params ) {
3740   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3741   TRACE("(%d, %d, %p)\n", buffer, pname, params );
3742   funcs->ext.p_glGetObjectBufferivATI( buffer, pname, params );
3743 }
3744
3745 static void WINAPI glGetObjectLabel( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label ) {
3746   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3747   TRACE("(%d, %d, %d, %p, %p)\n", identifier, name, bufSize, length, label );
3748   funcs->ext.p_glGetObjectLabel( identifier, name, bufSize, length, label );
3749 }
3750
3751 static void WINAPI glGetObjectParameterfvARB( GLhandleARB obj, GLenum pname, GLfloat* params ) {
3752   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3753   TRACE("(%d, %d, %p)\n", obj, pname, params );
3754   funcs->ext.p_glGetObjectParameterfvARB( obj, pname, params );
3755 }
3756
3757 static void WINAPI glGetObjectParameterivAPPLE( GLenum objectType, GLuint name, GLenum pname, GLint* params ) {
3758   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3759   TRACE("(%d, %d, %d, %p)\n", objectType, name, pname, params );
3760   funcs->ext.p_glGetObjectParameterivAPPLE( objectType, name, pname, params );
3761 }
3762
3763 static void WINAPI glGetObjectParameterivARB( GLhandleARB obj, GLenum pname, GLint* params ) {
3764   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3765   TRACE("(%d, %d, %p)\n", obj, pname, params );
3766   funcs->ext.p_glGetObjectParameterivARB( obj, pname, params );
3767 }
3768
3769 static void WINAPI glGetObjectPtrLabel( const void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label ) {
3770   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3771   TRACE("(%p, %d, %p, %p)\n", ptr, bufSize, length, label );
3772   funcs->ext.p_glGetObjectPtrLabel( ptr, bufSize, length, label );
3773 }
3774
3775 static void WINAPI glGetOcclusionQueryivNV( GLuint id, GLenum pname, GLint* params ) {
3776   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3777   TRACE("(%d, %d, %p)\n", id, pname, params );
3778   funcs->ext.p_glGetOcclusionQueryivNV( id, pname, params );
3779 }
3780
3781 static void WINAPI glGetOcclusionQueryuivNV( GLuint id, GLenum pname, GLuint* params ) {
3782   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3783   TRACE("(%d, %d, %p)\n", id, pname, params );
3784   funcs->ext.p_glGetOcclusionQueryuivNV( id, pname, params );
3785 }
3786
3787 static void WINAPI glGetPathColorGenfvNV( GLenum color, GLenum pname, GLfloat* value ) {
3788   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3789   TRACE("(%d, %d, %p)\n", color, pname, value );
3790   funcs->ext.p_glGetPathColorGenfvNV( color, pname, value );
3791 }
3792
3793 static void WINAPI glGetPathColorGenivNV( GLenum color, GLenum pname, GLint* value ) {
3794   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3795   TRACE("(%d, %d, %p)\n", color, pname, value );
3796   funcs->ext.p_glGetPathColorGenivNV( color, pname, value );
3797 }
3798
3799 static void WINAPI glGetPathCommandsNV( GLuint path, GLubyte* commands ) {
3800   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3801   TRACE("(%d, %p)\n", path, commands );
3802   funcs->ext.p_glGetPathCommandsNV( path, commands );
3803 }
3804
3805 static void WINAPI glGetPathCoordsNV( GLuint path, GLfloat* coords ) {
3806   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3807   TRACE("(%d, %p)\n", path, coords );
3808   funcs->ext.p_glGetPathCoordsNV( path, coords );
3809 }
3810
3811 static void WINAPI glGetPathDashArrayNV( GLuint path, GLfloat* dashArray ) {
3812   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3813   TRACE("(%d, %p)\n", path, dashArray );
3814   funcs->ext.p_glGetPathDashArrayNV( path, dashArray );
3815 }
3816
3817 static GLfloat WINAPI glGetPathLengthNV( GLuint path, GLsizei startSegment, GLsizei numSegments ) {
3818   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3819   TRACE("(%d, %d, %d)\n", path, startSegment, numSegments );
3820   return funcs->ext.p_glGetPathLengthNV( path, startSegment, numSegments );
3821 }
3822
3823 static void WINAPI glGetPathMetricRangeNV( GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics ) {
3824   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3825   TRACE("(%d, %d, %d, %d, %p)\n", metricQueryMask, firstPathName, numPaths, stride, metrics );
3826   funcs->ext.p_glGetPathMetricRangeNV( metricQueryMask, firstPathName, numPaths, stride, metrics );
3827 }
3828
3829 static void WINAPI glGetPathMetricsNV( GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLsizei stride, GLfloat* metrics ) {
3830   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3831   TRACE("(%d, %d, %d, %p, %d, %d, %p)\n", metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics );
3832   funcs->ext.p_glGetPathMetricsNV( metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics );
3833 }
3834
3835 static void WINAPI glGetPathParameterfvNV( GLuint path, GLenum pname, GLfloat* value ) {
3836   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3837   TRACE("(%d, %d, %p)\n", path, pname, value );
3838   funcs->ext.p_glGetPathParameterfvNV( path, pname, value );
3839 }
3840
3841 static void WINAPI glGetPathParameterivNV( GLuint path, GLenum pname, GLint* value ) {
3842   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3843   TRACE("(%d, %d, %p)\n", path, pname, value );
3844   funcs->ext.p_glGetPathParameterivNV( path, pname, value );
3845 }
3846
3847 static void WINAPI glGetPathSpacingNV( GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat* returnedSpacing ) {
3848   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3849   TRACE("(%d, %d, %d, %p, %d, %f, %f, %d, %p)\n", pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing );
3850   funcs->ext.p_glGetPathSpacingNV( pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing );
3851 }
3852
3853 static void WINAPI glGetPathTexGenfvNV( GLenum texCoordSet, GLenum pname, GLfloat* value ) {
3854   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3855   TRACE("(%d, %d, %p)\n", texCoordSet, pname, value );
3856   funcs->ext.p_glGetPathTexGenfvNV( texCoordSet, pname, value );
3857 }
3858
3859 static void WINAPI glGetPathTexGenivNV( GLenum texCoordSet, GLenum pname, GLint* value ) {
3860   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3861   TRACE("(%d, %d, %p)\n", texCoordSet, pname, value );
3862   funcs->ext.p_glGetPathTexGenivNV( texCoordSet, pname, value );
3863 }
3864
3865 static void WINAPI glGetPerfMonitorCounterDataAMD( GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten ) {
3866   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3867   TRACE("(%d, %d, %d, %p, %p)\n", monitor, pname, dataSize, data, bytesWritten );
3868   funcs->ext.p_glGetPerfMonitorCounterDataAMD( monitor, pname, dataSize, data, bytesWritten );
3869 }
3870
3871 static void WINAPI glGetPerfMonitorCounterInfoAMD( GLuint group, GLuint counter, GLenum pname, GLvoid* data ) {
3872   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3873   TRACE("(%d, %d, %d, %p)\n", group, counter, pname, data );
3874   funcs->ext.p_glGetPerfMonitorCounterInfoAMD( group, counter, pname, data );
3875 }
3876
3877 static void WINAPI glGetPerfMonitorCounterStringAMD( GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString ) {
3878   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3879   TRACE("(%d, %d, %d, %p, %p)\n", group, counter, bufSize, length, counterString );
3880   funcs->ext.p_glGetPerfMonitorCounterStringAMD( group, counter, bufSize, length, counterString );
3881 }
3882
3883 static void WINAPI glGetPerfMonitorCountersAMD( GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters ) {
3884   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3885   TRACE("(%d, %p, %p, %d, %p)\n", group, numCounters, maxActiveCounters, counterSize, counters );
3886   funcs->ext.p_glGetPerfMonitorCountersAMD( group, numCounters, maxActiveCounters, counterSize, counters );
3887 }
3888
3889 static void WINAPI glGetPerfMonitorGroupStringAMD( GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString ) {
3890   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3891   TRACE("(%d, %d, %p, %p)\n", group, bufSize, length, groupString );
3892   funcs->ext.p_glGetPerfMonitorGroupStringAMD( group, bufSize, length, groupString );
3893 }
3894
3895 static void WINAPI glGetPerfMonitorGroupsAMD( GLint* numGroups, GLsizei groupsSize, GLuint* groups ) {
3896   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3897   TRACE("(%p, %d, %p)\n", numGroups, groupsSize, groups );
3898   funcs->ext.p_glGetPerfMonitorGroupsAMD( numGroups, groupsSize, groups );
3899 }
3900
3901 static void WINAPI glGetPixelTexGenParameterfvSGIS( GLenum pname, GLfloat* params ) {
3902   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3903   TRACE("(%d, %p)\n", pname, params );
3904   funcs->ext.p_glGetPixelTexGenParameterfvSGIS( pname, params );
3905 }
3906
3907 static void WINAPI glGetPixelTexGenParameterivSGIS( GLenum pname, GLint* params ) {
3908   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3909   TRACE("(%d, %p)\n", pname, params );
3910   funcs->ext.p_glGetPixelTexGenParameterivSGIS( pname, params );
3911 }
3912
3913 static void WINAPI glGetPixelTransformParameterfvEXT( GLenum target, GLenum pname, GLfloat* params ) {
3914   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3915   TRACE("(%d, %d, %p)\n", target, pname, params );
3916   funcs->ext.p_glGetPixelTransformParameterfvEXT( target, pname, params );
3917 }
3918
3919 static void WINAPI glGetPixelTransformParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
3920   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3921   TRACE("(%d, %d, %p)\n", target, pname, params );
3922   funcs->ext.p_glGetPixelTransformParameterivEXT( target, pname, params );
3923 }
3924
3925 static void WINAPI glGetPointerIndexedvEXT( GLenum target, GLuint index, GLvoid** data ) {
3926   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3927   TRACE("(%d, %d, %p)\n", target, index, data );
3928   funcs->ext.p_glGetPointerIndexedvEXT( target, index, data );
3929 }
3930
3931 static void WINAPI glGetPointervEXT( GLenum pname, GLvoid** params ) {
3932   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3933   TRACE("(%d, %p)\n", pname, params );
3934   funcs->ext.p_glGetPointervEXT( pname, params );
3935 }
3936
3937 static void WINAPI glGetProgramBinary( GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary ) {
3938   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3939   TRACE("(%d, %d, %p, %p, %p)\n", program, bufSize, length, binaryFormat, binary );
3940   funcs->ext.p_glGetProgramBinary( program, bufSize, length, binaryFormat, binary );
3941 }
3942
3943 static void WINAPI glGetProgramEnvParameterIivNV( GLenum target, GLuint index, GLint* params ) {
3944   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3945   TRACE("(%d, %d, %p)\n", target, index, params );
3946   funcs->ext.p_glGetProgramEnvParameterIivNV( target, index, params );
3947 }
3948
3949 static void WINAPI glGetProgramEnvParameterIuivNV( GLenum target, GLuint index, GLuint* params ) {
3950   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3951   TRACE("(%d, %d, %p)\n", target, index, params );
3952   funcs->ext.p_glGetProgramEnvParameterIuivNV( target, index, params );
3953 }
3954
3955 static void WINAPI glGetProgramEnvParameterdvARB( GLenum target, GLuint index, GLdouble* params ) {
3956   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3957   TRACE("(%d, %d, %p)\n", target, index, params );
3958   funcs->ext.p_glGetProgramEnvParameterdvARB( target, index, params );
3959 }
3960
3961 static void WINAPI glGetProgramEnvParameterfvARB( GLenum target, GLuint index, GLfloat* params ) {
3962   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3963   TRACE("(%d, %d, %p)\n", target, index, params );
3964   funcs->ext.p_glGetProgramEnvParameterfvARB( target, index, params );
3965 }
3966
3967 static void WINAPI glGetProgramInfoLog( GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog ) {
3968   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3969   TRACE("(%d, %d, %p, %p)\n", program, bufSize, length, infoLog );
3970   funcs->ext.p_glGetProgramInfoLog( program, bufSize, length, infoLog );
3971 }
3972
3973 static void WINAPI glGetProgramInterfaceiv( GLuint program, GLenum programInterface, GLenum pname, GLint* params ) {
3974   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3975   TRACE("(%d, %d, %d, %p)\n", program, programInterface, pname, params );
3976   funcs->ext.p_glGetProgramInterfaceiv( program, programInterface, pname, params );
3977 }
3978
3979 static void WINAPI glGetProgramLocalParameterIivNV( GLenum target, GLuint index, GLint* params ) {
3980   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3981   TRACE("(%d, %d, %p)\n", target, index, params );
3982   funcs->ext.p_glGetProgramLocalParameterIivNV( target, index, params );
3983 }
3984
3985 static void WINAPI glGetProgramLocalParameterIuivNV( GLenum target, GLuint index, GLuint* params ) {
3986   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3987   TRACE("(%d, %d, %p)\n", target, index, params );
3988   funcs->ext.p_glGetProgramLocalParameterIuivNV( target, index, params );
3989 }
3990
3991 static void WINAPI glGetProgramLocalParameterdvARB( GLenum target, GLuint index, GLdouble* params ) {
3992   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3993   TRACE("(%d, %d, %p)\n", target, index, params );
3994   funcs->ext.p_glGetProgramLocalParameterdvARB( target, index, params );
3995 }
3996
3997 static void WINAPI glGetProgramLocalParameterfvARB( GLenum target, GLuint index, GLfloat* params ) {
3998   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
3999   TRACE("(%d, %d, %p)\n", target, index, params );
4000   funcs->ext.p_glGetProgramLocalParameterfvARB( target, index, params );
4001 }
4002
4003 static void WINAPI glGetProgramNamedParameterdvNV( GLuint id, GLsizei len, const GLubyte* name, GLdouble* params ) {
4004   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4005   TRACE("(%d, %d, %p, %p)\n", id, len, name, params );
4006   funcs->ext.p_glGetProgramNamedParameterdvNV( id, len, name, params );
4007 }
4008
4009 static void WINAPI glGetProgramNamedParameterfvNV( GLuint id, GLsizei len, const GLubyte* name, GLfloat* params ) {
4010   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4011   TRACE("(%d, %d, %p, %p)\n", id, len, name, params );
4012   funcs->ext.p_glGetProgramNamedParameterfvNV( id, len, name, params );
4013 }
4014
4015 static void WINAPI glGetProgramParameterdvNV( GLenum target, GLuint index, GLenum pname, GLdouble* params ) {
4016   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4017   TRACE("(%d, %d, %d, %p)\n", target, index, pname, params );
4018   funcs->ext.p_glGetProgramParameterdvNV( target, index, pname, params );
4019 }
4020
4021 static void WINAPI glGetProgramParameterfvNV( GLenum target, GLuint index, GLenum pname, GLfloat* params ) {
4022   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4023   TRACE("(%d, %d, %d, %p)\n", target, index, pname, params );
4024   funcs->ext.p_glGetProgramParameterfvNV( target, index, pname, params );
4025 }
4026
4027 static void WINAPI glGetProgramPipelineInfoLog( GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog ) {
4028   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4029   TRACE("(%d, %d, %p, %p)\n", pipeline, bufSize, length, infoLog );
4030   funcs->ext.p_glGetProgramPipelineInfoLog( pipeline, bufSize, length, infoLog );
4031 }
4032
4033 static void WINAPI glGetProgramPipelineiv( GLuint pipeline, GLenum pname, GLint* params ) {
4034   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4035   TRACE("(%d, %d, %p)\n", pipeline, pname, params );
4036   funcs->ext.p_glGetProgramPipelineiv( pipeline, pname, params );
4037 }
4038
4039 static GLuint WINAPI glGetProgramResourceIndex( GLuint program, GLenum programInterface, const GLchar* name ) {
4040   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4041   TRACE("(%d, %d, %p)\n", program, programInterface, name );
4042   return funcs->ext.p_glGetProgramResourceIndex( program, programInterface, name );
4043 }
4044
4045 static GLint WINAPI glGetProgramResourceLocation( GLuint program, GLenum programInterface, const GLchar* name ) {
4046   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4047   TRACE("(%d, %d, %p)\n", program, programInterface, name );
4048   return funcs->ext.p_glGetProgramResourceLocation( program, programInterface, name );
4049 }
4050
4051 static GLint WINAPI glGetProgramResourceLocationIndex( GLuint program, GLenum programInterface, const GLchar* name ) {
4052   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4053   TRACE("(%d, %d, %p)\n", program, programInterface, name );
4054   return funcs->ext.p_glGetProgramResourceLocationIndex( program, programInterface, name );
4055 }
4056
4057 static void WINAPI glGetProgramResourceName( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name ) {
4058   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4059   TRACE("(%d, %d, %d, %d, %p, %p)\n", program, programInterface, index, bufSize, length, name );
4060   funcs->ext.p_glGetProgramResourceName( program, programInterface, index, bufSize, length, name );
4061 }
4062
4063 static void WINAPI glGetProgramResourceiv( GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params ) {
4064   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4065   TRACE("(%d, %d, %d, %d, %p, %d, %p, %p)\n", program, programInterface, index, propCount, props, bufSize, length, params );
4066   funcs->ext.p_glGetProgramResourceiv( program, programInterface, index, propCount, props, bufSize, length, params );
4067 }
4068
4069 static void WINAPI glGetProgramStageiv( GLuint program, GLenum shadertype, GLenum pname, GLint* values ) {
4070   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4071   TRACE("(%d, %d, %d, %p)\n", program, shadertype, pname, values );
4072   funcs->ext.p_glGetProgramStageiv( program, shadertype, pname, values );
4073 }
4074
4075 static void WINAPI glGetProgramStringARB( GLenum target, GLenum pname, GLvoid* string ) {
4076   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4077   TRACE("(%d, %d, %p)\n", target, pname, string );
4078   funcs->ext.p_glGetProgramStringARB( target, pname, string );
4079 }
4080
4081 static void WINAPI glGetProgramStringNV( GLuint id, GLenum pname, GLubyte* program ) {
4082   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4083   TRACE("(%d, %d, %p)\n", id, pname, program );
4084   funcs->ext.p_glGetProgramStringNV( id, pname, program );
4085 }
4086
4087 static void WINAPI glGetProgramSubroutineParameteruivNV( GLenum target, GLuint index, GLuint* param ) {
4088   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4089   TRACE("(%d, %d, %p)\n", target, index, param );
4090   funcs->ext.p_glGetProgramSubroutineParameteruivNV( target, index, param );
4091 }
4092
4093 static void WINAPI glGetProgramiv( GLuint program, GLenum pname, GLint* params ) {
4094   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4095   TRACE("(%d, %d, %p)\n", program, pname, params );
4096   funcs->ext.p_glGetProgramiv( program, pname, params );
4097 }
4098
4099 static void WINAPI glGetProgramivARB( GLenum target, GLenum pname, GLint* params ) {
4100   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4101   TRACE("(%d, %d, %p)\n", target, pname, params );
4102   funcs->ext.p_glGetProgramivARB( target, pname, params );
4103 }
4104
4105 static void WINAPI glGetProgramivNV( GLuint id, GLenum pname, GLint* params ) {
4106   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4107   TRACE("(%d, %d, %p)\n", id, pname, params );
4108   funcs->ext.p_glGetProgramivNV( id, pname, params );
4109 }
4110
4111 static void WINAPI glGetQueryIndexediv( GLenum target, GLuint index, GLenum pname, GLint* params ) {
4112   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4113   TRACE("(%d, %d, %d, %p)\n", target, index, pname, params );
4114   funcs->ext.p_glGetQueryIndexediv( target, index, pname, params );
4115 }
4116
4117 static void WINAPI glGetQueryObjecti64v( GLuint id, GLenum pname, INT64* params ) {
4118   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4119   TRACE("(%d, %d, %p)\n", id, pname, params );
4120   funcs->ext.p_glGetQueryObjecti64v( id, pname, params );
4121 }
4122
4123 static void WINAPI glGetQueryObjecti64vEXT( GLuint id, GLenum pname, INT64* params ) {
4124   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4125   TRACE("(%d, %d, %p)\n", id, pname, params );
4126   funcs->ext.p_glGetQueryObjecti64vEXT( id, pname, params );
4127 }
4128
4129 static void WINAPI glGetQueryObjectiv( GLuint id, GLenum pname, GLint* params ) {
4130   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4131   TRACE("(%d, %d, %p)\n", id, pname, params );
4132   funcs->ext.p_glGetQueryObjectiv( id, pname, params );
4133 }
4134
4135 static void WINAPI glGetQueryObjectivARB( GLuint id, GLenum pname, GLint* params ) {
4136   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4137   TRACE("(%d, %d, %p)\n", id, pname, params );
4138   funcs->ext.p_glGetQueryObjectivARB( id, pname, params );
4139 }
4140
4141 static void WINAPI glGetQueryObjectui64v( GLuint id, GLenum pname, UINT64* params ) {
4142   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4143   TRACE("(%d, %d, %p)\n", id, pname, params );
4144   funcs->ext.p_glGetQueryObjectui64v( id, pname, params );
4145 }
4146
4147 static void WINAPI glGetQueryObjectui64vEXT( GLuint id, GLenum pname, UINT64* params ) {
4148   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4149   TRACE("(%d, %d, %p)\n", id, pname, params );
4150   funcs->ext.p_glGetQueryObjectui64vEXT( id, pname, params );
4151 }
4152
4153 static void WINAPI glGetQueryObjectuiv( GLuint id, GLenum pname, GLuint* params ) {
4154   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4155   TRACE("(%d, %d, %p)\n", id, pname, params );
4156   funcs->ext.p_glGetQueryObjectuiv( id, pname, params );
4157 }
4158
4159 static void WINAPI glGetQueryObjectuivARB( GLuint id, GLenum pname, GLuint* params ) {
4160   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4161   TRACE("(%d, %d, %p)\n", id, pname, params );
4162   funcs->ext.p_glGetQueryObjectuivARB( id, pname, params );
4163 }
4164
4165 static void WINAPI glGetQueryiv( GLenum target, GLenum pname, GLint* params ) {
4166   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4167   TRACE("(%d, %d, %p)\n", target, pname, params );
4168   funcs->ext.p_glGetQueryiv( target, pname, params );
4169 }
4170
4171 static void WINAPI glGetQueryivARB( GLenum target, GLenum pname, GLint* params ) {
4172   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4173   TRACE("(%d, %d, %p)\n", target, pname, params );
4174   funcs->ext.p_glGetQueryivARB( target, pname, params );
4175 }
4176
4177 static void WINAPI glGetRenderbufferParameteriv( GLenum target, GLenum pname, GLint* params ) {
4178   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4179   TRACE("(%d, %d, %p)\n", target, pname, params );
4180   funcs->ext.p_glGetRenderbufferParameteriv( target, pname, params );
4181 }
4182
4183 static void WINAPI glGetRenderbufferParameterivEXT( GLenum target, GLenum pname, GLint* params ) {
4184   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4185   TRACE("(%d, %d, %p)\n", target, pname, params );
4186   funcs->ext.p_glGetRenderbufferParameterivEXT( target, pname, params );
4187 }
4188
4189 static void WINAPI glGetSamplerParameterIiv( GLuint sampler, GLenum pname, GLint* params ) {
4190   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4191   TRACE("(%d, %d, %p)\n", sampler, pname, params );
4192   funcs->ext.p_glGetSamplerParameterIiv( sampler, pname, params );
4193 }
4194
4195 static void WINAPI glGetSamplerParameterIuiv( GLuint sampler, GLenum pname, GLuint* params ) {
4196   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4197   TRACE("(%d, %d, %p)\n", sampler, pname, params );
4198   funcs->ext.p_glGetSamplerParameterIuiv( sampler, pname, params );
4199 }
4200
4201 static void WINAPI glGetSamplerParameterfv( GLuint sampler, GLenum pname, GLfloat* params ) {
4202   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4203   TRACE("(%d, %d, %p)\n", sampler, pname, params );
4204   funcs->ext.p_glGetSamplerParameterfv( sampler, pname, params );
4205 }
4206
4207 static void WINAPI glGetSamplerParameteriv( GLuint sampler, GLenum pname, GLint* params ) {
4208   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4209   TRACE("(%d, %d, %p)\n", sampler, pname, params );
4210   funcs->ext.p_glGetSamplerParameteriv( sampler, pname, params );
4211 }
4212
4213 static void WINAPI glGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid* row, GLvoid* column, GLvoid* span ) {
4214   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4215   TRACE("(%d, %d, %d, %p, %p, %p)\n", target, format, type, row, column, span );
4216   funcs->ext.p_glGetSeparableFilter( target, format, type, row, column, span );
4217 }
4218
4219 static void WINAPI glGetSeparableFilterEXT( GLenum target, GLenum format, GLenum type, GLvoid* row, GLvoid* column, GLvoid* span ) {
4220   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4221   TRACE("(%d, %d, %d, %p, %p, %p)\n", target, format, type, row, column, span );
4222   funcs->ext.p_glGetSeparableFilterEXT( target, format, type, row, column, span );
4223 }
4224
4225 static void WINAPI glGetShaderInfoLog( GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog ) {
4226   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4227   TRACE("(%d, %d, %p, %p)\n", shader, bufSize, length, infoLog );
4228   funcs->ext.p_glGetShaderInfoLog( shader, bufSize, length, infoLog );
4229 }
4230
4231 static void WINAPI glGetShaderPrecisionFormat( GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision ) {
4232   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4233   TRACE("(%d, %d, %p, %p)\n", shadertype, precisiontype, range, precision );
4234   funcs->ext.p_glGetShaderPrecisionFormat( shadertype, precisiontype, range, precision );
4235 }
4236
4237 static void WINAPI glGetShaderSource( GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source ) {
4238   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4239   TRACE("(%d, %d, %p, %p)\n", shader, bufSize, length, source );
4240   funcs->ext.p_glGetShaderSource( shader, bufSize, length, source );
4241 }
4242
4243 static void WINAPI glGetShaderSourceARB( GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* source ) {
4244   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4245   TRACE("(%d, %d, %p, %p)\n", obj, maxLength, length, source );
4246   funcs->ext.p_glGetShaderSourceARB( obj, maxLength, length, source );
4247 }
4248
4249 static void WINAPI glGetShaderiv( GLuint shader, GLenum pname, GLint* params ) {
4250   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4251   TRACE("(%d, %d, %p)\n", shader, pname, params );
4252   funcs->ext.p_glGetShaderiv( shader, pname, params );
4253 }
4254
4255 static void WINAPI glGetSharpenTexFuncSGIS( GLenum target, GLfloat* points ) {
4256   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4257   TRACE("(%d, %p)\n", target, points );
4258   funcs->ext.p_glGetSharpenTexFuncSGIS( target, points );
4259 }
4260
4261 static const GLubyte * WINAPI glGetStringi( GLenum name, GLuint index ) {
4262   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4263   TRACE("(%d, %d)\n", name, index );
4264   return funcs->ext.p_glGetStringi( name, index );
4265 }
4266
4267 static GLuint WINAPI glGetSubroutineIndex( GLuint program, GLenum shadertype, const GLchar* name ) {
4268   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4269   TRACE("(%d, %d, %p)\n", program, shadertype, name );
4270   return funcs->ext.p_glGetSubroutineIndex( program, shadertype, name );
4271 }
4272
4273 static GLint WINAPI glGetSubroutineUniformLocation( GLuint program, GLenum shadertype, const GLchar* name ) {
4274   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4275   TRACE("(%d, %d, %p)\n", program, shadertype, name );
4276   return funcs->ext.p_glGetSubroutineUniformLocation( program, shadertype, name );
4277 }
4278
4279 static void WINAPI glGetSynciv( GLvoid* sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values ) {
4280   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4281   TRACE("(%p, %d, %d, %p, %p)\n", sync, pname, bufSize, length, values );
4282   funcs->ext.p_glGetSynciv( sync, pname, bufSize, length, values );
4283 }
4284
4285 static void WINAPI glGetTexBumpParameterfvATI( GLenum pname, GLfloat* param ) {
4286   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4287   TRACE("(%d, %p)\n", pname, param );
4288   funcs->ext.p_glGetTexBumpParameterfvATI( pname, param );
4289 }
4290
4291 static void WINAPI glGetTexBumpParameterivATI( GLenum pname, GLint* param ) {
4292   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4293   TRACE("(%d, %p)\n", pname, param );
4294   funcs->ext.p_glGetTexBumpParameterivATI( pname, param );
4295 }
4296
4297 static void WINAPI glGetTexFilterFuncSGIS( GLenum target, GLenum filter, GLfloat* weights ) {
4298   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4299   TRACE("(%d, %d, %p)\n", target, filter, weights );
4300   funcs->ext.p_glGetTexFilterFuncSGIS( target, filter, weights );
4301 }
4302
4303 static void WINAPI glGetTexParameterIiv( GLenum target, GLenum pname, GLint* params ) {
4304   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4305   TRACE("(%d, %d, %p)\n", target, pname, params );
4306   funcs->ext.p_glGetTexParameterIiv( target, pname, params );
4307 }
4308
4309 static void WINAPI glGetTexParameterIivEXT( GLenum target, GLenum pname, GLint* params ) {
4310   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4311   TRACE("(%d, %d, %p)\n", target, pname, params );
4312   funcs->ext.p_glGetTexParameterIivEXT( target, pname, params );
4313 }
4314
4315 static void WINAPI glGetTexParameterIuiv( GLenum target, GLenum pname, GLuint* params ) {
4316   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4317   TRACE("(%d, %d, %p)\n", target, pname, params );
4318   funcs->ext.p_glGetTexParameterIuiv( target, pname, params );
4319 }
4320
4321 static void WINAPI glGetTexParameterIuivEXT( GLenum target, GLenum pname, GLuint* params ) {
4322   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4323   TRACE("(%d, %d, %p)\n", target, pname, params );
4324   funcs->ext.p_glGetTexParameterIuivEXT( target, pname, params );
4325 }
4326
4327 static void WINAPI glGetTexParameterPointervAPPLE( GLenum target, GLenum pname, GLvoid** params ) {
4328   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4329   TRACE("(%d, %d, %p)\n", target, pname, params );
4330   funcs->ext.p_glGetTexParameterPointervAPPLE( target, pname, params );
4331 }
4332
4333 static UINT64 WINAPI glGetTextureHandleNV( GLuint texture ) {
4334   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4335   TRACE("(%d)\n", texture );
4336   return funcs->ext.p_glGetTextureHandleNV( texture );
4337 }
4338
4339 static void WINAPI glGetTextureImageEXT( GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels ) {
4340   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4341   TRACE("(%d, %d, %d, %d, %d, %p)\n", texture, target, level, format, type, pixels );
4342   funcs->ext.p_glGetTextureImageEXT( texture, target, level, format, type, pixels );
4343 }
4344
4345 static void WINAPI glGetTextureLevelParameterfvEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params ) {
4346   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4347   TRACE("(%d, %d, %d, %d, %p)\n", texture, target, level, pname, params );
4348   funcs->ext.p_glGetTextureLevelParameterfvEXT( texture, target, level, pname, params );
4349 }
4350
4351 static void WINAPI glGetTextureLevelParameterivEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params ) {
4352   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4353   TRACE("(%d, %d, %d, %d, %p)\n", texture, target, level, pname, params );
4354   funcs->ext.p_glGetTextureLevelParameterivEXT( texture, target, level, pname, params );
4355 }
4356
4357 static void WINAPI glGetTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, GLint* params ) {
4358   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4359   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
4360   funcs->ext.p_glGetTextureParameterIivEXT( texture, target, pname, params );
4361 }
4362
4363 static void WINAPI glGetTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, GLuint* params ) {
4364   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4365   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
4366   funcs->ext.p_glGetTextureParameterIuivEXT( texture, target, pname, params );
4367 }
4368
4369 static void WINAPI glGetTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, GLfloat* params ) {
4370   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4371   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
4372   funcs->ext.p_glGetTextureParameterfvEXT( texture, target, pname, params );
4373 }
4374
4375 static void WINAPI glGetTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, GLint* params ) {
4376   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4377   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
4378   funcs->ext.p_glGetTextureParameterivEXT( texture, target, pname, params );
4379 }
4380
4381 static UINT64 WINAPI glGetTextureSamplerHandleNV( GLuint texture, GLuint sampler ) {
4382   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4383   TRACE("(%d, %d)\n", texture, sampler );
4384   return funcs->ext.p_glGetTextureSamplerHandleNV( texture, sampler );
4385 }
4386
4387 static void WINAPI glGetTrackMatrixivNV( GLenum target, GLuint address, GLenum pname, GLint* params ) {
4388   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4389   TRACE("(%d, %d, %d, %p)\n", target, address, pname, params );
4390   funcs->ext.p_glGetTrackMatrixivNV( target, address, pname, params );
4391 }
4392
4393 static void WINAPI glGetTransformFeedbackVarying( GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name ) {
4394   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4395   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", program, index, bufSize, length, size, type, name );
4396   funcs->ext.p_glGetTransformFeedbackVarying( program, index, bufSize, length, size, type, name );
4397 }
4398
4399 static void WINAPI glGetTransformFeedbackVaryingEXT( GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name ) {
4400   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4401   TRACE("(%d, %d, %d, %p, %p, %p, %p)\n", program, index, bufSize, length, size, type, name );
4402   funcs->ext.p_glGetTransformFeedbackVaryingEXT( program, index, bufSize, length, size, type, name );
4403 }
4404
4405 static void WINAPI glGetTransformFeedbackVaryingNV( GLuint program, GLuint index, GLint* location ) {
4406   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4407   TRACE("(%d, %d, %p)\n", program, index, location );
4408   funcs->ext.p_glGetTransformFeedbackVaryingNV( program, index, location );
4409 }
4410
4411 static GLuint WINAPI glGetUniformBlockIndex( GLuint program, const GLchar* uniformBlockName ) {
4412   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4413   TRACE("(%d, %p)\n", program, uniformBlockName );
4414   return funcs->ext.p_glGetUniformBlockIndex( program, uniformBlockName );
4415 }
4416
4417 static GLint WINAPI glGetUniformBufferSizeEXT( GLuint program, GLint location ) {
4418   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4419   TRACE("(%d, %d)\n", program, location );
4420   return funcs->ext.p_glGetUniformBufferSizeEXT( program, location );
4421 }
4422
4423 static void WINAPI glGetUniformIndices( GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices ) {
4424   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4425   TRACE("(%d, %d, %p, %p)\n", program, uniformCount, uniformNames, uniformIndices );
4426   funcs->ext.p_glGetUniformIndices( program, uniformCount, uniformNames, uniformIndices );
4427 }
4428
4429 static GLint WINAPI glGetUniformLocation( GLuint program, const GLchar* name ) {
4430   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4431   TRACE("(%d, %p)\n", program, name );
4432   return funcs->ext.p_glGetUniformLocation( program, name );
4433 }
4434
4435 static GLint WINAPI glGetUniformLocationARB( GLhandleARB programObj, const GLcharARB* name ) {
4436   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4437   TRACE("(%d, %p)\n", programObj, name );
4438   return funcs->ext.p_glGetUniformLocationARB( programObj, name );
4439 }
4440
4441 static GLintptr WINAPI glGetUniformOffsetEXT( GLuint program, GLint location ) {
4442   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4443   TRACE("(%d, %d)\n", program, location );
4444   return funcs->ext.p_glGetUniformOffsetEXT( program, location );
4445 }
4446
4447 static void WINAPI glGetUniformSubroutineuiv( GLenum shadertype, GLint location, GLuint* params ) {
4448   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4449   TRACE("(%d, %d, %p)\n", shadertype, location, params );
4450   funcs->ext.p_glGetUniformSubroutineuiv( shadertype, location, params );
4451 }
4452
4453 static void WINAPI glGetUniformdv( GLuint program, GLint location, GLdouble* params ) {
4454   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4455   TRACE("(%d, %d, %p)\n", program, location, params );
4456   funcs->ext.p_glGetUniformdv( program, location, params );
4457 }
4458
4459 static void WINAPI glGetUniformfv( GLuint program, GLint location, GLfloat* params ) {
4460   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4461   TRACE("(%d, %d, %p)\n", program, location, params );
4462   funcs->ext.p_glGetUniformfv( program, location, params );
4463 }
4464
4465 static void WINAPI glGetUniformfvARB( GLhandleARB programObj, GLint location, GLfloat* params ) {
4466   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4467   TRACE("(%d, %d, %p)\n", programObj, location, params );
4468   funcs->ext.p_glGetUniformfvARB( programObj, location, params );
4469 }
4470
4471 static void WINAPI glGetUniformi64vNV( GLuint program, GLint location, INT64* params ) {
4472   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4473   TRACE("(%d, %d, %p)\n", program, location, params );
4474   funcs->ext.p_glGetUniformi64vNV( program, location, params );
4475 }
4476
4477 static void WINAPI glGetUniformiv( GLuint program, GLint location, GLint* params ) {
4478   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4479   TRACE("(%d, %d, %p)\n", program, location, params );
4480   funcs->ext.p_glGetUniformiv( program, location, params );
4481 }
4482
4483 static void WINAPI glGetUniformivARB( GLhandleARB programObj, GLint location, GLint* params ) {
4484   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4485   TRACE("(%d, %d, %p)\n", programObj, location, params );
4486   funcs->ext.p_glGetUniformivARB( programObj, location, params );
4487 }
4488
4489 static void WINAPI glGetUniformui64vNV( GLuint program, GLint location, UINT64* params ) {
4490   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4491   TRACE("(%d, %d, %p)\n", program, location, params );
4492   funcs->ext.p_glGetUniformui64vNV( program, location, params );
4493 }
4494
4495 static void WINAPI glGetUniformuiv( GLuint program, GLint location, GLuint* params ) {
4496   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4497   TRACE("(%d, %d, %p)\n", program, location, params );
4498   funcs->ext.p_glGetUniformuiv( program, location, params );
4499 }
4500
4501 static void WINAPI glGetUniformuivEXT( GLuint program, GLint location, GLuint* params ) {
4502   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4503   TRACE("(%d, %d, %p)\n", program, location, params );
4504   funcs->ext.p_glGetUniformuivEXT( program, location, params );
4505 }
4506
4507 static void WINAPI glGetVariantArrayObjectfvATI( GLuint id, GLenum pname, GLfloat* params ) {
4508   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4509   TRACE("(%d, %d, %p)\n", id, pname, params );
4510   funcs->ext.p_glGetVariantArrayObjectfvATI( id, pname, params );
4511 }
4512
4513 static void WINAPI glGetVariantArrayObjectivATI( GLuint id, GLenum pname, GLint* params ) {
4514   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4515   TRACE("(%d, %d, %p)\n", id, pname, params );
4516   funcs->ext.p_glGetVariantArrayObjectivATI( id, pname, params );
4517 }
4518
4519 static void WINAPI glGetVariantBooleanvEXT( GLuint id, GLenum value, GLboolean* data ) {
4520   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4521   TRACE("(%d, %d, %p)\n", id, value, data );
4522   funcs->ext.p_glGetVariantBooleanvEXT( id, value, data );
4523 }
4524
4525 static void WINAPI glGetVariantFloatvEXT( GLuint id, GLenum value, GLfloat* data ) {
4526   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4527   TRACE("(%d, %d, %p)\n", id, value, data );
4528   funcs->ext.p_glGetVariantFloatvEXT( id, value, data );
4529 }
4530
4531 static void WINAPI glGetVariantIntegervEXT( GLuint id, GLenum value, GLint* data ) {
4532   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4533   TRACE("(%d, %d, %p)\n", id, value, data );
4534   funcs->ext.p_glGetVariantIntegervEXT( id, value, data );
4535 }
4536
4537 static void WINAPI glGetVariantPointervEXT( GLuint id, GLenum value, GLvoid** data ) {
4538   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4539   TRACE("(%d, %d, %p)\n", id, value, data );
4540   funcs->ext.p_glGetVariantPointervEXT( id, value, data );
4541 }
4542
4543 static GLint WINAPI glGetVaryingLocationNV( GLuint program, const GLchar* name ) {
4544   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4545   TRACE("(%d, %p)\n", program, name );
4546   return funcs->ext.p_glGetVaryingLocationNV( program, name );
4547 }
4548
4549 static void WINAPI glGetVertexAttribArrayObjectfvATI( GLuint index, GLenum pname, GLfloat* params ) {
4550   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4551   TRACE("(%d, %d, %p)\n", index, pname, params );
4552   funcs->ext.p_glGetVertexAttribArrayObjectfvATI( index, pname, params );
4553 }
4554
4555 static void WINAPI glGetVertexAttribArrayObjectivATI( GLuint index, GLenum pname, GLint* params ) {
4556   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4557   TRACE("(%d, %d, %p)\n", index, pname, params );
4558   funcs->ext.p_glGetVertexAttribArrayObjectivATI( index, pname, params );
4559 }
4560
4561 static void WINAPI glGetVertexAttribIiv( GLuint index, GLenum pname, GLint* params ) {
4562   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4563   TRACE("(%d, %d, %p)\n", index, pname, params );
4564   funcs->ext.p_glGetVertexAttribIiv( index, pname, params );
4565 }
4566
4567 static void WINAPI glGetVertexAttribIivEXT( GLuint index, GLenum pname, GLint* params ) {
4568   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4569   TRACE("(%d, %d, %p)\n", index, pname, params );
4570   funcs->ext.p_glGetVertexAttribIivEXT( index, pname, params );
4571 }
4572
4573 static void WINAPI glGetVertexAttribIuiv( GLuint index, GLenum pname, GLuint* params ) {
4574   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4575   TRACE("(%d, %d, %p)\n", index, pname, params );
4576   funcs->ext.p_glGetVertexAttribIuiv( index, pname, params );
4577 }
4578
4579 static void WINAPI glGetVertexAttribIuivEXT( GLuint index, GLenum pname, GLuint* params ) {
4580   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4581   TRACE("(%d, %d, %p)\n", index, pname, params );
4582   funcs->ext.p_glGetVertexAttribIuivEXT( index, pname, params );
4583 }
4584
4585 static void WINAPI glGetVertexAttribLdv( GLuint index, GLenum pname, GLdouble* params ) {
4586   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4587   TRACE("(%d, %d, %p)\n", index, pname, params );
4588   funcs->ext.p_glGetVertexAttribLdv( index, pname, params );
4589 }
4590
4591 static void WINAPI glGetVertexAttribLdvEXT( GLuint index, GLenum pname, GLdouble* params ) {
4592   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4593   TRACE("(%d, %d, %p)\n", index, pname, params );
4594   funcs->ext.p_glGetVertexAttribLdvEXT( index, pname, params );
4595 }
4596
4597 static void WINAPI glGetVertexAttribLi64vNV( GLuint index, GLenum pname, INT64* params ) {
4598   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4599   TRACE("(%d, %d, %p)\n", index, pname, params );
4600   funcs->ext.p_glGetVertexAttribLi64vNV( index, pname, params );
4601 }
4602
4603 static void WINAPI glGetVertexAttribLui64vNV( GLuint index, GLenum pname, UINT64* params ) {
4604   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4605   TRACE("(%d, %d, %p)\n", index, pname, params );
4606   funcs->ext.p_glGetVertexAttribLui64vNV( index, pname, params );
4607 }
4608
4609 static void WINAPI glGetVertexAttribPointerv( GLuint index, GLenum pname, GLvoid** pointer ) {
4610   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4611   TRACE("(%d, %d, %p)\n", index, pname, pointer );
4612   funcs->ext.p_glGetVertexAttribPointerv( index, pname, pointer );
4613 }
4614
4615 static void WINAPI glGetVertexAttribPointervARB( GLuint index, GLenum pname, GLvoid** pointer ) {
4616   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4617   TRACE("(%d, %d, %p)\n", index, pname, pointer );
4618   funcs->ext.p_glGetVertexAttribPointervARB( index, pname, pointer );
4619 }
4620
4621 static void WINAPI glGetVertexAttribPointervNV( GLuint index, GLenum pname, GLvoid** pointer ) {
4622   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4623   TRACE("(%d, %d, %p)\n", index, pname, pointer );
4624   funcs->ext.p_glGetVertexAttribPointervNV( index, pname, pointer );
4625 }
4626
4627 static void WINAPI glGetVertexAttribdv( GLuint index, GLenum pname, GLdouble* params ) {
4628   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4629   TRACE("(%d, %d, %p)\n", index, pname, params );
4630   funcs->ext.p_glGetVertexAttribdv( index, pname, params );
4631 }
4632
4633 static void WINAPI glGetVertexAttribdvARB( GLuint index, GLenum pname, GLdouble* params ) {
4634   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4635   TRACE("(%d, %d, %p)\n", index, pname, params );
4636   funcs->ext.p_glGetVertexAttribdvARB( index, pname, params );
4637 }
4638
4639 static void WINAPI glGetVertexAttribdvNV( GLuint index, GLenum pname, GLdouble* params ) {
4640   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4641   TRACE("(%d, %d, %p)\n", index, pname, params );
4642   funcs->ext.p_glGetVertexAttribdvNV( index, pname, params );
4643 }
4644
4645 static void WINAPI glGetVertexAttribfv( GLuint index, GLenum pname, GLfloat* params ) {
4646   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4647   TRACE("(%d, %d, %p)\n", index, pname, params );
4648   funcs->ext.p_glGetVertexAttribfv( index, pname, params );
4649 }
4650
4651 static void WINAPI glGetVertexAttribfvARB( GLuint index, GLenum pname, GLfloat* params ) {
4652   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4653   TRACE("(%d, %d, %p)\n", index, pname, params );
4654   funcs->ext.p_glGetVertexAttribfvARB( index, pname, params );
4655 }
4656
4657 static void WINAPI glGetVertexAttribfvNV( GLuint index, GLenum pname, GLfloat* params ) {
4658   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4659   TRACE("(%d, %d, %p)\n", index, pname, params );
4660   funcs->ext.p_glGetVertexAttribfvNV( index, pname, params );
4661 }
4662
4663 static void WINAPI glGetVertexAttribiv( GLuint index, GLenum pname, GLint* params ) {
4664   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4665   TRACE("(%d, %d, %p)\n", index, pname, params );
4666   funcs->ext.p_glGetVertexAttribiv( index, pname, params );
4667 }
4668
4669 static void WINAPI glGetVertexAttribivARB( GLuint index, GLenum pname, GLint* params ) {
4670   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4671   TRACE("(%d, %d, %p)\n", index, pname, params );
4672   funcs->ext.p_glGetVertexAttribivARB( index, pname, params );
4673 }
4674
4675 static void WINAPI glGetVertexAttribivNV( GLuint index, GLenum pname, GLint* params ) {
4676   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4677   TRACE("(%d, %d, %p)\n", index, pname, params );
4678   funcs->ext.p_glGetVertexAttribivNV( index, pname, params );
4679 }
4680
4681 static void WINAPI glGetVideoCaptureStreamdvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params ) {
4682   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4683   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
4684   funcs->ext.p_glGetVideoCaptureStreamdvNV( video_capture_slot, stream, pname, params );
4685 }
4686
4687 static void WINAPI glGetVideoCaptureStreamfvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params ) {
4688   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4689   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
4690   funcs->ext.p_glGetVideoCaptureStreamfvNV( video_capture_slot, stream, pname, params );
4691 }
4692
4693 static void WINAPI glGetVideoCaptureStreamivNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params ) {
4694   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4695   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
4696   funcs->ext.p_glGetVideoCaptureStreamivNV( video_capture_slot, stream, pname, params );
4697 }
4698
4699 static void WINAPI glGetVideoCaptureivNV( GLuint video_capture_slot, GLenum pname, GLint* params ) {
4700   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4701   TRACE("(%d, %d, %p)\n", video_capture_slot, pname, params );
4702   funcs->ext.p_glGetVideoCaptureivNV( video_capture_slot, pname, params );
4703 }
4704
4705 static void WINAPI glGetVideoi64vNV( GLuint video_slot, GLenum pname, INT64* params ) {
4706   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4707   TRACE("(%d, %d, %p)\n", video_slot, pname, params );
4708   funcs->ext.p_glGetVideoi64vNV( video_slot, pname, params );
4709 }
4710
4711 static void WINAPI glGetVideoivNV( GLuint video_slot, GLenum pname, GLint* params ) {
4712   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4713   TRACE("(%d, %d, %p)\n", video_slot, pname, params );
4714   funcs->ext.p_glGetVideoivNV( video_slot, pname, params );
4715 }
4716
4717 static void WINAPI glGetVideoui64vNV( GLuint video_slot, GLenum pname, UINT64* params ) {
4718   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4719   TRACE("(%d, %d, %p)\n", video_slot, pname, params );
4720   funcs->ext.p_glGetVideoui64vNV( video_slot, pname, params );
4721 }
4722
4723 static void WINAPI glGetVideouivNV( GLuint video_slot, GLenum pname, GLuint* params ) {
4724   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4725   TRACE("(%d, %d, %p)\n", video_slot, pname, params );
4726   funcs->ext.p_glGetVideouivNV( video_slot, pname, params );
4727 }
4728
4729 static void WINAPI glGetnColorTableARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid* table ) {
4730   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4731   TRACE("(%d, %d, %d, %d, %p)\n", target, format, type, bufSize, table );
4732   funcs->ext.p_glGetnColorTableARB( target, format, type, bufSize, table );
4733 }
4734
4735 static void WINAPI glGetnCompressedTexImageARB( GLenum target, GLint lod, GLsizei bufSize, GLvoid* img ) {
4736   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4737   TRACE("(%d, %d, %d, %p)\n", target, lod, bufSize, img );
4738   funcs->ext.p_glGetnCompressedTexImageARB( target, lod, bufSize, img );
4739 }
4740
4741 static void WINAPI glGetnConvolutionFilterARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid* image ) {
4742   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4743   TRACE("(%d, %d, %d, %d, %p)\n", target, format, type, bufSize, image );
4744   funcs->ext.p_glGetnConvolutionFilterARB( target, format, type, bufSize, image );
4745 }
4746
4747 static void WINAPI glGetnHistogramARB( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid* values ) {
4748   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4749   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, reset, format, type, bufSize, values );
4750   funcs->ext.p_glGetnHistogramARB( target, reset, format, type, bufSize, values );
4751 }
4752
4753 static void WINAPI glGetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, GLdouble* v ) {
4754   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4755   TRACE("(%d, %d, %d, %p)\n", target, query, bufSize, v );
4756   funcs->ext.p_glGetnMapdvARB( target, query, bufSize, v );
4757 }
4758
4759 static void WINAPI glGetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat* v ) {
4760   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4761   TRACE("(%d, %d, %d, %p)\n", target, query, bufSize, v );
4762   funcs->ext.p_glGetnMapfvARB( target, query, bufSize, v );
4763 }
4764
4765 static void WINAPI glGetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint* v ) {
4766   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4767   TRACE("(%d, %d, %d, %p)\n", target, query, bufSize, v );
4768   funcs->ext.p_glGetnMapivARB( target, query, bufSize, v );
4769 }
4770
4771 static void WINAPI glGetnMinmaxARB( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid* values ) {
4772   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4773   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, reset, format, type, bufSize, values );
4774   funcs->ext.p_glGetnMinmaxARB( target, reset, format, type, bufSize, values );
4775 }
4776
4777 static void WINAPI glGetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat* values ) {
4778   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4779   TRACE("(%d, %d, %p)\n", map, bufSize, values );
4780   funcs->ext.p_glGetnPixelMapfvARB( map, bufSize, values );
4781 }
4782
4783 static void WINAPI glGetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint* values ) {
4784   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4785   TRACE("(%d, %d, %p)\n", map, bufSize, values );
4786   funcs->ext.p_glGetnPixelMapuivARB( map, bufSize, values );
4787 }
4788
4789 static void WINAPI glGetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort* values ) {
4790   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4791   TRACE("(%d, %d, %p)\n", map, bufSize, values );
4792   funcs->ext.p_glGetnPixelMapusvARB( map, bufSize, values );
4793 }
4794
4795 static void WINAPI glGetnPolygonStippleARB( GLsizei bufSize, GLubyte* pattern ) {
4796   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4797   TRACE("(%d, %p)\n", bufSize, pattern );
4798   funcs->ext.p_glGetnPolygonStippleARB( bufSize, pattern );
4799 }
4800
4801 static void WINAPI glGetnSeparableFilterARB( GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid* row, GLsizei columnBufSize, GLvoid* column, GLvoid* span ) {
4802   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4803   TRACE("(%d, %d, %d, %d, %p, %d, %p, %p)\n", target, format, type, rowBufSize, row, columnBufSize, column, span );
4804   funcs->ext.p_glGetnSeparableFilterARB( target, format, type, rowBufSize, row, columnBufSize, column, span );
4805 }
4806
4807 static void WINAPI glGetnTexImageARB( GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid* img ) {
4808   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4809   TRACE("(%d, %d, %d, %d, %d, %p)\n", target, level, format, type, bufSize, img );
4810   funcs->ext.p_glGetnTexImageARB( target, level, format, type, bufSize, img );
4811 }
4812
4813 static void WINAPI glGetnUniformdvARB( GLuint program, GLint location, GLsizei bufSize, GLdouble* params ) {
4814   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4815   TRACE("(%d, %d, %d, %p)\n", program, location, bufSize, params );
4816   funcs->ext.p_glGetnUniformdvARB( program, location, bufSize, params );
4817 }
4818
4819 static void WINAPI glGetnUniformfvARB( GLuint program, GLint location, GLsizei bufSize, GLfloat* params ) {
4820   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4821   TRACE("(%d, %d, %d, %p)\n", program, location, bufSize, params );
4822   funcs->ext.p_glGetnUniformfvARB( program, location, bufSize, params );
4823 }
4824
4825 static void WINAPI glGetnUniformivARB( GLuint program, GLint location, GLsizei bufSize, GLint* params ) {
4826   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4827   TRACE("(%d, %d, %d, %p)\n", program, location, bufSize, params );
4828   funcs->ext.p_glGetnUniformivARB( program, location, bufSize, params );
4829 }
4830
4831 static void WINAPI glGetnUniformuivARB( GLuint program, GLint location, GLsizei bufSize, GLuint* params ) {
4832   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4833   TRACE("(%d, %d, %d, %p)\n", program, location, bufSize, params );
4834   funcs->ext.p_glGetnUniformuivARB( program, location, bufSize, params );
4835 }
4836
4837 static void WINAPI glGlobalAlphaFactorbSUN( GLbyte factor ) {
4838   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4839   TRACE("(%d)\n", factor );
4840   funcs->ext.p_glGlobalAlphaFactorbSUN( factor );
4841 }
4842
4843 static void WINAPI glGlobalAlphaFactordSUN( GLdouble factor ) {
4844   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4845   TRACE("(%f)\n", factor );
4846   funcs->ext.p_glGlobalAlphaFactordSUN( factor );
4847 }
4848
4849 static void WINAPI glGlobalAlphaFactorfSUN( GLfloat factor ) {
4850   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4851   TRACE("(%f)\n", factor );
4852   funcs->ext.p_glGlobalAlphaFactorfSUN( factor );
4853 }
4854
4855 static void WINAPI glGlobalAlphaFactoriSUN( GLint factor ) {
4856   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4857   TRACE("(%d)\n", factor );
4858   funcs->ext.p_glGlobalAlphaFactoriSUN( factor );
4859 }
4860
4861 static void WINAPI glGlobalAlphaFactorsSUN( GLshort factor ) {
4862   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4863   TRACE("(%d)\n", factor );
4864   funcs->ext.p_glGlobalAlphaFactorsSUN( factor );
4865 }
4866
4867 static void WINAPI glGlobalAlphaFactorubSUN( GLubyte factor ) {
4868   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4869   TRACE("(%d)\n", factor );
4870   funcs->ext.p_glGlobalAlphaFactorubSUN( factor );
4871 }
4872
4873 static void WINAPI glGlobalAlphaFactoruiSUN( GLuint factor ) {
4874   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4875   TRACE("(%d)\n", factor );
4876   funcs->ext.p_glGlobalAlphaFactoruiSUN( factor );
4877 }
4878
4879 static void WINAPI glGlobalAlphaFactorusSUN( GLushort factor ) {
4880   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4881   TRACE("(%d)\n", factor );
4882   funcs->ext.p_glGlobalAlphaFactorusSUN( factor );
4883 }
4884
4885 static void WINAPI glHintPGI( GLenum target, GLint mode ) {
4886   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4887   TRACE("(%d, %d)\n", target, mode );
4888   funcs->ext.p_glHintPGI( target, mode );
4889 }
4890
4891 static void WINAPI glHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ) {
4892   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4893   TRACE("(%d, %d, %d, %d)\n", target, width, internalformat, sink );
4894   funcs->ext.p_glHistogram( target, width, internalformat, sink );
4895 }
4896
4897 static void WINAPI glHistogramEXT( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ) {
4898   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4899   TRACE("(%d, %d, %d, %d)\n", target, width, internalformat, sink );
4900   funcs->ext.p_glHistogramEXT( target, width, internalformat, sink );
4901 }
4902
4903 static void WINAPI glIglooInterfaceSGIX( GLenum pname, const GLvoid* params ) {
4904   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4905   TRACE("(%d, %p)\n", pname, params );
4906   funcs->ext.p_glIglooInterfaceSGIX( pname, params );
4907 }
4908
4909 static void WINAPI glImageTransformParameterfHP( GLenum target, GLenum pname, GLfloat param ) {
4910   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4911   TRACE("(%d, %d, %f)\n", target, pname, param );
4912   funcs->ext.p_glImageTransformParameterfHP( target, pname, param );
4913 }
4914
4915 static void WINAPI glImageTransformParameterfvHP( GLenum target, GLenum pname, const GLfloat* params ) {
4916   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4917   TRACE("(%d, %d, %p)\n", target, pname, params );
4918   funcs->ext.p_glImageTransformParameterfvHP( target, pname, params );
4919 }
4920
4921 static void WINAPI glImageTransformParameteriHP( GLenum target, GLenum pname, GLint param ) {
4922   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4923   TRACE("(%d, %d, %d)\n", target, pname, param );
4924   funcs->ext.p_glImageTransformParameteriHP( target, pname, param );
4925 }
4926
4927 static void WINAPI glImageTransformParameterivHP( GLenum target, GLenum pname, const GLint* params ) {
4928   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4929   TRACE("(%d, %d, %p)\n", target, pname, params );
4930   funcs->ext.p_glImageTransformParameterivHP( target, pname, params );
4931 }
4932
4933 static GLvoid* WINAPI glImportSyncEXT( GLenum external_sync_type, GLintptr external_sync, GLbitfield flags ) {
4934   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4935   TRACE("(%d, %ld, %d)\n", external_sync_type, external_sync, flags );
4936   return funcs->ext.p_glImportSyncEXT( external_sync_type, external_sync, flags );
4937 }
4938
4939 static void WINAPI glIndexFormatNV( GLenum type, GLsizei stride ) {
4940   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4941   TRACE("(%d, %d)\n", type, stride );
4942   funcs->ext.p_glIndexFormatNV( type, stride );
4943 }
4944
4945 static void WINAPI glIndexFuncEXT( GLenum func, GLclampf ref ) {
4946   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4947   TRACE("(%d, %f)\n", func, ref );
4948   funcs->ext.p_glIndexFuncEXT( func, ref );
4949 }
4950
4951 static void WINAPI glIndexMaterialEXT( GLenum face, GLenum mode ) {
4952   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4953   TRACE("(%d, %d)\n", face, mode );
4954   funcs->ext.p_glIndexMaterialEXT( face, mode );
4955 }
4956
4957 static void WINAPI glIndexPointerEXT( GLenum type, GLsizei stride, GLsizei count, const GLvoid* pointer ) {
4958   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4959   TRACE("(%d, %d, %d, %p)\n", type, stride, count, pointer );
4960   funcs->ext.p_glIndexPointerEXT( type, stride, count, pointer );
4961 }
4962
4963 static void WINAPI glIndexPointerListIBM( GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
4964   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4965   TRACE("(%d, %d, %p, %d)\n", type, stride, pointer, ptrstride );
4966   funcs->ext.p_glIndexPointerListIBM( type, stride, pointer, ptrstride );
4967 }
4968
4969 static void WINAPI glInsertComponentEXT( GLuint res, GLuint src, GLuint num ) {
4970   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4971   TRACE("(%d, %d, %d)\n", res, src, num );
4972   funcs->ext.p_glInsertComponentEXT( res, src, num );
4973 }
4974
4975 static void WINAPI glInstrumentsBufferSGIX( GLsizei size, GLint* buffer ) {
4976   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4977   TRACE("(%d, %p)\n", size, buffer );
4978   funcs->ext.p_glInstrumentsBufferSGIX( size, buffer );
4979 }
4980
4981 static void WINAPI glInterpolatePathsNV( GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight ) {
4982   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4983   TRACE("(%d, %d, %d, %f)\n", resultPath, pathA, pathB, weight );
4984   funcs->ext.p_glInterpolatePathsNV( resultPath, pathA, pathB, weight );
4985 }
4986
4987 static void WINAPI glInvalidateBufferData( GLuint buffer ) {
4988   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4989   TRACE("(%d)\n", buffer );
4990   funcs->ext.p_glInvalidateBufferData( buffer );
4991 }
4992
4993 static void WINAPI glInvalidateBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr length ) {
4994   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
4995   TRACE("(%d, %ld, %ld)\n", buffer, offset, length );
4996   funcs->ext.p_glInvalidateBufferSubData( buffer, offset, length );
4997 }
4998
4999 static void WINAPI glInvalidateFramebuffer( GLenum target, GLsizei numAttachments, const GLenum* attachments ) {
5000   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5001   TRACE("(%d, %d, %p)\n", target, numAttachments, attachments );
5002   funcs->ext.p_glInvalidateFramebuffer( target, numAttachments, attachments );
5003 }
5004
5005 static void WINAPI glInvalidateSubFramebuffer( GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height ) {
5006   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5007   TRACE("(%d, %d, %p, %d, %d, %d, %d)\n", target, numAttachments, attachments, x, y, width, height );
5008   funcs->ext.p_glInvalidateSubFramebuffer( target, numAttachments, attachments, x, y, width, height );
5009 }
5010
5011 static void WINAPI glInvalidateTexImage( GLuint texture, GLint level ) {
5012   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5013   TRACE("(%d, %d)\n", texture, level );
5014   funcs->ext.p_glInvalidateTexImage( texture, level );
5015 }
5016
5017 static void WINAPI glInvalidateTexSubImage( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth ) {
5018   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5019   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, level, xoffset, yoffset, zoffset, width, height, depth );
5020   funcs->ext.p_glInvalidateTexSubImage( texture, level, xoffset, yoffset, zoffset, width, height, depth );
5021 }
5022
5023 static GLboolean WINAPI glIsAsyncMarkerSGIX( GLuint marker ) {
5024   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5025   TRACE("(%d)\n", marker );
5026   return funcs->ext.p_glIsAsyncMarkerSGIX( marker );
5027 }
5028
5029 static GLboolean WINAPI glIsBuffer( GLuint buffer ) {
5030   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5031   TRACE("(%d)\n", buffer );
5032   return funcs->ext.p_glIsBuffer( buffer );
5033 }
5034
5035 static GLboolean WINAPI glIsBufferARB( GLuint buffer ) {
5036   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5037   TRACE("(%d)\n", buffer );
5038   return funcs->ext.p_glIsBufferARB( buffer );
5039 }
5040
5041 static GLboolean WINAPI glIsBufferResidentNV( GLenum target ) {
5042   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5043   TRACE("(%d)\n", target );
5044   return funcs->ext.p_glIsBufferResidentNV( target );
5045 }
5046
5047 static GLboolean WINAPI glIsEnabledIndexedEXT( GLenum target, GLuint index ) {
5048   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5049   TRACE("(%d, %d)\n", target, index );
5050   return funcs->ext.p_glIsEnabledIndexedEXT( target, index );
5051 }
5052
5053 static GLboolean WINAPI glIsEnabledi( GLenum target, GLuint index ) {
5054   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5055   TRACE("(%d, %d)\n", target, index );
5056   return funcs->ext.p_glIsEnabledi( target, index );
5057 }
5058
5059 static GLboolean WINAPI glIsFenceAPPLE( GLuint fence ) {
5060   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5061   TRACE("(%d)\n", fence );
5062   return funcs->ext.p_glIsFenceAPPLE( fence );
5063 }
5064
5065 static GLboolean WINAPI glIsFenceNV( GLuint fence ) {
5066   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5067   TRACE("(%d)\n", fence );
5068   return funcs->ext.p_glIsFenceNV( fence );
5069 }
5070
5071 static GLboolean WINAPI glIsFramebuffer( GLuint framebuffer ) {
5072   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5073   TRACE("(%d)\n", framebuffer );
5074   return funcs->ext.p_glIsFramebuffer( framebuffer );
5075 }
5076
5077 static GLboolean WINAPI glIsFramebufferEXT( GLuint framebuffer ) {
5078   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5079   TRACE("(%d)\n", framebuffer );
5080   return funcs->ext.p_glIsFramebufferEXT( framebuffer );
5081 }
5082
5083 static GLboolean WINAPI glIsImageHandleResidentNV( UINT64 handle ) {
5084   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5085   TRACE("(%s)\n", wine_dbgstr_longlong(handle) );
5086   return funcs->ext.p_glIsImageHandleResidentNV( handle );
5087 }
5088
5089 static GLboolean WINAPI glIsNameAMD( GLenum identifier, GLuint name ) {
5090   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5091   TRACE("(%d, %d)\n", identifier, name );
5092   return funcs->ext.p_glIsNameAMD( identifier, name );
5093 }
5094
5095 static GLboolean WINAPI glIsNamedBufferResidentNV( GLuint buffer ) {
5096   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5097   TRACE("(%d)\n", buffer );
5098   return funcs->ext.p_glIsNamedBufferResidentNV( buffer );
5099 }
5100
5101 static GLboolean WINAPI glIsNamedStringARB( GLint namelen, const GLchar* name ) {
5102   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5103   TRACE("(%d, %p)\n", namelen, name );
5104   return funcs->ext.p_glIsNamedStringARB( namelen, name );
5105 }
5106
5107 static GLboolean WINAPI glIsObjectBufferATI( GLuint buffer ) {
5108   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5109   TRACE("(%d)\n", buffer );
5110   return funcs->ext.p_glIsObjectBufferATI( buffer );
5111 }
5112
5113 static GLboolean WINAPI glIsOcclusionQueryNV( GLuint id ) {
5114   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5115   TRACE("(%d)\n", id );
5116   return funcs->ext.p_glIsOcclusionQueryNV( id );
5117 }
5118
5119 static GLboolean WINAPI glIsPathNV( GLuint path ) {
5120   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5121   TRACE("(%d)\n", path );
5122   return funcs->ext.p_glIsPathNV( path );
5123 }
5124
5125 static GLboolean WINAPI glIsPointInFillPathNV( GLuint path, GLuint mask, GLfloat x, GLfloat y ) {
5126   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5127   TRACE("(%d, %d, %f, %f)\n", path, mask, x, y );
5128   return funcs->ext.p_glIsPointInFillPathNV( path, mask, x, y );
5129 }
5130
5131 static GLboolean WINAPI glIsPointInStrokePathNV( GLuint path, GLfloat x, GLfloat y ) {
5132   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5133   TRACE("(%d, %f, %f)\n", path, x, y );
5134   return funcs->ext.p_glIsPointInStrokePathNV( path, x, y );
5135 }
5136
5137 static GLboolean WINAPI glIsProgram( GLuint program ) {
5138   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5139   TRACE("(%d)\n", program );
5140   return funcs->ext.p_glIsProgram( program );
5141 }
5142
5143 static GLboolean WINAPI glIsProgramARB( GLuint program ) {
5144   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5145   TRACE("(%d)\n", program );
5146   return funcs->ext.p_glIsProgramARB( program );
5147 }
5148
5149 static GLboolean WINAPI glIsProgramNV( GLuint id ) {
5150   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5151   TRACE("(%d)\n", id );
5152   return funcs->ext.p_glIsProgramNV( id );
5153 }
5154
5155 static GLboolean WINAPI glIsProgramPipeline( GLuint pipeline ) {
5156   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5157   TRACE("(%d)\n", pipeline );
5158   return funcs->ext.p_glIsProgramPipeline( pipeline );
5159 }
5160
5161 static GLboolean WINAPI glIsQuery( GLuint id ) {
5162   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5163   TRACE("(%d)\n", id );
5164   return funcs->ext.p_glIsQuery( id );
5165 }
5166
5167 static GLboolean WINAPI glIsQueryARB( GLuint id ) {
5168   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5169   TRACE("(%d)\n", id );
5170   return funcs->ext.p_glIsQueryARB( id );
5171 }
5172
5173 static GLboolean WINAPI glIsRenderbuffer( GLuint renderbuffer ) {
5174   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5175   TRACE("(%d)\n", renderbuffer );
5176   return funcs->ext.p_glIsRenderbuffer( renderbuffer );
5177 }
5178
5179 static GLboolean WINAPI glIsRenderbufferEXT( GLuint renderbuffer ) {
5180   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5181   TRACE("(%d)\n", renderbuffer );
5182   return funcs->ext.p_glIsRenderbufferEXT( renderbuffer );
5183 }
5184
5185 static GLboolean WINAPI glIsSampler( GLuint sampler ) {
5186   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5187   TRACE("(%d)\n", sampler );
5188   return funcs->ext.p_glIsSampler( sampler );
5189 }
5190
5191 static GLboolean WINAPI glIsShader( GLuint shader ) {
5192   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5193   TRACE("(%d)\n", shader );
5194   return funcs->ext.p_glIsShader( shader );
5195 }
5196
5197 static GLboolean WINAPI glIsSync( GLvoid* sync ) {
5198   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5199   TRACE("(%p)\n", sync );
5200   return funcs->ext.p_glIsSync( sync );
5201 }
5202
5203 static GLboolean WINAPI glIsTextureEXT( GLuint texture ) {
5204   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5205   TRACE("(%d)\n", texture );
5206   return funcs->ext.p_glIsTextureEXT( texture );
5207 }
5208
5209 static GLboolean WINAPI glIsTextureHandleResidentNV( UINT64 handle ) {
5210   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5211   TRACE("(%s)\n", wine_dbgstr_longlong(handle) );
5212   return funcs->ext.p_glIsTextureHandleResidentNV( handle );
5213 }
5214
5215 static GLboolean WINAPI glIsTransformFeedback( GLuint id ) {
5216   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5217   TRACE("(%d)\n", id );
5218   return funcs->ext.p_glIsTransformFeedback( id );
5219 }
5220
5221 static GLboolean WINAPI glIsTransformFeedbackNV( GLuint id ) {
5222   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5223   TRACE("(%d)\n", id );
5224   return funcs->ext.p_glIsTransformFeedbackNV( id );
5225 }
5226
5227 static GLboolean WINAPI glIsVariantEnabledEXT( GLuint id, GLenum cap ) {
5228   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5229   TRACE("(%d, %d)\n", id, cap );
5230   return funcs->ext.p_glIsVariantEnabledEXT( id, cap );
5231 }
5232
5233 static GLboolean WINAPI glIsVertexArray( GLuint array ) {
5234   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5235   TRACE("(%d)\n", array );
5236   return funcs->ext.p_glIsVertexArray( array );
5237 }
5238
5239 static GLboolean WINAPI glIsVertexArrayAPPLE( GLuint array ) {
5240   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5241   TRACE("(%d)\n", array );
5242   return funcs->ext.p_glIsVertexArrayAPPLE( array );
5243 }
5244
5245 static GLboolean WINAPI glIsVertexAttribEnabledAPPLE( GLuint index, GLenum pname ) {
5246   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5247   TRACE("(%d, %d)\n", index, pname );
5248   return funcs->ext.p_glIsVertexAttribEnabledAPPLE( index, pname );
5249 }
5250
5251 static void WINAPI glLightEnviSGIX( GLenum pname, GLint param ) {
5252   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5253   TRACE("(%d, %d)\n", pname, param );
5254   funcs->ext.p_glLightEnviSGIX( pname, param );
5255 }
5256
5257 static void WINAPI glLinkProgram( GLuint program ) {
5258   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5259   TRACE("(%d)\n", program );
5260   funcs->ext.p_glLinkProgram( program );
5261 }
5262
5263 static void WINAPI glLinkProgramARB( GLhandleARB programObj ) {
5264   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5265   TRACE("(%d)\n", programObj );
5266   funcs->ext.p_glLinkProgramARB( programObj );
5267 }
5268
5269 static void WINAPI glListParameterfSGIX( GLuint list, GLenum pname, GLfloat param ) {
5270   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5271   TRACE("(%d, %d, %f)\n", list, pname, param );
5272   funcs->ext.p_glListParameterfSGIX( list, pname, param );
5273 }
5274
5275 static void WINAPI glListParameterfvSGIX( GLuint list, GLenum pname, const GLfloat* params ) {
5276   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5277   TRACE("(%d, %d, %p)\n", list, pname, params );
5278   funcs->ext.p_glListParameterfvSGIX( list, pname, params );
5279 }
5280
5281 static void WINAPI glListParameteriSGIX( GLuint list, GLenum pname, GLint param ) {
5282   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5283   TRACE("(%d, %d, %d)\n", list, pname, param );
5284   funcs->ext.p_glListParameteriSGIX( list, pname, param );
5285 }
5286
5287 static void WINAPI glListParameterivSGIX( GLuint list, GLenum pname, const GLint* params ) {
5288   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5289   TRACE("(%d, %d, %p)\n", list, pname, params );
5290   funcs->ext.p_glListParameterivSGIX( list, pname, params );
5291 }
5292
5293 static void WINAPI glLoadIdentityDeformationMapSGIX( GLbitfield mask ) {
5294   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5295   TRACE("(%d)\n", mask );
5296   funcs->ext.p_glLoadIdentityDeformationMapSGIX( mask );
5297 }
5298
5299 static void WINAPI glLoadProgramNV( GLenum target, GLuint id, GLsizei len, const GLubyte* program ) {
5300   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5301   TRACE("(%d, %d, %d, %p)\n", target, id, len, program );
5302   funcs->ext.p_glLoadProgramNV( target, id, len, program );
5303 }
5304
5305 static void WINAPI glLoadTransposeMatrixd( const GLdouble* m ) {
5306   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5307   TRACE("(%p)\n", m );
5308   funcs->ext.p_glLoadTransposeMatrixd( m );
5309 }
5310
5311 static void WINAPI glLoadTransposeMatrixdARB( const GLdouble* m ) {
5312   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5313   TRACE("(%p)\n", m );
5314   funcs->ext.p_glLoadTransposeMatrixdARB( m );
5315 }
5316
5317 static void WINAPI glLoadTransposeMatrixf( const GLfloat* m ) {
5318   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5319   TRACE("(%p)\n", m );
5320   funcs->ext.p_glLoadTransposeMatrixf( m );
5321 }
5322
5323 static void WINAPI glLoadTransposeMatrixfARB( const GLfloat* m ) {
5324   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5325   TRACE("(%p)\n", m );
5326   funcs->ext.p_glLoadTransposeMatrixfARB( m );
5327 }
5328
5329 static void WINAPI glLockArraysEXT( GLint first, GLsizei count ) {
5330   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5331   TRACE("(%d, %d)\n", first, count );
5332   funcs->ext.p_glLockArraysEXT( first, count );
5333 }
5334
5335 static void WINAPI glMTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) {
5336   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5337   TRACE("(%d, %f, %f)\n", target, s, t );
5338   funcs->ext.p_glMTexCoord2fSGIS( target, s, t );
5339 }
5340
5341 static void WINAPI glMTexCoord2fvSGIS( GLenum target, GLfloat * v ) {
5342   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5343   TRACE("(%d, %p)\n", target, v );
5344   funcs->ext.p_glMTexCoord2fvSGIS( target, v );
5345 }
5346
5347 static void WINAPI glMakeBufferNonResidentNV( GLenum target ) {
5348   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5349   TRACE("(%d)\n", target );
5350   funcs->ext.p_glMakeBufferNonResidentNV( target );
5351 }
5352
5353 static void WINAPI glMakeBufferResidentNV( GLenum target, GLenum access ) {
5354   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5355   TRACE("(%d, %d)\n", target, access );
5356   funcs->ext.p_glMakeBufferResidentNV( target, access );
5357 }
5358
5359 static void WINAPI glMakeImageHandleNonResidentNV( UINT64 handle ) {
5360   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5361   TRACE("(%s)\n", wine_dbgstr_longlong(handle) );
5362   funcs->ext.p_glMakeImageHandleNonResidentNV( handle );
5363 }
5364
5365 static void WINAPI glMakeImageHandleResidentNV( UINT64 handle, GLenum access ) {
5366   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5367   TRACE("(%s, %d)\n", wine_dbgstr_longlong(handle), access );
5368   funcs->ext.p_glMakeImageHandleResidentNV( handle, access );
5369 }
5370
5371 static void WINAPI glMakeNamedBufferNonResidentNV( GLuint buffer ) {
5372   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5373   TRACE("(%d)\n", buffer );
5374   funcs->ext.p_glMakeNamedBufferNonResidentNV( buffer );
5375 }
5376
5377 static void WINAPI glMakeNamedBufferResidentNV( GLuint buffer, GLenum access ) {
5378   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5379   TRACE("(%d, %d)\n", buffer, access );
5380   funcs->ext.p_glMakeNamedBufferResidentNV( buffer, access );
5381 }
5382
5383 static void WINAPI glMakeTextureHandleNonResidentNV( UINT64 handle ) {
5384   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5385   TRACE("(%s)\n", wine_dbgstr_longlong(handle) );
5386   funcs->ext.p_glMakeTextureHandleNonResidentNV( handle );
5387 }
5388
5389 static void WINAPI glMakeTextureHandleResidentNV( UINT64 handle ) {
5390   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5391   TRACE("(%s)\n", wine_dbgstr_longlong(handle) );
5392   funcs->ext.p_glMakeTextureHandleResidentNV( handle );
5393 }
5394
5395 static GLvoid* WINAPI glMapBuffer( GLenum target, GLenum access ) {
5396   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5397   TRACE("(%d, %d)\n", target, access );
5398   return funcs->ext.p_glMapBuffer( target, access );
5399 }
5400
5401 static GLvoid* WINAPI glMapBufferARB( GLenum target, GLenum access ) {
5402   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5403   TRACE("(%d, %d)\n", target, access );
5404   return funcs->ext.p_glMapBufferARB( target, access );
5405 }
5406
5407 static GLvoid* WINAPI glMapBufferRange( GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access ) {
5408   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5409   TRACE("(%d, %ld, %ld, %d)\n", target, offset, length, access );
5410   return funcs->ext.p_glMapBufferRange( target, offset, length, access );
5411 }
5412
5413 static void WINAPI glMapControlPointsNV( GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid* points ) {
5414   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5415   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, index, type, ustride, vstride, uorder, vorder, packed, points );
5416   funcs->ext.p_glMapControlPointsNV( target, index, type, ustride, vstride, uorder, vorder, packed, points );
5417 }
5418
5419 static GLvoid* WINAPI glMapNamedBufferEXT( GLuint buffer, GLenum access ) {
5420   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5421   TRACE("(%d, %d)\n", buffer, access );
5422   return funcs->ext.p_glMapNamedBufferEXT( buffer, access );
5423 }
5424
5425 static GLvoid* WINAPI glMapNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) {
5426   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5427   TRACE("(%d, %ld, %ld, %d)\n", buffer, offset, length, access );
5428   return funcs->ext.p_glMapNamedBufferRangeEXT( buffer, offset, length, access );
5429 }
5430
5431 static GLvoid* WINAPI glMapObjectBufferATI( GLuint buffer ) {
5432   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5433   TRACE("(%d)\n", buffer );
5434   return funcs->ext.p_glMapObjectBufferATI( buffer );
5435 }
5436
5437 static void WINAPI glMapParameterfvNV( GLenum target, GLenum pname, const GLfloat* params ) {
5438   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5439   TRACE("(%d, %d, %p)\n", target, pname, params );
5440   funcs->ext.p_glMapParameterfvNV( target, pname, params );
5441 }
5442
5443 static void WINAPI glMapParameterivNV( GLenum target, GLenum pname, const GLint* params ) {
5444   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5445   TRACE("(%d, %d, %p)\n", target, pname, params );
5446   funcs->ext.p_glMapParameterivNV( target, pname, params );
5447 }
5448
5449 static void WINAPI glMapVertexAttrib1dAPPLE( GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points ) {
5450   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5451   TRACE("(%d, %d, %f, %f, %d, %d, %p)\n", index, size, u1, u2, stride, order, points );
5452   funcs->ext.p_glMapVertexAttrib1dAPPLE( index, size, u1, u2, stride, order, points );
5453 }
5454
5455 static void WINAPI glMapVertexAttrib1fAPPLE( GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points ) {
5456   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5457   TRACE("(%d, %d, %f, %f, %d, %d, %p)\n", index, size, u1, u2, stride, order, points );
5458   funcs->ext.p_glMapVertexAttrib1fAPPLE( index, size, u1, u2, stride, order, points );
5459 }
5460
5461 static void WINAPI glMapVertexAttrib2dAPPLE( GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points ) {
5462   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5463   TRACE("(%d, %d, %f, %f, %d, %d, %f, %f, %d, %d, %p)\n", index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
5464   funcs->ext.p_glMapVertexAttrib2dAPPLE( index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
5465 }
5466
5467 static void WINAPI glMapVertexAttrib2fAPPLE( GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points ) {
5468   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5469   TRACE("(%d, %d, %f, %f, %d, %d, %f, %f, %d, %d, %p)\n", index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
5470   funcs->ext.p_glMapVertexAttrib2fAPPLE( index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
5471 }
5472
5473 static void WINAPI glMatrixFrustumEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) {
5474   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5475   TRACE("(%d, %f, %f, %f, %f, %f, %f)\n", mode, left, right, bottom, top, zNear, zFar );
5476   funcs->ext.p_glMatrixFrustumEXT( mode, left, right, bottom, top, zNear, zFar );
5477 }
5478
5479 static void WINAPI glMatrixIndexPointerARB( GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
5480   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5481   TRACE("(%d, %d, %d, %p)\n", size, type, stride, pointer );
5482   funcs->ext.p_glMatrixIndexPointerARB( size, type, stride, pointer );
5483 }
5484
5485 static void WINAPI glMatrixIndexubvARB( GLint size, const GLubyte* indices ) {
5486   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5487   TRACE("(%d, %p)\n", size, indices );
5488   funcs->ext.p_glMatrixIndexubvARB( size, indices );
5489 }
5490
5491 static void WINAPI glMatrixIndexuivARB( GLint size, const GLuint* indices ) {
5492   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5493   TRACE("(%d, %p)\n", size, indices );
5494   funcs->ext.p_glMatrixIndexuivARB( size, indices );
5495 }
5496
5497 static void WINAPI glMatrixIndexusvARB( GLint size, const GLushort* indices ) {
5498   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5499   TRACE("(%d, %p)\n", size, indices );
5500   funcs->ext.p_glMatrixIndexusvARB( size, indices );
5501 }
5502
5503 static void WINAPI glMatrixLoadIdentityEXT( GLenum mode ) {
5504   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5505   TRACE("(%d)\n", mode );
5506   funcs->ext.p_glMatrixLoadIdentityEXT( mode );
5507 }
5508
5509 static void WINAPI glMatrixLoadTransposedEXT( GLenum mode, const GLdouble* m ) {
5510   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5511   TRACE("(%d, %p)\n", mode, m );
5512   funcs->ext.p_glMatrixLoadTransposedEXT( mode, m );
5513 }
5514
5515 static void WINAPI glMatrixLoadTransposefEXT( GLenum mode, const GLfloat* m ) {
5516   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5517   TRACE("(%d, %p)\n", mode, m );
5518   funcs->ext.p_glMatrixLoadTransposefEXT( mode, m );
5519 }
5520
5521 static void WINAPI glMatrixLoaddEXT( GLenum mode, const GLdouble* m ) {
5522   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5523   TRACE("(%d, %p)\n", mode, m );
5524   funcs->ext.p_glMatrixLoaddEXT( mode, m );
5525 }
5526
5527 static void WINAPI glMatrixLoadfEXT( GLenum mode, const GLfloat* m ) {
5528   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5529   TRACE("(%d, %p)\n", mode, m );
5530   funcs->ext.p_glMatrixLoadfEXT( mode, m );
5531 }
5532
5533 static void WINAPI glMatrixMultTransposedEXT( GLenum mode, const GLdouble* m ) {
5534   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5535   TRACE("(%d, %p)\n", mode, m );
5536   funcs->ext.p_glMatrixMultTransposedEXT( mode, m );
5537 }
5538
5539 static void WINAPI glMatrixMultTransposefEXT( GLenum mode, const GLfloat* m ) {
5540   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5541   TRACE("(%d, %p)\n", mode, m );
5542   funcs->ext.p_glMatrixMultTransposefEXT( mode, m );
5543 }
5544
5545 static void WINAPI glMatrixMultdEXT( GLenum mode, const GLdouble* m ) {
5546   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5547   TRACE("(%d, %p)\n", mode, m );
5548   funcs->ext.p_glMatrixMultdEXT( mode, m );
5549 }
5550
5551 static void WINAPI glMatrixMultfEXT( GLenum mode, const GLfloat* m ) {
5552   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5553   TRACE("(%d, %p)\n", mode, m );
5554   funcs->ext.p_glMatrixMultfEXT( mode, m );
5555 }
5556
5557 static void WINAPI glMatrixOrthoEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) {
5558   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5559   TRACE("(%d, %f, %f, %f, %f, %f, %f)\n", mode, left, right, bottom, top, zNear, zFar );
5560   funcs->ext.p_glMatrixOrthoEXT( mode, left, right, bottom, top, zNear, zFar );
5561 }
5562
5563 static void WINAPI glMatrixPopEXT( GLenum mode ) {
5564   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5565   TRACE("(%d)\n", mode );
5566   funcs->ext.p_glMatrixPopEXT( mode );
5567 }
5568
5569 static void WINAPI glMatrixPushEXT( GLenum mode ) {
5570   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5571   TRACE("(%d)\n", mode );
5572   funcs->ext.p_glMatrixPushEXT( mode );
5573 }
5574
5575 static void WINAPI glMatrixRotatedEXT( GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) {
5576   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5577   TRACE("(%d, %f, %f, %f, %f)\n", mode, angle, x, y, z );
5578   funcs->ext.p_glMatrixRotatedEXT( mode, angle, x, y, z );
5579 }
5580
5581 static void WINAPI glMatrixRotatefEXT( GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) {
5582   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5583   TRACE("(%d, %f, %f, %f, %f)\n", mode, angle, x, y, z );
5584   funcs->ext.p_glMatrixRotatefEXT( mode, angle, x, y, z );
5585 }
5586
5587 static void WINAPI glMatrixScaledEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z ) {
5588   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5589   TRACE("(%d, %f, %f, %f)\n", mode, x, y, z );
5590   funcs->ext.p_glMatrixScaledEXT( mode, x, y, z );
5591 }
5592
5593 static void WINAPI glMatrixScalefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z ) {
5594   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5595   TRACE("(%d, %f, %f, %f)\n", mode, x, y, z );
5596   funcs->ext.p_glMatrixScalefEXT( mode, x, y, z );
5597 }
5598
5599 static void WINAPI glMatrixTranslatedEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z ) {
5600   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5601   TRACE("(%d, %f, %f, %f)\n", mode, x, y, z );
5602   funcs->ext.p_glMatrixTranslatedEXT( mode, x, y, z );
5603 }
5604
5605 static void WINAPI glMatrixTranslatefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z ) {
5606   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5607   TRACE("(%d, %f, %f, %f)\n", mode, x, y, z );
5608   funcs->ext.p_glMatrixTranslatefEXT( mode, x, y, z );
5609 }
5610
5611 static void WINAPI glMemoryBarrier( GLbitfield barriers ) {
5612   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5613   TRACE("(%d)\n", barriers );
5614   funcs->ext.p_glMemoryBarrier( barriers );
5615 }
5616
5617 static void WINAPI glMemoryBarrierEXT( GLbitfield barriers ) {
5618   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5619   TRACE("(%d)\n", barriers );
5620   funcs->ext.p_glMemoryBarrierEXT( barriers );
5621 }
5622
5623 static void WINAPI glMinSampleShading( GLfloat value ) {
5624   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5625   TRACE("(%f)\n", value );
5626   funcs->ext.p_glMinSampleShading( value );
5627 }
5628
5629 static void WINAPI glMinSampleShadingARB( GLfloat value ) {
5630   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5631   TRACE("(%f)\n", value );
5632   funcs->ext.p_glMinSampleShadingARB( value );
5633 }
5634
5635 static void WINAPI glMinmax( GLenum target, GLenum internalformat, GLboolean sink ) {
5636   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5637   TRACE("(%d, %d, %d)\n", target, internalformat, sink );
5638   funcs->ext.p_glMinmax( target, internalformat, sink );
5639 }
5640
5641 static void WINAPI glMinmaxEXT( GLenum target, GLenum internalformat, GLboolean sink ) {
5642   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5643   TRACE("(%d, %d, %d)\n", target, internalformat, sink );
5644   funcs->ext.p_glMinmaxEXT( target, internalformat, sink );
5645 }
5646
5647 static void WINAPI glMultTransposeMatrixd( const GLdouble* m ) {
5648   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5649   TRACE("(%p)\n", m );
5650   funcs->ext.p_glMultTransposeMatrixd( m );
5651 }
5652
5653 static void WINAPI glMultTransposeMatrixdARB( const GLdouble* m ) {
5654   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5655   TRACE("(%p)\n", m );
5656   funcs->ext.p_glMultTransposeMatrixdARB( m );
5657 }
5658
5659 static void WINAPI glMultTransposeMatrixf( const GLfloat* m ) {
5660   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5661   TRACE("(%p)\n", m );
5662   funcs->ext.p_glMultTransposeMatrixf( m );
5663 }
5664
5665 static void WINAPI glMultTransposeMatrixfARB( const GLfloat* m ) {
5666   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5667   TRACE("(%p)\n", m );
5668   funcs->ext.p_glMultTransposeMatrixfARB( m );
5669 }
5670
5671 static void WINAPI glMultiDrawArrays( GLenum mode, const GLint* first, const GLsizei* count, GLsizei drawcount ) {
5672   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5673   TRACE("(%d, %p, %p, %d)\n", mode, first, count, drawcount );
5674   funcs->ext.p_glMultiDrawArrays( mode, first, count, drawcount );
5675 }
5676
5677 static void WINAPI glMultiDrawArraysEXT( GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount ) {
5678   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5679   TRACE("(%d, %p, %p, %d)\n", mode, first, count, primcount );
5680   funcs->ext.p_glMultiDrawArraysEXT( mode, first, count, primcount );
5681 }
5682
5683 static void WINAPI glMultiDrawArraysIndirect( GLenum mode, const void* indirect, GLsizei drawcount, GLsizei stride ) {
5684   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5685   TRACE("(%d, %p, %d, %d)\n", mode, indirect, drawcount, stride );
5686   funcs->ext.p_glMultiDrawArraysIndirect( mode, indirect, drawcount, stride );
5687 }
5688
5689 static void WINAPI glMultiDrawArraysIndirectAMD( GLenum mode, const GLvoid* indirect, GLsizei primcount, GLsizei stride ) {
5690   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5691   TRACE("(%d, %p, %d, %d)\n", mode, indirect, primcount, stride );
5692   funcs->ext.p_glMultiDrawArraysIndirectAMD( mode, indirect, primcount, stride );
5693 }
5694
5695 static void WINAPI glMultiDrawElementArrayAPPLE( GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount ) {
5696   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5697   TRACE("(%d, %p, %p, %d)\n", mode, first, count, primcount );
5698   funcs->ext.p_glMultiDrawElementArrayAPPLE( mode, first, count, primcount );
5699 }
5700
5701 static void WINAPI glMultiDrawElements( GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei drawcount ) {
5702   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5703   TRACE("(%d, %p, %d, %p, %d)\n", mode, count, type, indices, drawcount );
5704   funcs->ext.p_glMultiDrawElements( mode, count, type, indices, drawcount );
5705 }
5706
5707 static void WINAPI glMultiDrawElementsBaseVertex( GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei drawcount, const GLint* basevertex ) {
5708   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5709   TRACE("(%d, %p, %d, %p, %d, %p)\n", mode, count, type, indices, drawcount, basevertex );
5710   funcs->ext.p_glMultiDrawElementsBaseVertex( mode, count, type, indices, drawcount, basevertex );
5711 }
5712
5713 static void WINAPI glMultiDrawElementsEXT( GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount ) {
5714   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5715   TRACE("(%d, %p, %d, %p, %d)\n", mode, count, type, indices, primcount );
5716   funcs->ext.p_glMultiDrawElementsEXT( mode, count, type, indices, primcount );
5717 }
5718
5719 static void WINAPI glMultiDrawElementsIndirect( GLenum mode, GLenum type, const void* indirect, GLsizei drawcount, GLsizei stride ) {
5720   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5721   TRACE("(%d, %d, %p, %d, %d)\n", mode, type, indirect, drawcount, stride );
5722   funcs->ext.p_glMultiDrawElementsIndirect( mode, type, indirect, drawcount, stride );
5723 }
5724
5725 static void WINAPI glMultiDrawElementsIndirectAMD( GLenum mode, GLenum type, const GLvoid* indirect, GLsizei primcount, GLsizei stride ) {
5726   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5727   TRACE("(%d, %d, %p, %d, %d)\n", mode, type, indirect, primcount, stride );
5728   funcs->ext.p_glMultiDrawElementsIndirectAMD( mode, type, indirect, primcount, stride );
5729 }
5730
5731 static void WINAPI glMultiDrawRangeElementArrayAPPLE( GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei* count, GLsizei primcount ) {
5732   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5733   TRACE("(%d, %d, %d, %p, %p, %d)\n", mode, start, end, first, count, primcount );
5734   funcs->ext.p_glMultiDrawRangeElementArrayAPPLE( mode, start, end, first, count, primcount );
5735 }
5736
5737 static void WINAPI glMultiModeDrawArraysIBM( const GLenum* mode, const GLint* first, const GLsizei* count, GLsizei primcount, GLint modestride ) {
5738   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5739   TRACE("(%p, %p, %p, %d, %d)\n", mode, first, count, primcount, modestride );
5740   funcs->ext.p_glMultiModeDrawArraysIBM( mode, first, count, primcount, modestride );
5741 }
5742
5743 static void WINAPI glMultiModeDrawElementsIBM( const GLenum* mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount, GLint modestride ) {
5744   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5745   TRACE("(%p, %p, %d, %p, %d, %d)\n", mode, count, type, indices, primcount, modestride );
5746   funcs->ext.p_glMultiModeDrawElementsIBM( mode, count, type, indices, primcount, modestride );
5747 }
5748
5749 static void WINAPI glMultiTexBufferEXT( GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer ) {
5750   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5751   TRACE("(%d, %d, %d, %d)\n", texunit, target, internalformat, buffer );
5752   funcs->ext.p_glMultiTexBufferEXT( texunit, target, internalformat, buffer );
5753 }
5754
5755 static void WINAPI glMultiTexCoord1d( GLenum target, GLdouble s ) {
5756   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5757   TRACE("(%d, %f)\n", target, s );
5758   funcs->ext.p_glMultiTexCoord1d( target, s );
5759 }
5760
5761 static void WINAPI glMultiTexCoord1dARB( GLenum target, GLdouble s ) {
5762   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5763   TRACE("(%d, %f)\n", target, s );
5764   funcs->ext.p_glMultiTexCoord1dARB( target, s );
5765 }
5766
5767 static void WINAPI glMultiTexCoord1dSGIS( GLenum target, GLdouble s ) {
5768   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5769   TRACE("(%d, %f)\n", target, s );
5770   funcs->ext.p_glMultiTexCoord1dSGIS( target, s );
5771 }
5772
5773 static void WINAPI glMultiTexCoord1dv( GLenum target, const GLdouble* v ) {
5774   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5775   TRACE("(%d, %p)\n", target, v );
5776   funcs->ext.p_glMultiTexCoord1dv( target, v );
5777 }
5778
5779 static void WINAPI glMultiTexCoord1dvARB( GLenum target, const GLdouble* v ) {
5780   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5781   TRACE("(%d, %p)\n", target, v );
5782   funcs->ext.p_glMultiTexCoord1dvARB( target, v );
5783 }
5784
5785 static void WINAPI glMultiTexCoord1dvSGIS( GLenum target, GLdouble * v ) {
5786   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5787   TRACE("(%d, %p)\n", target, v );
5788   funcs->ext.p_glMultiTexCoord1dvSGIS( target, v );
5789 }
5790
5791 static void WINAPI glMultiTexCoord1f( GLenum target, GLfloat s ) {
5792   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5793   TRACE("(%d, %f)\n", target, s );
5794   funcs->ext.p_glMultiTexCoord1f( target, s );
5795 }
5796
5797 static void WINAPI glMultiTexCoord1fARB( GLenum target, GLfloat s ) {
5798   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5799   TRACE("(%d, %f)\n", target, s );
5800   funcs->ext.p_glMultiTexCoord1fARB( target, s );
5801 }
5802
5803 static void WINAPI glMultiTexCoord1fSGIS( GLenum target, GLfloat s ) {
5804   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5805   TRACE("(%d, %f)\n", target, s );
5806   funcs->ext.p_glMultiTexCoord1fSGIS( target, s );
5807 }
5808
5809 static void WINAPI glMultiTexCoord1fv( GLenum target, const GLfloat* v ) {
5810   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5811   TRACE("(%d, %p)\n", target, v );
5812   funcs->ext.p_glMultiTexCoord1fv( target, v );
5813 }
5814
5815 static void WINAPI glMultiTexCoord1fvARB( GLenum target, const GLfloat* v ) {
5816   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5817   TRACE("(%d, %p)\n", target, v );
5818   funcs->ext.p_glMultiTexCoord1fvARB( target, v );
5819 }
5820
5821 static void WINAPI glMultiTexCoord1fvSGIS( GLenum target, const GLfloat * v ) {
5822   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5823   TRACE("(%d, %p)\n", target, v );
5824   funcs->ext.p_glMultiTexCoord1fvSGIS( target, v );
5825 }
5826
5827 static void WINAPI glMultiTexCoord1hNV( GLenum target, GLhalfNV s ) {
5828   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5829   TRACE("(%d, %d)\n", target, s );
5830   funcs->ext.p_glMultiTexCoord1hNV( target, s );
5831 }
5832
5833 static void WINAPI glMultiTexCoord1hvNV( GLenum target, const GLhalfNV* v ) {
5834   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5835   TRACE("(%d, %p)\n", target, v );
5836   funcs->ext.p_glMultiTexCoord1hvNV( target, v );
5837 }
5838
5839 static void WINAPI glMultiTexCoord1i( GLenum target, GLint s ) {
5840   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5841   TRACE("(%d, %d)\n", target, s );
5842   funcs->ext.p_glMultiTexCoord1i( target, s );
5843 }
5844
5845 static void WINAPI glMultiTexCoord1iARB( GLenum target, GLint s ) {
5846   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5847   TRACE("(%d, %d)\n", target, s );
5848   funcs->ext.p_glMultiTexCoord1iARB( target, s );
5849 }
5850
5851 static void WINAPI glMultiTexCoord1iSGIS( GLenum target, GLint s ) {
5852   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5853   TRACE("(%d, %d)\n", target, s );
5854   funcs->ext.p_glMultiTexCoord1iSGIS( target, s );
5855 }
5856
5857 static void WINAPI glMultiTexCoord1iv( GLenum target, const GLint* v ) {
5858   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5859   TRACE("(%d, %p)\n", target, v );
5860   funcs->ext.p_glMultiTexCoord1iv( target, v );
5861 }
5862
5863 static void WINAPI glMultiTexCoord1ivARB( GLenum target, const GLint* v ) {
5864   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5865   TRACE("(%d, %p)\n", target, v );
5866   funcs->ext.p_glMultiTexCoord1ivARB( target, v );
5867 }
5868
5869 static void WINAPI glMultiTexCoord1ivSGIS( GLenum target, GLint * v ) {
5870   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5871   TRACE("(%d, %p)\n", target, v );
5872   funcs->ext.p_glMultiTexCoord1ivSGIS( target, v );
5873 }
5874
5875 static void WINAPI glMultiTexCoord1s( GLenum target, GLshort s ) {
5876   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5877   TRACE("(%d, %d)\n", target, s );
5878   funcs->ext.p_glMultiTexCoord1s( target, s );
5879 }
5880
5881 static void WINAPI glMultiTexCoord1sARB( GLenum target, GLshort s ) {
5882   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5883   TRACE("(%d, %d)\n", target, s );
5884   funcs->ext.p_glMultiTexCoord1sARB( target, s );
5885 }
5886
5887 static void WINAPI glMultiTexCoord1sSGIS( GLenum target, GLshort s ) {
5888   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5889   TRACE("(%d, %d)\n", target, s );
5890   funcs->ext.p_glMultiTexCoord1sSGIS( target, s );
5891 }
5892
5893 static void WINAPI glMultiTexCoord1sv( GLenum target, const GLshort* v ) {
5894   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5895   TRACE("(%d, %p)\n", target, v );
5896   funcs->ext.p_glMultiTexCoord1sv( target, v );
5897 }
5898
5899 static void WINAPI glMultiTexCoord1svARB( GLenum target, const GLshort* v ) {
5900   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5901   TRACE("(%d, %p)\n", target, v );
5902   funcs->ext.p_glMultiTexCoord1svARB( target, v );
5903 }
5904
5905 static void WINAPI glMultiTexCoord1svSGIS( GLenum target, GLshort * v ) {
5906   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5907   TRACE("(%d, %p)\n", target, v );
5908   funcs->ext.p_glMultiTexCoord1svSGIS( target, v );
5909 }
5910
5911 static void WINAPI glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t ) {
5912   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5913   TRACE("(%d, %f, %f)\n", target, s, t );
5914   funcs->ext.p_glMultiTexCoord2d( target, s, t );
5915 }
5916
5917 static void WINAPI glMultiTexCoord2dARB( GLenum target, GLdouble s, GLdouble t ) {
5918   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5919   TRACE("(%d, %f, %f)\n", target, s, t );
5920   funcs->ext.p_glMultiTexCoord2dARB( target, s, t );
5921 }
5922
5923 static void WINAPI glMultiTexCoord2dSGIS( GLenum target, GLdouble s, GLdouble t ) {
5924   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5925   TRACE("(%d, %f, %f)\n", target, s, t );
5926   funcs->ext.p_glMultiTexCoord2dSGIS( target, s, t );
5927 }
5928
5929 static void WINAPI glMultiTexCoord2dv( GLenum target, const GLdouble* v ) {
5930   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5931   TRACE("(%d, %p)\n", target, v );
5932   funcs->ext.p_glMultiTexCoord2dv( target, v );
5933 }
5934
5935 static void WINAPI glMultiTexCoord2dvARB( GLenum target, const GLdouble* v ) {
5936   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5937   TRACE("(%d, %p)\n", target, v );
5938   funcs->ext.p_glMultiTexCoord2dvARB( target, v );
5939 }
5940
5941 static void WINAPI glMultiTexCoord2dvSGIS( GLenum target, GLdouble * v ) {
5942   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5943   TRACE("(%d, %p)\n", target, v );
5944   funcs->ext.p_glMultiTexCoord2dvSGIS( target, v );
5945 }
5946
5947 static void WINAPI glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t ) {
5948   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5949   TRACE("(%d, %f, %f)\n", target, s, t );
5950   funcs->ext.p_glMultiTexCoord2f( target, s, t );
5951 }
5952
5953 static void WINAPI glMultiTexCoord2fARB( GLenum target, GLfloat s, GLfloat t ) {
5954   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5955   TRACE("(%d, %f, %f)\n", target, s, t );
5956   funcs->ext.p_glMultiTexCoord2fARB( target, s, t );
5957 }
5958
5959 static void WINAPI glMultiTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) {
5960   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5961   TRACE("(%d, %f, %f)\n", target, s, t );
5962   funcs->ext.p_glMultiTexCoord2fSGIS( target, s, t );
5963 }
5964
5965 static void WINAPI glMultiTexCoord2fv( GLenum target, const GLfloat* v ) {
5966   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5967   TRACE("(%d, %p)\n", target, v );
5968   funcs->ext.p_glMultiTexCoord2fv( target, v );
5969 }
5970
5971 static void WINAPI glMultiTexCoord2fvARB( GLenum target, const GLfloat* v ) {
5972   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5973   TRACE("(%d, %p)\n", target, v );
5974   funcs->ext.p_glMultiTexCoord2fvARB( target, v );
5975 }
5976
5977 static void WINAPI glMultiTexCoord2fvSGIS( GLenum target, GLfloat * v ) {
5978   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5979   TRACE("(%d, %p)\n", target, v );
5980   funcs->ext.p_glMultiTexCoord2fvSGIS( target, v );
5981 }
5982
5983 static void WINAPI glMultiTexCoord2hNV( GLenum target, GLhalfNV s, GLhalfNV t ) {
5984   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5985   TRACE("(%d, %d, %d)\n", target, s, t );
5986   funcs->ext.p_glMultiTexCoord2hNV( target, s, t );
5987 }
5988
5989 static void WINAPI glMultiTexCoord2hvNV( GLenum target, const GLhalfNV* v ) {
5990   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5991   TRACE("(%d, %p)\n", target, v );
5992   funcs->ext.p_glMultiTexCoord2hvNV( target, v );
5993 }
5994
5995 static void WINAPI glMultiTexCoord2i( GLenum target, GLint s, GLint t ) {
5996   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
5997   TRACE("(%d, %d, %d)\n", target, s, t );
5998   funcs->ext.p_glMultiTexCoord2i( target, s, t );
5999 }
6000
6001 static void WINAPI glMultiTexCoord2iARB( GLenum target, GLint s, GLint t ) {
6002   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6003   TRACE("(%d, %d, %d)\n", target, s, t );
6004   funcs->ext.p_glMultiTexCoord2iARB( target, s, t );
6005 }
6006
6007 static void WINAPI glMultiTexCoord2iSGIS( GLenum target, GLint s, GLint t ) {
6008   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6009   TRACE("(%d, %d, %d)\n", target, s, t );
6010   funcs->ext.p_glMultiTexCoord2iSGIS( target, s, t );
6011 }
6012
6013 static void WINAPI glMultiTexCoord2iv( GLenum target, const GLint* v ) {
6014   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6015   TRACE("(%d, %p)\n", target, v );
6016   funcs->ext.p_glMultiTexCoord2iv( target, v );
6017 }
6018
6019 static void WINAPI glMultiTexCoord2ivARB( GLenum target, const GLint* v ) {
6020   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6021   TRACE("(%d, %p)\n", target, v );
6022   funcs->ext.p_glMultiTexCoord2ivARB( target, v );
6023 }
6024
6025 static void WINAPI glMultiTexCoord2ivSGIS( GLenum target, GLint * v ) {
6026   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6027   TRACE("(%d, %p)\n", target, v );
6028   funcs->ext.p_glMultiTexCoord2ivSGIS( target, v );
6029 }
6030
6031 static void WINAPI glMultiTexCoord2s( GLenum target, GLshort s, GLshort t ) {
6032   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6033   TRACE("(%d, %d, %d)\n", target, s, t );
6034   funcs->ext.p_glMultiTexCoord2s( target, s, t );
6035 }
6036
6037 static void WINAPI glMultiTexCoord2sARB( GLenum target, GLshort s, GLshort t ) {
6038   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6039   TRACE("(%d, %d, %d)\n", target, s, t );
6040   funcs->ext.p_glMultiTexCoord2sARB( target, s, t );
6041 }
6042
6043 static void WINAPI glMultiTexCoord2sSGIS( GLenum target, GLshort s, GLshort t ) {
6044   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6045   TRACE("(%d, %d, %d)\n", target, s, t );
6046   funcs->ext.p_glMultiTexCoord2sSGIS( target, s, t );
6047 }
6048
6049 static void WINAPI glMultiTexCoord2sv( GLenum target, const GLshort* v ) {
6050   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6051   TRACE("(%d, %p)\n", target, v );
6052   funcs->ext.p_glMultiTexCoord2sv( target, v );
6053 }
6054
6055 static void WINAPI glMultiTexCoord2svARB( GLenum target, const GLshort* v ) {
6056   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6057   TRACE("(%d, %p)\n", target, v );
6058   funcs->ext.p_glMultiTexCoord2svARB( target, v );
6059 }
6060
6061 static void WINAPI glMultiTexCoord2svSGIS( GLenum target, GLshort * v ) {
6062   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6063   TRACE("(%d, %p)\n", target, v );
6064   funcs->ext.p_glMultiTexCoord2svSGIS( target, v );
6065 }
6066
6067 static void WINAPI glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r ) {
6068   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6069   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6070   funcs->ext.p_glMultiTexCoord3d( target, s, t, r );
6071 }
6072
6073 static void WINAPI glMultiTexCoord3dARB( GLenum target, GLdouble s, GLdouble t, GLdouble r ) {
6074   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6075   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6076   funcs->ext.p_glMultiTexCoord3dARB( target, s, t, r );
6077 }
6078
6079 static void WINAPI glMultiTexCoord3dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r ) {
6080   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6081   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6082   funcs->ext.p_glMultiTexCoord3dSGIS( target, s, t, r );
6083 }
6084
6085 static void WINAPI glMultiTexCoord3dv( GLenum target, const GLdouble* v ) {
6086   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6087   TRACE("(%d, %p)\n", target, v );
6088   funcs->ext.p_glMultiTexCoord3dv( target, v );
6089 }
6090
6091 static void WINAPI glMultiTexCoord3dvARB( GLenum target, const GLdouble* v ) {
6092   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6093   TRACE("(%d, %p)\n", target, v );
6094   funcs->ext.p_glMultiTexCoord3dvARB( target, v );
6095 }
6096
6097 static void WINAPI glMultiTexCoord3dvSGIS( GLenum target, GLdouble * v ) {
6098   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6099   TRACE("(%d, %p)\n", target, v );
6100   funcs->ext.p_glMultiTexCoord3dvSGIS( target, v );
6101 }
6102
6103 static void WINAPI glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r ) {
6104   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6105   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6106   funcs->ext.p_glMultiTexCoord3f( target, s, t, r );
6107 }
6108
6109 static void WINAPI glMultiTexCoord3fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r ) {
6110   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6111   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6112   funcs->ext.p_glMultiTexCoord3fARB( target, s, t, r );
6113 }
6114
6115 static void WINAPI glMultiTexCoord3fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r ) {
6116   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6117   TRACE("(%d, %f, %f, %f)\n", target, s, t, r );
6118   funcs->ext.p_glMultiTexCoord3fSGIS( target, s, t, r );
6119 }
6120
6121 static void WINAPI glMultiTexCoord3fv( GLenum target, const GLfloat* v ) {
6122   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6123   TRACE("(%d, %p)\n", target, v );
6124   funcs->ext.p_glMultiTexCoord3fv( target, v );
6125 }
6126
6127 static void WINAPI glMultiTexCoord3fvARB( GLenum target, const GLfloat* v ) {
6128   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6129   TRACE("(%d, %p)\n", target, v );
6130   funcs->ext.p_glMultiTexCoord3fvARB( target, v );
6131 }
6132
6133 static void WINAPI glMultiTexCoord3fvSGIS( GLenum target, GLfloat * v ) {
6134   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6135   TRACE("(%d, %p)\n", target, v );
6136   funcs->ext.p_glMultiTexCoord3fvSGIS( target, v );
6137 }
6138
6139 static void WINAPI glMultiTexCoord3hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r ) {
6140   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6141   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6142   funcs->ext.p_glMultiTexCoord3hNV( target, s, t, r );
6143 }
6144
6145 static void WINAPI glMultiTexCoord3hvNV( GLenum target, const GLhalfNV* v ) {
6146   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6147   TRACE("(%d, %p)\n", target, v );
6148   funcs->ext.p_glMultiTexCoord3hvNV( target, v );
6149 }
6150
6151 static void WINAPI glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r ) {
6152   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6153   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6154   funcs->ext.p_glMultiTexCoord3i( target, s, t, r );
6155 }
6156
6157 static void WINAPI glMultiTexCoord3iARB( GLenum target, GLint s, GLint t, GLint r ) {
6158   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6159   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6160   funcs->ext.p_glMultiTexCoord3iARB( target, s, t, r );
6161 }
6162
6163 static void WINAPI glMultiTexCoord3iSGIS( GLenum target, GLint s, GLint t, GLint r ) {
6164   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6165   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6166   funcs->ext.p_glMultiTexCoord3iSGIS( target, s, t, r );
6167 }
6168
6169 static void WINAPI glMultiTexCoord3iv( GLenum target, const GLint* v ) {
6170   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6171   TRACE("(%d, %p)\n", target, v );
6172   funcs->ext.p_glMultiTexCoord3iv( target, v );
6173 }
6174
6175 static void WINAPI glMultiTexCoord3ivARB( GLenum target, const GLint* v ) {
6176   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6177   TRACE("(%d, %p)\n", target, v );
6178   funcs->ext.p_glMultiTexCoord3ivARB( target, v );
6179 }
6180
6181 static void WINAPI glMultiTexCoord3ivSGIS( GLenum target, GLint * v ) {
6182   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6183   TRACE("(%d, %p)\n", target, v );
6184   funcs->ext.p_glMultiTexCoord3ivSGIS( target, v );
6185 }
6186
6187 static void WINAPI glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r ) {
6188   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6189   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6190   funcs->ext.p_glMultiTexCoord3s( target, s, t, r );
6191 }
6192
6193 static void WINAPI glMultiTexCoord3sARB( GLenum target, GLshort s, GLshort t, GLshort r ) {
6194   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6195   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6196   funcs->ext.p_glMultiTexCoord3sARB( target, s, t, r );
6197 }
6198
6199 static void WINAPI glMultiTexCoord3sSGIS( GLenum target, GLshort s, GLshort t, GLshort r ) {
6200   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6201   TRACE("(%d, %d, %d, %d)\n", target, s, t, r );
6202   funcs->ext.p_glMultiTexCoord3sSGIS( target, s, t, r );
6203 }
6204
6205 static void WINAPI glMultiTexCoord3sv( GLenum target, const GLshort* v ) {
6206   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6207   TRACE("(%d, %p)\n", target, v );
6208   funcs->ext.p_glMultiTexCoord3sv( target, v );
6209 }
6210
6211 static void WINAPI glMultiTexCoord3svARB( GLenum target, const GLshort* v ) {
6212   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6213   TRACE("(%d, %p)\n", target, v );
6214   funcs->ext.p_glMultiTexCoord3svARB( target, v );
6215 }
6216
6217 static void WINAPI glMultiTexCoord3svSGIS( GLenum target, GLshort * v ) {
6218   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6219   TRACE("(%d, %p)\n", target, v );
6220   funcs->ext.p_glMultiTexCoord3svSGIS( target, v );
6221 }
6222
6223 static void WINAPI glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) {
6224   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6225   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6226   funcs->ext.p_glMultiTexCoord4d( target, s, t, r, q );
6227 }
6228
6229 static void WINAPI glMultiTexCoord4dARB( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) {
6230   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6231   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6232   funcs->ext.p_glMultiTexCoord4dARB( target, s, t, r, q );
6233 }
6234
6235 static void WINAPI glMultiTexCoord4dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) {
6236   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6237   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6238   funcs->ext.p_glMultiTexCoord4dSGIS( target, s, t, r, q );
6239 }
6240
6241 static void WINAPI glMultiTexCoord4dv( GLenum target, const GLdouble* v ) {
6242   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6243   TRACE("(%d, %p)\n", target, v );
6244   funcs->ext.p_glMultiTexCoord4dv( target, v );
6245 }
6246
6247 static void WINAPI glMultiTexCoord4dvARB( GLenum target, const GLdouble* v ) {
6248   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6249   TRACE("(%d, %p)\n", target, v );
6250   funcs->ext.p_glMultiTexCoord4dvARB( target, v );
6251 }
6252
6253 static void WINAPI glMultiTexCoord4dvSGIS( GLenum target, GLdouble * v ) {
6254   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6255   TRACE("(%d, %p)\n", target, v );
6256   funcs->ext.p_glMultiTexCoord4dvSGIS( target, v );
6257 }
6258
6259 static void WINAPI glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) {
6260   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6261   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6262   funcs->ext.p_glMultiTexCoord4f( target, s, t, r, q );
6263 }
6264
6265 static void WINAPI glMultiTexCoord4fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) {
6266   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6267   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6268   funcs->ext.p_glMultiTexCoord4fARB( target, s, t, r, q );
6269 }
6270
6271 static void WINAPI glMultiTexCoord4fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) {
6272   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6273   TRACE("(%d, %f, %f, %f, %f)\n", target, s, t, r, q );
6274   funcs->ext.p_glMultiTexCoord4fSGIS( target, s, t, r, q );
6275 }
6276
6277 static void WINAPI glMultiTexCoord4fv( GLenum target, const GLfloat* v ) {
6278   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6279   TRACE("(%d, %p)\n", target, v );
6280   funcs->ext.p_glMultiTexCoord4fv( target, v );
6281 }
6282
6283 static void WINAPI glMultiTexCoord4fvARB( GLenum target, const GLfloat* v ) {
6284   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6285   TRACE("(%d, %p)\n", target, v );
6286   funcs->ext.p_glMultiTexCoord4fvARB( target, v );
6287 }
6288
6289 static void WINAPI glMultiTexCoord4fvSGIS( GLenum target, GLfloat * v ) {
6290   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6291   TRACE("(%d, %p)\n", target, v );
6292   funcs->ext.p_glMultiTexCoord4fvSGIS( target, v );
6293 }
6294
6295 static void WINAPI glMultiTexCoord4hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q ) {
6296   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6297   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6298   funcs->ext.p_glMultiTexCoord4hNV( target, s, t, r, q );
6299 }
6300
6301 static void WINAPI glMultiTexCoord4hvNV( GLenum target, const GLhalfNV* v ) {
6302   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6303   TRACE("(%d, %p)\n", target, v );
6304   funcs->ext.p_glMultiTexCoord4hvNV( target, v );
6305 }
6306
6307 static void WINAPI glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q ) {
6308   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6309   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6310   funcs->ext.p_glMultiTexCoord4i( target, s, t, r, q );
6311 }
6312
6313 static void WINAPI glMultiTexCoord4iARB( GLenum target, GLint s, GLint t, GLint r, GLint q ) {
6314   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6315   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6316   funcs->ext.p_glMultiTexCoord4iARB( target, s, t, r, q );
6317 }
6318
6319 static void WINAPI glMultiTexCoord4iSGIS( GLenum target, GLint s, GLint t, GLint r, GLint q ) {
6320   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6321   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6322   funcs->ext.p_glMultiTexCoord4iSGIS( target, s, t, r, q );
6323 }
6324
6325 static void WINAPI glMultiTexCoord4iv( GLenum target, const GLint* v ) {
6326   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6327   TRACE("(%d, %p)\n", target, v );
6328   funcs->ext.p_glMultiTexCoord4iv( target, v );
6329 }
6330
6331 static void WINAPI glMultiTexCoord4ivARB( GLenum target, const GLint* v ) {
6332   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6333   TRACE("(%d, %p)\n", target, v );
6334   funcs->ext.p_glMultiTexCoord4ivARB( target, v );
6335 }
6336
6337 static void WINAPI glMultiTexCoord4ivSGIS( GLenum target, GLint * v ) {
6338   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6339   TRACE("(%d, %p)\n", target, v );
6340   funcs->ext.p_glMultiTexCoord4ivSGIS( target, v );
6341 }
6342
6343 static void WINAPI glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) {
6344   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6345   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6346   funcs->ext.p_glMultiTexCoord4s( target, s, t, r, q );
6347 }
6348
6349 static void WINAPI glMultiTexCoord4sARB( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) {
6350   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6351   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6352   funcs->ext.p_glMultiTexCoord4sARB( target, s, t, r, q );
6353 }
6354
6355 static void WINAPI glMultiTexCoord4sSGIS( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) {
6356   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6357   TRACE("(%d, %d, %d, %d, %d)\n", target, s, t, r, q );
6358   funcs->ext.p_glMultiTexCoord4sSGIS( target, s, t, r, q );
6359 }
6360
6361 static void WINAPI glMultiTexCoord4sv( GLenum target, const GLshort* v ) {
6362   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6363   TRACE("(%d, %p)\n", target, v );
6364   funcs->ext.p_glMultiTexCoord4sv( target, v );
6365 }
6366
6367 static void WINAPI glMultiTexCoord4svARB( GLenum target, const GLshort* v ) {
6368   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6369   TRACE("(%d, %p)\n", target, v );
6370   funcs->ext.p_glMultiTexCoord4svARB( target, v );
6371 }
6372
6373 static void WINAPI glMultiTexCoord4svSGIS( GLenum target, GLshort * v ) {
6374   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6375   TRACE("(%d, %p)\n", target, v );
6376   funcs->ext.p_glMultiTexCoord4svSGIS( target, v );
6377 }
6378
6379 static void WINAPI glMultiTexCoordP1ui( GLenum texture, GLenum type, GLuint coords ) {
6380   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6381   TRACE("(%d, %d, %d)\n", texture, type, coords );
6382   funcs->ext.p_glMultiTexCoordP1ui( texture, type, coords );
6383 }
6384
6385 static void WINAPI glMultiTexCoordP1uiv( GLenum texture, GLenum type, const GLuint* coords ) {
6386   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6387   TRACE("(%d, %d, %p)\n", texture, type, coords );
6388   funcs->ext.p_glMultiTexCoordP1uiv( texture, type, coords );
6389 }
6390
6391 static void WINAPI glMultiTexCoordP2ui( GLenum texture, GLenum type, GLuint coords ) {
6392   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6393   TRACE("(%d, %d, %d)\n", texture, type, coords );
6394   funcs->ext.p_glMultiTexCoordP2ui( texture, type, coords );
6395 }
6396
6397 static void WINAPI glMultiTexCoordP2uiv( GLenum texture, GLenum type, const GLuint* coords ) {
6398   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6399   TRACE("(%d, %d, %p)\n", texture, type, coords );
6400   funcs->ext.p_glMultiTexCoordP2uiv( texture, type, coords );
6401 }
6402
6403 static void WINAPI glMultiTexCoordP3ui( GLenum texture, GLenum type, GLuint coords ) {
6404   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6405   TRACE("(%d, %d, %d)\n", texture, type, coords );
6406   funcs->ext.p_glMultiTexCoordP3ui( texture, type, coords );
6407 }
6408
6409 static void WINAPI glMultiTexCoordP3uiv( GLenum texture, GLenum type, const GLuint* coords ) {
6410   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6411   TRACE("(%d, %d, %p)\n", texture, type, coords );
6412   funcs->ext.p_glMultiTexCoordP3uiv( texture, type, coords );
6413 }
6414
6415 static void WINAPI glMultiTexCoordP4ui( GLenum texture, GLenum type, GLuint coords ) {
6416   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6417   TRACE("(%d, %d, %d)\n", texture, type, coords );
6418   funcs->ext.p_glMultiTexCoordP4ui( texture, type, coords );
6419 }
6420
6421 static void WINAPI glMultiTexCoordP4uiv( GLenum texture, GLenum type, const GLuint* coords ) {
6422   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6423   TRACE("(%d, %d, %p)\n", texture, type, coords );
6424   funcs->ext.p_glMultiTexCoordP4uiv( texture, type, coords );
6425 }
6426
6427 static void WINAPI glMultiTexCoordPointerEXT( GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
6428   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6429   TRACE("(%d, %d, %d, %d, %p)\n", texunit, size, type, stride, pointer );
6430   funcs->ext.p_glMultiTexCoordPointerEXT( texunit, size, type, stride, pointer );
6431 }
6432
6433 static void WINAPI glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid * pointer ) {
6434   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6435   TRACE("(%d, %d, %d, %d, %p)\n", target, size, type, stride, pointer );
6436   funcs->ext.p_glMultiTexCoordPointerSGIS( target, size, type, stride, pointer );
6437 }
6438
6439 static void WINAPI glMultiTexEnvfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param ) {
6440   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6441   TRACE("(%d, %d, %d, %f)\n", texunit, target, pname, param );
6442   funcs->ext.p_glMultiTexEnvfEXT( texunit, target, pname, param );
6443 }
6444
6445 static void WINAPI glMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat* params ) {
6446   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6447   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6448   funcs->ext.p_glMultiTexEnvfvEXT( texunit, target, pname, params );
6449 }
6450
6451 static void WINAPI glMultiTexEnviEXT( GLenum texunit, GLenum target, GLenum pname, GLint param ) {
6452   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6453   TRACE("(%d, %d, %d, %d)\n", texunit, target, pname, param );
6454   funcs->ext.p_glMultiTexEnviEXT( texunit, target, pname, param );
6455 }
6456
6457 static void WINAPI glMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint* params ) {
6458   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6459   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6460   funcs->ext.p_glMultiTexEnvivEXT( texunit, target, pname, params );
6461 }
6462
6463 static void WINAPI glMultiTexGendEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble param ) {
6464   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6465   TRACE("(%d, %d, %d, %f)\n", texunit, coord, pname, param );
6466   funcs->ext.p_glMultiTexGendEXT( texunit, coord, pname, param );
6467 }
6468
6469 static void WINAPI glMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params ) {
6470   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6471   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
6472   funcs->ext.p_glMultiTexGendvEXT( texunit, coord, pname, params );
6473 }
6474
6475 static void WINAPI glMultiTexGenfEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat param ) {
6476   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6477   TRACE("(%d, %d, %d, %f)\n", texunit, coord, pname, param );
6478   funcs->ext.p_glMultiTexGenfEXT( texunit, coord, pname, param );
6479 }
6480
6481 static void WINAPI glMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params ) {
6482   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6483   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
6484   funcs->ext.p_glMultiTexGenfvEXT( texunit, coord, pname, params );
6485 }
6486
6487 static void WINAPI glMultiTexGeniEXT( GLenum texunit, GLenum coord, GLenum pname, GLint param ) {
6488   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6489   TRACE("(%d, %d, %d, %d)\n", texunit, coord, pname, param );
6490   funcs->ext.p_glMultiTexGeniEXT( texunit, coord, pname, param );
6491 }
6492
6493 static void WINAPI glMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, const GLint* params ) {
6494   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6495   TRACE("(%d, %d, %d, %p)\n", texunit, coord, pname, params );
6496   funcs->ext.p_glMultiTexGenivEXT( texunit, coord, pname, params );
6497 }
6498
6499 static void WINAPI glMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
6500   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6501   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, border, format, type, pixels );
6502   funcs->ext.p_glMultiTexImage1DEXT( texunit, target, level, internalformat, width, border, format, type, pixels );
6503 }
6504
6505 static void WINAPI glMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
6506   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6507   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, height, border, format, type, pixels );
6508   funcs->ext.p_glMultiTexImage2DEXT( texunit, target, level, internalformat, width, height, border, format, type, pixels );
6509 }
6510
6511 static void WINAPI glMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
6512   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6513   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, internalformat, width, height, depth, border, format, type, pixels );
6514   funcs->ext.p_glMultiTexImage3DEXT( texunit, target, level, internalformat, width, height, depth, border, format, type, pixels );
6515 }
6516
6517 static void WINAPI glMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint* params ) {
6518   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6519   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6520   funcs->ext.p_glMultiTexParameterIivEXT( texunit, target, pname, params );
6521 }
6522
6523 static void WINAPI glMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, const GLuint* params ) {
6524   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6525   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6526   funcs->ext.p_glMultiTexParameterIuivEXT( texunit, target, pname, params );
6527 }
6528
6529 static void WINAPI glMultiTexParameterfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param ) {
6530   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6531   TRACE("(%d, %d, %d, %f)\n", texunit, target, pname, param );
6532   funcs->ext.p_glMultiTexParameterfEXT( texunit, target, pname, param );
6533 }
6534
6535 static void WINAPI glMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat* params ) {
6536   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6537   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6538   funcs->ext.p_glMultiTexParameterfvEXT( texunit, target, pname, params );
6539 }
6540
6541 static void WINAPI glMultiTexParameteriEXT( GLenum texunit, GLenum target, GLenum pname, GLint param ) {
6542   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6543   TRACE("(%d, %d, %d, %d)\n", texunit, target, pname, param );
6544   funcs->ext.p_glMultiTexParameteriEXT( texunit, target, pname, param );
6545 }
6546
6547 static void WINAPI glMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint* params ) {
6548   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6549   TRACE("(%d, %d, %d, %p)\n", texunit, target, pname, params );
6550   funcs->ext.p_glMultiTexParameterivEXT( texunit, target, pname, params );
6551 }
6552
6553 static void WINAPI glMultiTexRenderbufferEXT( GLenum texunit, GLenum target, GLuint renderbuffer ) {
6554   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6555   TRACE("(%d, %d, %d)\n", texunit, target, renderbuffer );
6556   funcs->ext.p_glMultiTexRenderbufferEXT( texunit, target, renderbuffer );
6557 }
6558
6559 static void WINAPI glMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid* pixels ) {
6560   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6561   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, width, format, type, pixels );
6562   funcs->ext.p_glMultiTexSubImage1DEXT( texunit, target, level, xoffset, width, format, type, pixels );
6563 }
6564
6565 static void WINAPI glMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels ) {
6566   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6567   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, yoffset, width, height, format, type, pixels );
6568   funcs->ext.p_glMultiTexSubImage2DEXT( texunit, target, level, xoffset, yoffset, width, height, format, type, pixels );
6569 }
6570
6571 static void WINAPI glMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels ) {
6572   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6573   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
6574   funcs->ext.p_glMultiTexSubImage3DEXT( texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
6575 }
6576
6577 static void WINAPI glNamedBufferDataEXT( GLuint buffer, GLsizeiptr size, const GLvoid* data, GLenum usage ) {
6578   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6579   TRACE("(%d, %ld, %p, %d)\n", buffer, size, data, usage );
6580   funcs->ext.p_glNamedBufferDataEXT( buffer, size, data, usage );
6581 }
6582
6583 static void WINAPI glNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid* data ) {
6584   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6585   TRACE("(%d, %ld, %ld, %p)\n", buffer, offset, size, data );
6586   funcs->ext.p_glNamedBufferSubDataEXT( buffer, offset, size, data );
6587 }
6588
6589 static void WINAPI glNamedCopyBufferSubDataEXT( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) {
6590   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6591   TRACE("(%d, %d, %ld, %ld, %ld)\n", readBuffer, writeBuffer, readOffset, writeOffset, size );
6592   funcs->ext.p_glNamedCopyBufferSubDataEXT( readBuffer, writeBuffer, readOffset, writeOffset, size );
6593 }
6594
6595 static void WINAPI glNamedFramebufferParameteriEXT( GLuint framebuffer, GLenum pname, GLint param ) {
6596   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6597   TRACE("(%d, %d, %d)\n", framebuffer, pname, param );
6598   funcs->ext.p_glNamedFramebufferParameteriEXT( framebuffer, pname, param );
6599 }
6600
6601 static void WINAPI glNamedFramebufferRenderbufferEXT( GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) {
6602   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6603   TRACE("(%d, %d, %d, %d)\n", framebuffer, attachment, renderbuffertarget, renderbuffer );
6604   funcs->ext.p_glNamedFramebufferRenderbufferEXT( framebuffer, attachment, renderbuffertarget, renderbuffer );
6605 }
6606
6607 static void WINAPI glNamedFramebufferTexture1DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
6608   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6609   TRACE("(%d, %d, %d, %d, %d)\n", framebuffer, attachment, textarget, texture, level );
6610   funcs->ext.p_glNamedFramebufferTexture1DEXT( framebuffer, attachment, textarget, texture, level );
6611 }
6612
6613 static void WINAPI glNamedFramebufferTexture2DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) {
6614   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6615   TRACE("(%d, %d, %d, %d, %d)\n", framebuffer, attachment, textarget, texture, level );
6616   funcs->ext.p_glNamedFramebufferTexture2DEXT( framebuffer, attachment, textarget, texture, level );
6617 }
6618
6619 static void WINAPI glNamedFramebufferTexture3DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) {
6620   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6621   TRACE("(%d, %d, %d, %d, %d, %d)\n", framebuffer, attachment, textarget, texture, level, zoffset );
6622   funcs->ext.p_glNamedFramebufferTexture3DEXT( framebuffer, attachment, textarget, texture, level, zoffset );
6623 }
6624
6625 static void WINAPI glNamedFramebufferTextureEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level ) {
6626   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6627   TRACE("(%d, %d, %d, %d)\n", framebuffer, attachment, texture, level );
6628   funcs->ext.p_glNamedFramebufferTextureEXT( framebuffer, attachment, texture, level );
6629 }
6630
6631 static void WINAPI glNamedFramebufferTextureFaceEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face ) {
6632   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6633   TRACE("(%d, %d, %d, %d, %d)\n", framebuffer, attachment, texture, level, face );
6634   funcs->ext.p_glNamedFramebufferTextureFaceEXT( framebuffer, attachment, texture, level, face );
6635 }
6636
6637 static void WINAPI glNamedFramebufferTextureLayerEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer ) {
6638   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6639   TRACE("(%d, %d, %d, %d, %d)\n", framebuffer, attachment, texture, level, layer );
6640   funcs->ext.p_glNamedFramebufferTextureLayerEXT( framebuffer, attachment, texture, level, layer );
6641 }
6642
6643 static void WINAPI glNamedProgramLocalParameter4dEXT( GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
6644   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6645   TRACE("(%d, %d, %d, %f, %f, %f, %f)\n", program, target, index, x, y, z, w );
6646   funcs->ext.p_glNamedProgramLocalParameter4dEXT( program, target, index, x, y, z, w );
6647 }
6648
6649 static void WINAPI glNamedProgramLocalParameter4dvEXT( GLuint program, GLenum target, GLuint index, const GLdouble* params ) {
6650   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6651   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
6652   funcs->ext.p_glNamedProgramLocalParameter4dvEXT( program, target, index, params );
6653 }
6654
6655 static void WINAPI glNamedProgramLocalParameter4fEXT( GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
6656   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6657   TRACE("(%d, %d, %d, %f, %f, %f, %f)\n", program, target, index, x, y, z, w );
6658   funcs->ext.p_glNamedProgramLocalParameter4fEXT( program, target, index, x, y, z, w );
6659 }
6660
6661 static void WINAPI glNamedProgramLocalParameter4fvEXT( GLuint program, GLenum target, GLuint index, const GLfloat* params ) {
6662   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6663   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
6664   funcs->ext.p_glNamedProgramLocalParameter4fvEXT( program, target, index, params );
6665 }
6666
6667 static void WINAPI glNamedProgramLocalParameterI4iEXT( GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) {
6668   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6669   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", program, target, index, x, y, z, w );
6670   funcs->ext.p_glNamedProgramLocalParameterI4iEXT( program, target, index, x, y, z, w );
6671 }
6672
6673 static void WINAPI glNamedProgramLocalParameterI4ivEXT( GLuint program, GLenum target, GLuint index, const GLint* params ) {
6674   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6675   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
6676   funcs->ext.p_glNamedProgramLocalParameterI4ivEXT( program, target, index, params );
6677 }
6678
6679 static void WINAPI glNamedProgramLocalParameterI4uiEXT( GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) {
6680   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6681   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", program, target, index, x, y, z, w );
6682   funcs->ext.p_glNamedProgramLocalParameterI4uiEXT( program, target, index, x, y, z, w );
6683 }
6684
6685 static void WINAPI glNamedProgramLocalParameterI4uivEXT( GLuint program, GLenum target, GLuint index, const GLuint* params ) {
6686   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6687   TRACE("(%d, %d, %d, %p)\n", program, target, index, params );
6688   funcs->ext.p_glNamedProgramLocalParameterI4uivEXT( program, target, index, params );
6689 }
6690
6691 static void WINAPI glNamedProgramLocalParameters4fvEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params ) {
6692   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6693   TRACE("(%d, %d, %d, %d, %p)\n", program, target, index, count, params );
6694   funcs->ext.p_glNamedProgramLocalParameters4fvEXT( program, target, index, count, params );
6695 }
6696
6697 static void WINAPI glNamedProgramLocalParametersI4ivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params ) {
6698   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6699   TRACE("(%d, %d, %d, %d, %p)\n", program, target, index, count, params );
6700   funcs->ext.p_glNamedProgramLocalParametersI4ivEXT( program, target, index, count, params );
6701 }
6702
6703 static void WINAPI glNamedProgramLocalParametersI4uivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params ) {
6704   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6705   TRACE("(%d, %d, %d, %d, %p)\n", program, target, index, count, params );
6706   funcs->ext.p_glNamedProgramLocalParametersI4uivEXT( program, target, index, count, params );
6707 }
6708
6709 static void WINAPI glNamedProgramStringEXT( GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid* string ) {
6710   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6711   TRACE("(%d, %d, %d, %d, %p)\n", program, target, format, len, string );
6712   funcs->ext.p_glNamedProgramStringEXT( program, target, format, len, string );
6713 }
6714
6715 static void WINAPI glNamedRenderbufferStorageEXT( GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height ) {
6716   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6717   TRACE("(%d, %d, %d, %d)\n", renderbuffer, internalformat, width, height );
6718   funcs->ext.p_glNamedRenderbufferStorageEXT( renderbuffer, internalformat, width, height );
6719 }
6720
6721 static void WINAPI glNamedRenderbufferStorageMultisampleCoverageEXT( GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height ) {
6722   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6723   TRACE("(%d, %d, %d, %d, %d, %d)\n", renderbuffer, coverageSamples, colorSamples, internalformat, width, height );
6724   funcs->ext.p_glNamedRenderbufferStorageMultisampleCoverageEXT( renderbuffer, coverageSamples, colorSamples, internalformat, width, height );
6725 }
6726
6727 static void WINAPI glNamedRenderbufferStorageMultisampleEXT( GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) {
6728   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6729   TRACE("(%d, %d, %d, %d, %d)\n", renderbuffer, samples, internalformat, width, height );
6730   funcs->ext.p_glNamedRenderbufferStorageMultisampleEXT( renderbuffer, samples, internalformat, width, height );
6731 }
6732
6733 static void WINAPI glNamedStringARB( GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar* string ) {
6734   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6735   TRACE("(%d, %d, %p, %d, %p)\n", type, namelen, name, stringlen, string );
6736   funcs->ext.p_glNamedStringARB( type, namelen, name, stringlen, string );
6737 }
6738
6739 static GLuint WINAPI glNewBufferRegion( GLenum type ) {
6740   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6741   TRACE("(%d)\n", type );
6742   return funcs->ext.p_glNewBufferRegion( type );
6743 }
6744
6745 static GLuint WINAPI glNewObjectBufferATI( GLsizei size, const GLvoid* pointer, GLenum usage ) {
6746   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6747   TRACE("(%d, %p, %d)\n", size, pointer, usage );
6748   return funcs->ext.p_glNewObjectBufferATI( size, pointer, usage );
6749 }
6750
6751 static void WINAPI glNormal3fVertex3fSUN( GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
6752   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6753   TRACE("(%f, %f, %f, %f, %f, %f)\n", nx, ny, nz, x, y, z );
6754   funcs->ext.p_glNormal3fVertex3fSUN( nx, ny, nz, x, y, z );
6755 }
6756
6757 static void WINAPI glNormal3fVertex3fvSUN( const GLfloat* n, const GLfloat* v ) {
6758   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6759   TRACE("(%p, %p)\n", n, v );
6760   funcs->ext.p_glNormal3fVertex3fvSUN( n, v );
6761 }
6762
6763 static void WINAPI glNormal3hNV( GLhalfNV nx, GLhalfNV ny, GLhalfNV nz ) {
6764   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6765   TRACE("(%d, %d, %d)\n", nx, ny, nz );
6766   funcs->ext.p_glNormal3hNV( nx, ny, nz );
6767 }
6768
6769 static void WINAPI glNormal3hvNV( const GLhalfNV* v ) {
6770   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6771   TRACE("(%p)\n", v );
6772   funcs->ext.p_glNormal3hvNV( v );
6773 }
6774
6775 static void WINAPI glNormalFormatNV( GLenum type, GLsizei stride ) {
6776   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6777   TRACE("(%d, %d)\n", type, stride );
6778   funcs->ext.p_glNormalFormatNV( type, stride );
6779 }
6780
6781 static void WINAPI glNormalP3ui( GLenum type, GLuint coords ) {
6782   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6783   TRACE("(%d, %d)\n", type, coords );
6784   funcs->ext.p_glNormalP3ui( type, coords );
6785 }
6786
6787 static void WINAPI glNormalP3uiv( GLenum type, const GLuint* coords ) {
6788   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6789   TRACE("(%d, %p)\n", type, coords );
6790   funcs->ext.p_glNormalP3uiv( type, coords );
6791 }
6792
6793 static void WINAPI glNormalPointerEXT( GLenum type, GLsizei stride, GLsizei count, const GLvoid* pointer ) {
6794   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6795   TRACE("(%d, %d, %d, %p)\n", type, stride, count, pointer );
6796   funcs->ext.p_glNormalPointerEXT( type, stride, count, pointer );
6797 }
6798
6799 static void WINAPI glNormalPointerListIBM( GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
6800   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6801   TRACE("(%d, %d, %p, %d)\n", type, stride, pointer, ptrstride );
6802   funcs->ext.p_glNormalPointerListIBM( type, stride, pointer, ptrstride );
6803 }
6804
6805 static void WINAPI glNormalPointervINTEL( GLenum type, const GLvoid** pointer ) {
6806   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6807   TRACE("(%d, %p)\n", type, pointer );
6808   funcs->ext.p_glNormalPointervINTEL( type, pointer );
6809 }
6810
6811 static void WINAPI glNormalStream3bATI( GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz ) {
6812   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6813   TRACE("(%d, %d, %d, %d)\n", stream, nx, ny, nz );
6814   funcs->ext.p_glNormalStream3bATI( stream, nx, ny, nz );
6815 }
6816
6817 static void WINAPI glNormalStream3bvATI( GLenum stream, const GLbyte* coords ) {
6818   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6819   TRACE("(%d, %p)\n", stream, coords );
6820   funcs->ext.p_glNormalStream3bvATI( stream, coords );
6821 }
6822
6823 static void WINAPI glNormalStream3dATI( GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz ) {
6824   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6825   TRACE("(%d, %f, %f, %f)\n", stream, nx, ny, nz );
6826   funcs->ext.p_glNormalStream3dATI( stream, nx, ny, nz );
6827 }
6828
6829 static void WINAPI glNormalStream3dvATI( GLenum stream, const GLdouble* coords ) {
6830   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6831   TRACE("(%d, %p)\n", stream, coords );
6832   funcs->ext.p_glNormalStream3dvATI( stream, coords );
6833 }
6834
6835 static void WINAPI glNormalStream3fATI( GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz ) {
6836   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6837   TRACE("(%d, %f, %f, %f)\n", stream, nx, ny, nz );
6838   funcs->ext.p_glNormalStream3fATI( stream, nx, ny, nz );
6839 }
6840
6841 static void WINAPI glNormalStream3fvATI( GLenum stream, const GLfloat* coords ) {
6842   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6843   TRACE("(%d, %p)\n", stream, coords );
6844   funcs->ext.p_glNormalStream3fvATI( stream, coords );
6845 }
6846
6847 static void WINAPI glNormalStream3iATI( GLenum stream, GLint nx, GLint ny, GLint nz ) {
6848   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6849   TRACE("(%d, %d, %d, %d)\n", stream, nx, ny, nz );
6850   funcs->ext.p_glNormalStream3iATI( stream, nx, ny, nz );
6851 }
6852
6853 static void WINAPI glNormalStream3ivATI( GLenum stream, const GLint* coords ) {
6854   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6855   TRACE("(%d, %p)\n", stream, coords );
6856   funcs->ext.p_glNormalStream3ivATI( stream, coords );
6857 }
6858
6859 static void WINAPI glNormalStream3sATI( GLenum stream, GLshort nx, GLshort ny, GLshort nz ) {
6860   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6861   TRACE("(%d, %d, %d, %d)\n", stream, nx, ny, nz );
6862   funcs->ext.p_glNormalStream3sATI( stream, nx, ny, nz );
6863 }
6864
6865 static void WINAPI glNormalStream3svATI( GLenum stream, const GLshort* coords ) {
6866   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6867   TRACE("(%d, %p)\n", stream, coords );
6868   funcs->ext.p_glNormalStream3svATI( stream, coords );
6869 }
6870
6871 static void WINAPI glObjectLabel( GLenum identifier, GLuint name, GLsizei length, const GLchar* label ) {
6872   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6873   TRACE("(%d, %d, %d, %p)\n", identifier, name, length, label );
6874   funcs->ext.p_glObjectLabel( identifier, name, length, label );
6875 }
6876
6877 static void WINAPI glObjectPtrLabel( const void* ptr, GLsizei length, const GLchar* label ) {
6878   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6879   TRACE("(%p, %d, %p)\n", ptr, length, label );
6880   funcs->ext.p_glObjectPtrLabel( ptr, length, label );
6881 }
6882
6883 static GLenum WINAPI glObjectPurgeableAPPLE( GLenum objectType, GLuint name, GLenum option ) {
6884   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6885   TRACE("(%d, %d, %d)\n", objectType, name, option );
6886   return funcs->ext.p_glObjectPurgeableAPPLE( objectType, name, option );
6887 }
6888
6889 static GLenum WINAPI glObjectUnpurgeableAPPLE( GLenum objectType, GLuint name, GLenum option ) {
6890   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6891   TRACE("(%d, %d, %d)\n", objectType, name, option );
6892   return funcs->ext.p_glObjectUnpurgeableAPPLE( objectType, name, option );
6893 }
6894
6895 static void WINAPI glPNTrianglesfATI( GLenum pname, GLfloat param ) {
6896   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6897   TRACE("(%d, %f)\n", pname, param );
6898   funcs->ext.p_glPNTrianglesfATI( pname, param );
6899 }
6900
6901 static void WINAPI glPNTrianglesiATI( GLenum pname, GLint param ) {
6902   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6903   TRACE("(%d, %d)\n", pname, param );
6904   funcs->ext.p_glPNTrianglesiATI( pname, param );
6905 }
6906
6907 static void WINAPI glPassTexCoordATI( GLuint dst, GLuint coord, GLenum swizzle ) {
6908   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6909   TRACE("(%d, %d, %d)\n", dst, coord, swizzle );
6910   funcs->ext.p_glPassTexCoordATI( dst, coord, swizzle );
6911 }
6912
6913 static void WINAPI glPatchParameterfv( GLenum pname, const GLfloat* values ) {
6914   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6915   TRACE("(%d, %p)\n", pname, values );
6916   funcs->ext.p_glPatchParameterfv( pname, values );
6917 }
6918
6919 static void WINAPI glPatchParameteri( GLenum pname, GLint value ) {
6920   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6921   TRACE("(%d, %d)\n", pname, value );
6922   funcs->ext.p_glPatchParameteri( pname, value );
6923 }
6924
6925 static void WINAPI glPathColorGenNV( GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs ) {
6926   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6927   TRACE("(%d, %d, %d, %p)\n", color, genMode, colorFormat, coeffs );
6928   funcs->ext.p_glPathColorGenNV( color, genMode, colorFormat, coeffs );
6929 }
6930
6931 static void WINAPI glPathCommandsNV( GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid* coords ) {
6932   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6933   TRACE("(%d, %d, %p, %d, %d, %p)\n", path, numCommands, commands, numCoords, coordType, coords );
6934   funcs->ext.p_glPathCommandsNV( path, numCommands, commands, numCoords, coordType, coords );
6935 }
6936
6937 static void WINAPI glPathCoordsNV( GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid* coords ) {
6938   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6939   TRACE("(%d, %d, %d, %p)\n", path, numCoords, coordType, coords );
6940   funcs->ext.p_glPathCoordsNV( path, numCoords, coordType, coords );
6941 }
6942
6943 static void WINAPI glPathCoverDepthFuncNV( GLenum func ) {
6944   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6945   TRACE("(%d)\n", func );
6946   funcs->ext.p_glPathCoverDepthFuncNV( func );
6947 }
6948
6949 static void WINAPI glPathDashArrayNV( GLuint path, GLsizei dashCount, const GLfloat* dashArray ) {
6950   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6951   TRACE("(%d, %d, %p)\n", path, dashCount, dashArray );
6952   funcs->ext.p_glPathDashArrayNV( path, dashCount, dashArray );
6953 }
6954
6955 static void WINAPI glPathFogGenNV( GLenum genMode ) {
6956   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6957   TRACE("(%d)\n", genMode );
6958   funcs->ext.p_glPathFogGenNV( genMode );
6959 }
6960
6961 static void WINAPI glPathGlyphRangeNV( GLuint firstPathName, GLenum fontTarget, const GLvoid* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) {
6962   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6963   TRACE("(%d, %d, %p, %d, %d, %d, %d, %d, %f)\n", firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale );
6964   funcs->ext.p_glPathGlyphRangeNV( firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale );
6965 }
6966
6967 static void WINAPI glPathGlyphsNV( GLuint firstPathName, GLenum fontTarget, const GLvoid* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid* charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) {
6968   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6969   TRACE("(%d, %d, %p, %d, %d, %d, %p, %d, %d, %f)\n", firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale );
6970   funcs->ext.p_glPathGlyphsNV( firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale );
6971 }
6972
6973 static void WINAPI glPathParameterfNV( GLuint path, GLenum pname, GLfloat value ) {
6974   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6975   TRACE("(%d, %d, %f)\n", path, pname, value );
6976   funcs->ext.p_glPathParameterfNV( path, pname, value );
6977 }
6978
6979 static void WINAPI glPathParameterfvNV( GLuint path, GLenum pname, const GLfloat* value ) {
6980   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6981   TRACE("(%d, %d, %p)\n", path, pname, value );
6982   funcs->ext.p_glPathParameterfvNV( path, pname, value );
6983 }
6984
6985 static void WINAPI glPathParameteriNV( GLuint path, GLenum pname, GLint value ) {
6986   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6987   TRACE("(%d, %d, %d)\n", path, pname, value );
6988   funcs->ext.p_glPathParameteriNV( path, pname, value );
6989 }
6990
6991 static void WINAPI glPathParameterivNV( GLuint path, GLenum pname, const GLint* value ) {
6992   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6993   TRACE("(%d, %d, %p)\n", path, pname, value );
6994   funcs->ext.p_glPathParameterivNV( path, pname, value );
6995 }
6996
6997 static void WINAPI glPathStencilDepthOffsetNV( GLfloat factor, GLfloat units ) {
6998   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
6999   TRACE("(%f, %f)\n", factor, units );
7000   funcs->ext.p_glPathStencilDepthOffsetNV( factor, units );
7001 }
7002
7003 static void WINAPI glPathStencilFuncNV( GLenum func, GLint ref, GLuint mask ) {
7004   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7005   TRACE("(%d, %d, %d)\n", func, ref, mask );
7006   funcs->ext.p_glPathStencilFuncNV( func, ref, mask );
7007 }
7008
7009 static void WINAPI glPathStringNV( GLuint path, GLenum format, GLsizei length, const GLvoid* pathString ) {
7010   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7011   TRACE("(%d, %d, %d, %p)\n", path, format, length, pathString );
7012   funcs->ext.p_glPathStringNV( path, format, length, pathString );
7013 }
7014
7015 static void WINAPI glPathSubCommandsNV( GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const GLvoid* coords ) {
7016   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7017   TRACE("(%d, %d, %d, %d, %p, %d, %d, %p)\n", path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords );
7018   funcs->ext.p_glPathSubCommandsNV( path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords );
7019 }
7020
7021 static void WINAPI glPathSubCoordsNV( GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid* coords ) {
7022   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7023   TRACE("(%d, %d, %d, %d, %p)\n", path, coordStart, numCoords, coordType, coords );
7024   funcs->ext.p_glPathSubCoordsNV( path, coordStart, numCoords, coordType, coords );
7025 }
7026
7027 static void WINAPI glPathTexGenNV( GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs ) {
7028   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7029   TRACE("(%d, %d, %d, %p)\n", texCoordSet, genMode, components, coeffs );
7030   funcs->ext.p_glPathTexGenNV( texCoordSet, genMode, components, coeffs );
7031 }
7032
7033 static void WINAPI glPauseTransformFeedback( void ) {
7034   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7035   TRACE("()\n");
7036   funcs->ext.p_glPauseTransformFeedback( );
7037 }
7038
7039 static void WINAPI glPauseTransformFeedbackNV( void ) {
7040   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7041   TRACE("()\n");
7042   funcs->ext.p_glPauseTransformFeedbackNV( );
7043 }
7044
7045 static void WINAPI glPixelDataRangeNV( GLenum target, GLsizei length, const GLvoid* pointer ) {
7046   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7047   TRACE("(%d, %d, %p)\n", target, length, pointer );
7048   funcs->ext.p_glPixelDataRangeNV( target, length, pointer );
7049 }
7050
7051 static void WINAPI glPixelTexGenParameterfSGIS( GLenum pname, GLfloat param ) {
7052   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7053   TRACE("(%d, %f)\n", pname, param );
7054   funcs->ext.p_glPixelTexGenParameterfSGIS( pname, param );
7055 }
7056
7057 static void WINAPI glPixelTexGenParameterfvSGIS( GLenum pname, const GLfloat* params ) {
7058   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7059   TRACE("(%d, %p)\n", pname, params );
7060   funcs->ext.p_glPixelTexGenParameterfvSGIS( pname, params );
7061 }
7062
7063 static void WINAPI glPixelTexGenParameteriSGIS( GLenum pname, GLint param ) {
7064   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7065   TRACE("(%d, %d)\n", pname, param );
7066   funcs->ext.p_glPixelTexGenParameteriSGIS( pname, param );
7067 }
7068
7069 static void WINAPI glPixelTexGenParameterivSGIS( GLenum pname, const GLint* params ) {
7070   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7071   TRACE("(%d, %p)\n", pname, params );
7072   funcs->ext.p_glPixelTexGenParameterivSGIS( pname, params );
7073 }
7074
7075 static void WINAPI glPixelTexGenSGIX( GLenum mode ) {
7076   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7077   TRACE("(%d)\n", mode );
7078   funcs->ext.p_glPixelTexGenSGIX( mode );
7079 }
7080
7081 static void WINAPI glPixelTransformParameterfEXT( GLenum target, GLenum pname, GLfloat param ) {
7082   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7083   TRACE("(%d, %d, %f)\n", target, pname, param );
7084   funcs->ext.p_glPixelTransformParameterfEXT( target, pname, param );
7085 }
7086
7087 static void WINAPI glPixelTransformParameterfvEXT( GLenum target, GLenum pname, const GLfloat* params ) {
7088   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7089   TRACE("(%d, %d, %p)\n", target, pname, params );
7090   funcs->ext.p_glPixelTransformParameterfvEXT( target, pname, params );
7091 }
7092
7093 static void WINAPI glPixelTransformParameteriEXT( GLenum target, GLenum pname, GLint param ) {
7094   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7095   TRACE("(%d, %d, %d)\n", target, pname, param );
7096   funcs->ext.p_glPixelTransformParameteriEXT( target, pname, param );
7097 }
7098
7099 static void WINAPI glPixelTransformParameterivEXT( GLenum target, GLenum pname, const GLint* params ) {
7100   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7101   TRACE("(%d, %d, %p)\n", target, pname, params );
7102   funcs->ext.p_glPixelTransformParameterivEXT( target, pname, params );
7103 }
7104
7105 static GLboolean WINAPI glPointAlongPathNV( GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat* y, GLfloat* tangentX, GLfloat* tangentY ) {
7106   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7107   TRACE("(%d, %d, %d, %f, %p, %p, %p, %p)\n", path, startSegment, numSegments, distance, x, y, tangentX, tangentY );
7108   return funcs->ext.p_glPointAlongPathNV( path, startSegment, numSegments, distance, x, y, tangentX, tangentY );
7109 }
7110
7111 static void WINAPI glPointParameterf( GLenum pname, GLfloat param ) {
7112   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7113   TRACE("(%d, %f)\n", pname, param );
7114   funcs->ext.p_glPointParameterf( pname, param );
7115 }
7116
7117 static void WINAPI glPointParameterfARB( GLenum pname, GLfloat param ) {
7118   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7119   TRACE("(%d, %f)\n", pname, param );
7120   funcs->ext.p_glPointParameterfARB( pname, param );
7121 }
7122
7123 static void WINAPI glPointParameterfEXT( GLenum pname, GLfloat param ) {
7124   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7125   TRACE("(%d, %f)\n", pname, param );
7126   funcs->ext.p_glPointParameterfEXT( pname, param );
7127 }
7128
7129 static void WINAPI glPointParameterfSGIS( GLenum pname, GLfloat param ) {
7130   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7131   TRACE("(%d, %f)\n", pname, param );
7132   funcs->ext.p_glPointParameterfSGIS( pname, param );
7133 }
7134
7135 static void WINAPI glPointParameterfv( GLenum pname, const GLfloat* params ) {
7136   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7137   TRACE("(%d, %p)\n", pname, params );
7138   funcs->ext.p_glPointParameterfv( pname, params );
7139 }
7140
7141 static void WINAPI glPointParameterfvARB( GLenum pname, const GLfloat* params ) {
7142   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7143   TRACE("(%d, %p)\n", pname, params );
7144   funcs->ext.p_glPointParameterfvARB( pname, params );
7145 }
7146
7147 static void WINAPI glPointParameterfvEXT( GLenum pname, const GLfloat* params ) {
7148   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7149   TRACE("(%d, %p)\n", pname, params );
7150   funcs->ext.p_glPointParameterfvEXT( pname, params );
7151 }
7152
7153 static void WINAPI glPointParameterfvSGIS( GLenum pname, const GLfloat* params ) {
7154   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7155   TRACE("(%d, %p)\n", pname, params );
7156   funcs->ext.p_glPointParameterfvSGIS( pname, params );
7157 }
7158
7159 static void WINAPI glPointParameteri( GLenum pname, GLint param ) {
7160   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7161   TRACE("(%d, %d)\n", pname, param );
7162   funcs->ext.p_glPointParameteri( pname, param );
7163 }
7164
7165 static void WINAPI glPointParameteriNV( GLenum pname, GLint param ) {
7166   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7167   TRACE("(%d, %d)\n", pname, param );
7168   funcs->ext.p_glPointParameteriNV( pname, param );
7169 }
7170
7171 static void WINAPI glPointParameteriv( GLenum pname, const GLint* params ) {
7172   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7173   TRACE("(%d, %p)\n", pname, params );
7174   funcs->ext.p_glPointParameteriv( pname, params );
7175 }
7176
7177 static void WINAPI glPointParameterivNV( GLenum pname, const GLint* params ) {
7178   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7179   TRACE("(%d, %p)\n", pname, params );
7180   funcs->ext.p_glPointParameterivNV( pname, params );
7181 }
7182
7183 static GLint WINAPI glPollAsyncSGIX( GLuint* markerp ) {
7184   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7185   TRACE("(%p)\n", markerp );
7186   return funcs->ext.p_glPollAsyncSGIX( markerp );
7187 }
7188
7189 static GLint WINAPI glPollInstrumentsSGIX( GLint* marker_p ) {
7190   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7191   TRACE("(%p)\n", marker_p );
7192   return funcs->ext.p_glPollInstrumentsSGIX( marker_p );
7193 }
7194
7195 static void WINAPI glPolygonOffsetEXT( GLfloat factor, GLfloat bias ) {
7196   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7197   TRACE("(%f, %f)\n", factor, bias );
7198   funcs->ext.p_glPolygonOffsetEXT( factor, bias );
7199 }
7200
7201 static void WINAPI glPopDebugGroup( void ) {
7202   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7203   TRACE("()\n");
7204   funcs->ext.p_glPopDebugGroup( );
7205 }
7206
7207 static void WINAPI glPresentFrameDualFillNV( GLuint video_slot, UINT64 minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3 ) {
7208   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7209   TRACE("(%d, %s, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", video_slot, wine_dbgstr_longlong(minPresentTime), beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3 );
7210   funcs->ext.p_glPresentFrameDualFillNV( video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3 );
7211 }
7212
7213 static void WINAPI glPresentFrameKeyedNV( GLuint video_slot, UINT64 minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1 ) {
7214   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7215   TRACE("(%d, %s, %d, %d, %d, %d, %d, %d, %d, %d, %d)\n", video_slot, wine_dbgstr_longlong(minPresentTime), beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1 );
7216   funcs->ext.p_glPresentFrameKeyedNV( video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1 );
7217 }
7218
7219 static void WINAPI glPrimitiveRestartIndex( GLuint index ) {
7220   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7221   TRACE("(%d)\n", index );
7222   funcs->ext.p_glPrimitiveRestartIndex( index );
7223 }
7224
7225 static void WINAPI glPrimitiveRestartIndexNV( GLuint index ) {
7226   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7227   TRACE("(%d)\n", index );
7228   funcs->ext.p_glPrimitiveRestartIndexNV( index );
7229 }
7230
7231 static void WINAPI glPrimitiveRestartNV( void ) {
7232   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7233   TRACE("()\n");
7234   funcs->ext.p_glPrimitiveRestartNV( );
7235 }
7236
7237 static void WINAPI glPrioritizeTexturesEXT( GLsizei n, const GLuint* textures, const GLclampf* priorities ) {
7238   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7239   TRACE("(%d, %p, %p)\n", n, textures, priorities );
7240   funcs->ext.p_glPrioritizeTexturesEXT( n, textures, priorities );
7241 }
7242
7243 static void WINAPI glProgramBinary( GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length ) {
7244   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7245   TRACE("(%d, %d, %p, %d)\n", program, binaryFormat, binary, length );
7246   funcs->ext.p_glProgramBinary( program, binaryFormat, binary, length );
7247 }
7248
7249 static void WINAPI glProgramBufferParametersIivNV( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint* params ) {
7250   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7251   TRACE("(%d, %d, %d, %d, %p)\n", target, buffer, index, count, params );
7252   funcs->ext.p_glProgramBufferParametersIivNV( target, buffer, index, count, params );
7253 }
7254
7255 static void WINAPI glProgramBufferParametersIuivNV( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint* params ) {
7256   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7257   TRACE("(%d, %d, %d, %d, %p)\n", target, buffer, index, count, params );
7258   funcs->ext.p_glProgramBufferParametersIuivNV( target, buffer, index, count, params );
7259 }
7260
7261 static void WINAPI glProgramBufferParametersfvNV( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat* params ) {
7262   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7263   TRACE("(%d, %d, %d, %d, %p)\n", target, buffer, index, count, params );
7264   funcs->ext.p_glProgramBufferParametersfvNV( target, buffer, index, count, params );
7265 }
7266
7267 static void WINAPI glProgramEnvParameter4dARB( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
7268   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7269   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7270   funcs->ext.p_glProgramEnvParameter4dARB( target, index, x, y, z, w );
7271 }
7272
7273 static void WINAPI glProgramEnvParameter4dvARB( GLenum target, GLuint index, const GLdouble* params ) {
7274   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7275   TRACE("(%d, %d, %p)\n", target, index, params );
7276   funcs->ext.p_glProgramEnvParameter4dvARB( target, index, params );
7277 }
7278
7279 static void WINAPI glProgramEnvParameter4fARB( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
7280   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7281   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7282   funcs->ext.p_glProgramEnvParameter4fARB( target, index, x, y, z, w );
7283 }
7284
7285 static void WINAPI glProgramEnvParameter4fvARB( GLenum target, GLuint index, const GLfloat* params ) {
7286   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7287   TRACE("(%d, %d, %p)\n", target, index, params );
7288   funcs->ext.p_glProgramEnvParameter4fvARB( target, index, params );
7289 }
7290
7291 static void WINAPI glProgramEnvParameterI4iNV( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) {
7292   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7293   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, index, x, y, z, w );
7294   funcs->ext.p_glProgramEnvParameterI4iNV( target, index, x, y, z, w );
7295 }
7296
7297 static void WINAPI glProgramEnvParameterI4ivNV( GLenum target, GLuint index, const GLint* params ) {
7298   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7299   TRACE("(%d, %d, %p)\n", target, index, params );
7300   funcs->ext.p_glProgramEnvParameterI4ivNV( target, index, params );
7301 }
7302
7303 static void WINAPI glProgramEnvParameterI4uiNV( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) {
7304   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7305   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, index, x, y, z, w );
7306   funcs->ext.p_glProgramEnvParameterI4uiNV( target, index, x, y, z, w );
7307 }
7308
7309 static void WINAPI glProgramEnvParameterI4uivNV( GLenum target, GLuint index, const GLuint* params ) {
7310   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7311   TRACE("(%d, %d, %p)\n", target, index, params );
7312   funcs->ext.p_glProgramEnvParameterI4uivNV( target, index, params );
7313 }
7314
7315 static void WINAPI glProgramEnvParameters4fvEXT( GLenum target, GLuint index, GLsizei count, const GLfloat* params ) {
7316   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7317   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7318   funcs->ext.p_glProgramEnvParameters4fvEXT( target, index, count, params );
7319 }
7320
7321 static void WINAPI glProgramEnvParametersI4ivNV( GLenum target, GLuint index, GLsizei count, const GLint* params ) {
7322   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7323   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7324   funcs->ext.p_glProgramEnvParametersI4ivNV( target, index, count, params );
7325 }
7326
7327 static void WINAPI glProgramEnvParametersI4uivNV( GLenum target, GLuint index, GLsizei count, const GLuint* params ) {
7328   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7329   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7330   funcs->ext.p_glProgramEnvParametersI4uivNV( target, index, count, params );
7331 }
7332
7333 static void WINAPI glProgramLocalParameter4dARB( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
7334   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7335   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7336   funcs->ext.p_glProgramLocalParameter4dARB( target, index, x, y, z, w );
7337 }
7338
7339 static void WINAPI glProgramLocalParameter4dvARB( GLenum target, GLuint index, const GLdouble* params ) {
7340   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7341   TRACE("(%d, %d, %p)\n", target, index, params );
7342   funcs->ext.p_glProgramLocalParameter4dvARB( target, index, params );
7343 }
7344
7345 static void WINAPI glProgramLocalParameter4fARB( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
7346   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7347   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7348   funcs->ext.p_glProgramLocalParameter4fARB( target, index, x, y, z, w );
7349 }
7350
7351 static void WINAPI glProgramLocalParameter4fvARB( GLenum target, GLuint index, const GLfloat* params ) {
7352   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7353   TRACE("(%d, %d, %p)\n", target, index, params );
7354   funcs->ext.p_glProgramLocalParameter4fvARB( target, index, params );
7355 }
7356
7357 static void WINAPI glProgramLocalParameterI4iNV( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) {
7358   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7359   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, index, x, y, z, w );
7360   funcs->ext.p_glProgramLocalParameterI4iNV( target, index, x, y, z, w );
7361 }
7362
7363 static void WINAPI glProgramLocalParameterI4ivNV( GLenum target, GLuint index, const GLint* params ) {
7364   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7365   TRACE("(%d, %d, %p)\n", target, index, params );
7366   funcs->ext.p_glProgramLocalParameterI4ivNV( target, index, params );
7367 }
7368
7369 static void WINAPI glProgramLocalParameterI4uiNV( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) {
7370   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7371   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, index, x, y, z, w );
7372   funcs->ext.p_glProgramLocalParameterI4uiNV( target, index, x, y, z, w );
7373 }
7374
7375 static void WINAPI glProgramLocalParameterI4uivNV( GLenum target, GLuint index, const GLuint* params ) {
7376   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7377   TRACE("(%d, %d, %p)\n", target, index, params );
7378   funcs->ext.p_glProgramLocalParameterI4uivNV( target, index, params );
7379 }
7380
7381 static void WINAPI glProgramLocalParameters4fvEXT( GLenum target, GLuint index, GLsizei count, const GLfloat* params ) {
7382   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7383   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7384   funcs->ext.p_glProgramLocalParameters4fvEXT( target, index, count, params );
7385 }
7386
7387 static void WINAPI glProgramLocalParametersI4ivNV( GLenum target, GLuint index, GLsizei count, const GLint* params ) {
7388   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7389   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7390   funcs->ext.p_glProgramLocalParametersI4ivNV( target, index, count, params );
7391 }
7392
7393 static void WINAPI glProgramLocalParametersI4uivNV( GLenum target, GLuint index, GLsizei count, const GLuint* params ) {
7394   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7395   TRACE("(%d, %d, %d, %p)\n", target, index, count, params );
7396   funcs->ext.p_glProgramLocalParametersI4uivNV( target, index, count, params );
7397 }
7398
7399 static void WINAPI glProgramNamedParameter4dNV( GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
7400   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7401   TRACE("(%d, %d, %p, %f, %f, %f, %f)\n", id, len, name, x, y, z, w );
7402   funcs->ext.p_glProgramNamedParameter4dNV( id, len, name, x, y, z, w );
7403 }
7404
7405 static void WINAPI glProgramNamedParameter4dvNV( GLuint id, GLsizei len, const GLubyte* name, const GLdouble* v ) {
7406   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7407   TRACE("(%d, %d, %p, %p)\n", id, len, name, v );
7408   funcs->ext.p_glProgramNamedParameter4dvNV( id, len, name, v );
7409 }
7410
7411 static void WINAPI glProgramNamedParameter4fNV( GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
7412   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7413   TRACE("(%d, %d, %p, %f, %f, %f, %f)\n", id, len, name, x, y, z, w );
7414   funcs->ext.p_glProgramNamedParameter4fNV( id, len, name, x, y, z, w );
7415 }
7416
7417 static void WINAPI glProgramNamedParameter4fvNV( GLuint id, GLsizei len, const GLubyte* name, const GLfloat* v ) {
7418   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7419   TRACE("(%d, %d, %p, %p)\n", id, len, name, v );
7420   funcs->ext.p_glProgramNamedParameter4fvNV( id, len, name, v );
7421 }
7422
7423 static void WINAPI glProgramParameter4dNV( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
7424   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7425   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7426   funcs->ext.p_glProgramParameter4dNV( target, index, x, y, z, w );
7427 }
7428
7429 static void WINAPI glProgramParameter4dvNV( GLenum target, GLuint index, const GLdouble* v ) {
7430   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7431   TRACE("(%d, %d, %p)\n", target, index, v );
7432   funcs->ext.p_glProgramParameter4dvNV( target, index, v );
7433 }
7434
7435 static void WINAPI glProgramParameter4fNV( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
7436   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7437   TRACE("(%d, %d, %f, %f, %f, %f)\n", target, index, x, y, z, w );
7438   funcs->ext.p_glProgramParameter4fNV( target, index, x, y, z, w );
7439 }
7440
7441 static void WINAPI glProgramParameter4fvNV( GLenum target, GLuint index, const GLfloat* v ) {
7442   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7443   TRACE("(%d, %d, %p)\n", target, index, v );
7444   funcs->ext.p_glProgramParameter4fvNV( target, index, v );
7445 }
7446
7447 static void WINAPI glProgramParameteri( GLuint program, GLenum pname, GLint value ) {
7448   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7449   TRACE("(%d, %d, %d)\n", program, pname, value );
7450   funcs->ext.p_glProgramParameteri( program, pname, value );
7451 }
7452
7453 static void WINAPI glProgramParameteriARB( GLuint program, GLenum pname, GLint value ) {
7454   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7455   TRACE("(%d, %d, %d)\n", program, pname, value );
7456   funcs->ext.p_glProgramParameteriARB( program, pname, value );
7457 }
7458
7459 static void WINAPI glProgramParameteriEXT( GLuint program, GLenum pname, GLint value ) {
7460   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7461   TRACE("(%d, %d, %d)\n", program, pname, value );
7462   funcs->ext.p_glProgramParameteriEXT( program, pname, value );
7463 }
7464
7465 static void WINAPI glProgramParameters4dvNV( GLenum target, GLuint index, GLsizei count, const GLdouble* v ) {
7466   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7467   TRACE("(%d, %d, %d, %p)\n", target, index, count, v );
7468   funcs->ext.p_glProgramParameters4dvNV( target, index, count, v );
7469 }
7470
7471 static void WINAPI glProgramParameters4fvNV( GLenum target, GLuint index, GLsizei count, const GLfloat* v ) {
7472   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7473   TRACE("(%d, %d, %d, %p)\n", target, index, count, v );
7474   funcs->ext.p_glProgramParameters4fvNV( target, index, count, v );
7475 }
7476
7477 static void WINAPI glProgramStringARB( GLenum target, GLenum format, GLsizei len, const GLvoid* string ) {
7478   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7479   TRACE("(%d, %d, %d, %p)\n", target, format, len, string );
7480   funcs->ext.p_glProgramStringARB( target, format, len, string );
7481 }
7482
7483 static void WINAPI glProgramSubroutineParametersuivNV( GLenum target, GLsizei count, const GLuint* params ) {
7484   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7485   TRACE("(%d, %d, %p)\n", target, count, params );
7486   funcs->ext.p_glProgramSubroutineParametersuivNV( target, count, params );
7487 }
7488
7489 static void WINAPI glProgramUniform1d( GLuint program, GLint location, GLdouble v0 ) {
7490   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7491   TRACE("(%d, %d, %f)\n", program, location, v0 );
7492   funcs->ext.p_glProgramUniform1d( program, location, v0 );
7493 }
7494
7495 static void WINAPI glProgramUniform1dEXT( GLuint program, GLint location, GLdouble x ) {
7496   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7497   TRACE("(%d, %d, %f)\n", program, location, x );
7498   funcs->ext.p_glProgramUniform1dEXT( program, location, x );
7499 }
7500
7501 static void WINAPI glProgramUniform1dv( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7502   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7503   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7504   funcs->ext.p_glProgramUniform1dv( program, location, count, value );
7505 }
7506
7507 static void WINAPI glProgramUniform1dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7508   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7509   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7510   funcs->ext.p_glProgramUniform1dvEXT( program, location, count, value );
7511 }
7512
7513 static void WINAPI glProgramUniform1f( GLuint program, GLint location, GLfloat v0 ) {
7514   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7515   TRACE("(%d, %d, %f)\n", program, location, v0 );
7516   funcs->ext.p_glProgramUniform1f( program, location, v0 );
7517 }
7518
7519 static void WINAPI glProgramUniform1fEXT( GLuint program, GLint location, GLfloat v0 ) {
7520   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7521   TRACE("(%d, %d, %f)\n", program, location, v0 );
7522   funcs->ext.p_glProgramUniform1fEXT( program, location, v0 );
7523 }
7524
7525 static void WINAPI glProgramUniform1fv( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7526   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7527   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7528   funcs->ext.p_glProgramUniform1fv( program, location, count, value );
7529 }
7530
7531 static void WINAPI glProgramUniform1fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7532   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7533   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7534   funcs->ext.p_glProgramUniform1fvEXT( program, location, count, value );
7535 }
7536
7537 static void WINAPI glProgramUniform1i( GLuint program, GLint location, GLint v0 ) {
7538   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7539   TRACE("(%d, %d, %d)\n", program, location, v0 );
7540   funcs->ext.p_glProgramUniform1i( program, location, v0 );
7541 }
7542
7543 static void WINAPI glProgramUniform1i64NV( GLuint program, GLint location, INT64 x ) {
7544   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7545   TRACE("(%d, %d, %s)\n", program, location, wine_dbgstr_longlong(x) );
7546   funcs->ext.p_glProgramUniform1i64NV( program, location, x );
7547 }
7548
7549 static void WINAPI glProgramUniform1i64vNV( GLuint program, GLint location, GLsizei count, const INT64* value ) {
7550   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7551   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7552   funcs->ext.p_glProgramUniform1i64vNV( program, location, count, value );
7553 }
7554
7555 static void WINAPI glProgramUniform1iEXT( GLuint program, GLint location, GLint v0 ) {
7556   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7557   TRACE("(%d, %d, %d)\n", program, location, v0 );
7558   funcs->ext.p_glProgramUniform1iEXT( program, location, v0 );
7559 }
7560
7561 static void WINAPI glProgramUniform1iv( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7562   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7563   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7564   funcs->ext.p_glProgramUniform1iv( program, location, count, value );
7565 }
7566
7567 static void WINAPI glProgramUniform1ivEXT( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7568   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7569   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7570   funcs->ext.p_glProgramUniform1ivEXT( program, location, count, value );
7571 }
7572
7573 static void WINAPI glProgramUniform1ui( GLuint program, GLint location, GLuint v0 ) {
7574   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7575   TRACE("(%d, %d, %d)\n", program, location, v0 );
7576   funcs->ext.p_glProgramUniform1ui( program, location, v0 );
7577 }
7578
7579 static void WINAPI glProgramUniform1ui64NV( GLuint program, GLint location, UINT64 x ) {
7580   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7581   TRACE("(%d, %d, %s)\n", program, location, wine_dbgstr_longlong(x) );
7582   funcs->ext.p_glProgramUniform1ui64NV( program, location, x );
7583 }
7584
7585 static void WINAPI glProgramUniform1ui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* value ) {
7586   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7587   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7588   funcs->ext.p_glProgramUniform1ui64vNV( program, location, count, value );
7589 }
7590
7591 static void WINAPI glProgramUniform1uiEXT( GLuint program, GLint location, GLuint v0 ) {
7592   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7593   TRACE("(%d, %d, %d)\n", program, location, v0 );
7594   funcs->ext.p_glProgramUniform1uiEXT( program, location, v0 );
7595 }
7596
7597 static void WINAPI glProgramUniform1uiv( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7598   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7599   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7600   funcs->ext.p_glProgramUniform1uiv( program, location, count, value );
7601 }
7602
7603 static void WINAPI glProgramUniform1uivEXT( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7604   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7605   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7606   funcs->ext.p_glProgramUniform1uivEXT( program, location, count, value );
7607 }
7608
7609 static void WINAPI glProgramUniform2d( GLuint program, GLint location, GLdouble v0, GLdouble v1 ) {
7610   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7611   TRACE("(%d, %d, %f, %f)\n", program, location, v0, v1 );
7612   funcs->ext.p_glProgramUniform2d( program, location, v0, v1 );
7613 }
7614
7615 static void WINAPI glProgramUniform2dEXT( GLuint program, GLint location, GLdouble x, GLdouble y ) {
7616   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7617   TRACE("(%d, %d, %f, %f)\n", program, location, x, y );
7618   funcs->ext.p_glProgramUniform2dEXT( program, location, x, y );
7619 }
7620
7621 static void WINAPI glProgramUniform2dv( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7622   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7623   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7624   funcs->ext.p_glProgramUniform2dv( program, location, count, value );
7625 }
7626
7627 static void WINAPI glProgramUniform2dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7628   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7629   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7630   funcs->ext.p_glProgramUniform2dvEXT( program, location, count, value );
7631 }
7632
7633 static void WINAPI glProgramUniform2f( GLuint program, GLint location, GLfloat v0, GLfloat v1 ) {
7634   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7635   TRACE("(%d, %d, %f, %f)\n", program, location, v0, v1 );
7636   funcs->ext.p_glProgramUniform2f( program, location, v0, v1 );
7637 }
7638
7639 static void WINAPI glProgramUniform2fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1 ) {
7640   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7641   TRACE("(%d, %d, %f, %f)\n", program, location, v0, v1 );
7642   funcs->ext.p_glProgramUniform2fEXT( program, location, v0, v1 );
7643 }
7644
7645 static void WINAPI glProgramUniform2fv( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7646   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7647   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7648   funcs->ext.p_glProgramUniform2fv( program, location, count, value );
7649 }
7650
7651 static void WINAPI glProgramUniform2fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7652   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7653   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7654   funcs->ext.p_glProgramUniform2fvEXT( program, location, count, value );
7655 }
7656
7657 static void WINAPI glProgramUniform2i( GLuint program, GLint location, GLint v0, GLint v1 ) {
7658   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7659   TRACE("(%d, %d, %d, %d)\n", program, location, v0, v1 );
7660   funcs->ext.p_glProgramUniform2i( program, location, v0, v1 );
7661 }
7662
7663 static void WINAPI glProgramUniform2i64NV( GLuint program, GLint location, INT64 x, INT64 y ) {
7664   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7665   TRACE("(%d, %d, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
7666   funcs->ext.p_glProgramUniform2i64NV( program, location, x, y );
7667 }
7668
7669 static void WINAPI glProgramUniform2i64vNV( GLuint program, GLint location, GLsizei count, const INT64* value ) {
7670   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7671   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7672   funcs->ext.p_glProgramUniform2i64vNV( program, location, count, value );
7673 }
7674
7675 static void WINAPI glProgramUniform2iEXT( GLuint program, GLint location, GLint v0, GLint v1 ) {
7676   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7677   TRACE("(%d, %d, %d, %d)\n", program, location, v0, v1 );
7678   funcs->ext.p_glProgramUniform2iEXT( program, location, v0, v1 );
7679 }
7680
7681 static void WINAPI glProgramUniform2iv( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7682   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7683   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7684   funcs->ext.p_glProgramUniform2iv( program, location, count, value );
7685 }
7686
7687 static void WINAPI glProgramUniform2ivEXT( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7688   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7689   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7690   funcs->ext.p_glProgramUniform2ivEXT( program, location, count, value );
7691 }
7692
7693 static void WINAPI glProgramUniform2ui( GLuint program, GLint location, GLuint v0, GLuint v1 ) {
7694   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7695   TRACE("(%d, %d, %d, %d)\n", program, location, v0, v1 );
7696   funcs->ext.p_glProgramUniform2ui( program, location, v0, v1 );
7697 }
7698
7699 static void WINAPI glProgramUniform2ui64NV( GLuint program, GLint location, UINT64 x, UINT64 y ) {
7700   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7701   TRACE("(%d, %d, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
7702   funcs->ext.p_glProgramUniform2ui64NV( program, location, x, y );
7703 }
7704
7705 static void WINAPI glProgramUniform2ui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* value ) {
7706   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7707   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7708   funcs->ext.p_glProgramUniform2ui64vNV( program, location, count, value );
7709 }
7710
7711 static void WINAPI glProgramUniform2uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1 ) {
7712   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7713   TRACE("(%d, %d, %d, %d)\n", program, location, v0, v1 );
7714   funcs->ext.p_glProgramUniform2uiEXT( program, location, v0, v1 );
7715 }
7716
7717 static void WINAPI glProgramUniform2uiv( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7718   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7719   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7720   funcs->ext.p_glProgramUniform2uiv( program, location, count, value );
7721 }
7722
7723 static void WINAPI glProgramUniform2uivEXT( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7724   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7725   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7726   funcs->ext.p_glProgramUniform2uivEXT( program, location, count, value );
7727 }
7728
7729 static void WINAPI glProgramUniform3d( GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2 ) {
7730   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7731   TRACE("(%d, %d, %f, %f, %f)\n", program, location, v0, v1, v2 );
7732   funcs->ext.p_glProgramUniform3d( program, location, v0, v1, v2 );
7733 }
7734
7735 static void WINAPI glProgramUniform3dEXT( GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z ) {
7736   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7737   TRACE("(%d, %d, %f, %f, %f)\n", program, location, x, y, z );
7738   funcs->ext.p_glProgramUniform3dEXT( program, location, x, y, z );
7739 }
7740
7741 static void WINAPI glProgramUniform3dv( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7742   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7743   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7744   funcs->ext.p_glProgramUniform3dv( program, location, count, value );
7745 }
7746
7747 static void WINAPI glProgramUniform3dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7748   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7749   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7750   funcs->ext.p_glProgramUniform3dvEXT( program, location, count, value );
7751 }
7752
7753 static void WINAPI glProgramUniform3f( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) {
7754   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7755   TRACE("(%d, %d, %f, %f, %f)\n", program, location, v0, v1, v2 );
7756   funcs->ext.p_glProgramUniform3f( program, location, v0, v1, v2 );
7757 }
7758
7759 static void WINAPI glProgramUniform3fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) {
7760   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7761   TRACE("(%d, %d, %f, %f, %f)\n", program, location, v0, v1, v2 );
7762   funcs->ext.p_glProgramUniform3fEXT( program, location, v0, v1, v2 );
7763 }
7764
7765 static void WINAPI glProgramUniform3fv( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7766   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7767   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7768   funcs->ext.p_glProgramUniform3fv( program, location, count, value );
7769 }
7770
7771 static void WINAPI glProgramUniform3fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7772   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7773   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7774   funcs->ext.p_glProgramUniform3fvEXT( program, location, count, value );
7775 }
7776
7777 static void WINAPI glProgramUniform3i( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 ) {
7778   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7779   TRACE("(%d, %d, %d, %d, %d)\n", program, location, v0, v1, v2 );
7780   funcs->ext.p_glProgramUniform3i( program, location, v0, v1, v2 );
7781 }
7782
7783 static void WINAPI glProgramUniform3i64NV( GLuint program, GLint location, INT64 x, INT64 y, INT64 z ) {
7784   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7785   TRACE("(%d, %d, %s, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
7786   funcs->ext.p_glProgramUniform3i64NV( program, location, x, y, z );
7787 }
7788
7789 static void WINAPI glProgramUniform3i64vNV( GLuint program, GLint location, GLsizei count, const INT64* value ) {
7790   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7791   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7792   funcs->ext.p_glProgramUniform3i64vNV( program, location, count, value );
7793 }
7794
7795 static void WINAPI glProgramUniform3iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 ) {
7796   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7797   TRACE("(%d, %d, %d, %d, %d)\n", program, location, v0, v1, v2 );
7798   funcs->ext.p_glProgramUniform3iEXT( program, location, v0, v1, v2 );
7799 }
7800
7801 static void WINAPI glProgramUniform3iv( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7802   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7803   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7804   funcs->ext.p_glProgramUniform3iv( program, location, count, value );
7805 }
7806
7807 static void WINAPI glProgramUniform3ivEXT( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7808   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7809   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7810   funcs->ext.p_glProgramUniform3ivEXT( program, location, count, value );
7811 }
7812
7813 static void WINAPI glProgramUniform3ui( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 ) {
7814   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7815   TRACE("(%d, %d, %d, %d, %d)\n", program, location, v0, v1, v2 );
7816   funcs->ext.p_glProgramUniform3ui( program, location, v0, v1, v2 );
7817 }
7818
7819 static void WINAPI glProgramUniform3ui64NV( GLuint program, GLint location, UINT64 x, UINT64 y, UINT64 z ) {
7820   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7821   TRACE("(%d, %d, %s, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
7822   funcs->ext.p_glProgramUniform3ui64NV( program, location, x, y, z );
7823 }
7824
7825 static void WINAPI glProgramUniform3ui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* value ) {
7826   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7827   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7828   funcs->ext.p_glProgramUniform3ui64vNV( program, location, count, value );
7829 }
7830
7831 static void WINAPI glProgramUniform3uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 ) {
7832   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7833   TRACE("(%d, %d, %d, %d, %d)\n", program, location, v0, v1, v2 );
7834   funcs->ext.p_glProgramUniform3uiEXT( program, location, v0, v1, v2 );
7835 }
7836
7837 static void WINAPI glProgramUniform3uiv( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7838   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7839   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7840   funcs->ext.p_glProgramUniform3uiv( program, location, count, value );
7841 }
7842
7843 static void WINAPI glProgramUniform3uivEXT( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7844   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7845   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7846   funcs->ext.p_glProgramUniform3uivEXT( program, location, count, value );
7847 }
7848
7849 static void WINAPI glProgramUniform4d( GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3 ) {
7850   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7851   TRACE("(%d, %d, %f, %f, %f, %f)\n", program, location, v0, v1, v2, v3 );
7852   funcs->ext.p_glProgramUniform4d( program, location, v0, v1, v2, v3 );
7853 }
7854
7855 static void WINAPI glProgramUniform4dEXT( GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
7856   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7857   TRACE("(%d, %d, %f, %f, %f, %f)\n", program, location, x, y, z, w );
7858   funcs->ext.p_glProgramUniform4dEXT( program, location, x, y, z, w );
7859 }
7860
7861 static void WINAPI glProgramUniform4dv( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7862   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7863   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7864   funcs->ext.p_glProgramUniform4dv( program, location, count, value );
7865 }
7866
7867 static void WINAPI glProgramUniform4dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble* value ) {
7868   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7869   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7870   funcs->ext.p_glProgramUniform4dvEXT( program, location, count, value );
7871 }
7872
7873 static void WINAPI glProgramUniform4f( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) {
7874   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7875   TRACE("(%d, %d, %f, %f, %f, %f)\n", program, location, v0, v1, v2, v3 );
7876   funcs->ext.p_glProgramUniform4f( program, location, v0, v1, v2, v3 );
7877 }
7878
7879 static void WINAPI glProgramUniform4fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) {
7880   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7881   TRACE("(%d, %d, %f, %f, %f, %f)\n", program, location, v0, v1, v2, v3 );
7882   funcs->ext.p_glProgramUniform4fEXT( program, location, v0, v1, v2, v3 );
7883 }
7884
7885 static void WINAPI glProgramUniform4fv( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7886   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7887   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7888   funcs->ext.p_glProgramUniform4fv( program, location, count, value );
7889 }
7890
7891 static void WINAPI glProgramUniform4fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat* value ) {
7892   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7893   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7894   funcs->ext.p_glProgramUniform4fvEXT( program, location, count, value );
7895 }
7896
7897 static void WINAPI glProgramUniform4i( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) {
7898   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7899   TRACE("(%d, %d, %d, %d, %d, %d)\n", program, location, v0, v1, v2, v3 );
7900   funcs->ext.p_glProgramUniform4i( program, location, v0, v1, v2, v3 );
7901 }
7902
7903 static void WINAPI glProgramUniform4i64NV( GLuint program, GLint location, INT64 x, INT64 y, INT64 z, INT64 w ) {
7904   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7905   TRACE("(%d, %d, %s, %s, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
7906   funcs->ext.p_glProgramUniform4i64NV( program, location, x, y, z, w );
7907 }
7908
7909 static void WINAPI glProgramUniform4i64vNV( GLuint program, GLint location, GLsizei count, const INT64* value ) {
7910   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7911   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7912   funcs->ext.p_glProgramUniform4i64vNV( program, location, count, value );
7913 }
7914
7915 static void WINAPI glProgramUniform4iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) {
7916   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7917   TRACE("(%d, %d, %d, %d, %d, %d)\n", program, location, v0, v1, v2, v3 );
7918   funcs->ext.p_glProgramUniform4iEXT( program, location, v0, v1, v2, v3 );
7919 }
7920
7921 static void WINAPI glProgramUniform4iv( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7922   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7923   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7924   funcs->ext.p_glProgramUniform4iv( program, location, count, value );
7925 }
7926
7927 static void WINAPI glProgramUniform4ivEXT( GLuint program, GLint location, GLsizei count, const GLint* value ) {
7928   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7929   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7930   funcs->ext.p_glProgramUniform4ivEXT( program, location, count, value );
7931 }
7932
7933 static void WINAPI glProgramUniform4ui( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) {
7934   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7935   TRACE("(%d, %d, %d, %d, %d, %d)\n", program, location, v0, v1, v2, v3 );
7936   funcs->ext.p_glProgramUniform4ui( program, location, v0, v1, v2, v3 );
7937 }
7938
7939 static void WINAPI glProgramUniform4ui64NV( GLuint program, GLint location, UINT64 x, UINT64 y, UINT64 z, UINT64 w ) {
7940   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7941   TRACE("(%d, %d, %s, %s, %s, %s)\n", program, location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
7942   funcs->ext.p_glProgramUniform4ui64NV( program, location, x, y, z, w );
7943 }
7944
7945 static void WINAPI glProgramUniform4ui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* value ) {
7946   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7947   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7948   funcs->ext.p_glProgramUniform4ui64vNV( program, location, count, value );
7949 }
7950
7951 static void WINAPI glProgramUniform4uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) {
7952   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7953   TRACE("(%d, %d, %d, %d, %d, %d)\n", program, location, v0, v1, v2, v3 );
7954   funcs->ext.p_glProgramUniform4uiEXT( program, location, v0, v1, v2, v3 );
7955 }
7956
7957 static void WINAPI glProgramUniform4uiv( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7958   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7959   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7960   funcs->ext.p_glProgramUniform4uiv( program, location, count, value );
7961 }
7962
7963 static void WINAPI glProgramUniform4uivEXT( GLuint program, GLint location, GLsizei count, const GLuint* value ) {
7964   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7965   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
7966   funcs->ext.p_glProgramUniform4uivEXT( program, location, count, value );
7967 }
7968
7969 static void WINAPI glProgramUniformHandleui64NV( GLuint program, GLint location, UINT64 value ) {
7970   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7971   TRACE("(%d, %d, %s)\n", program, location, wine_dbgstr_longlong(value) );
7972   funcs->ext.p_glProgramUniformHandleui64NV( program, location, value );
7973 }
7974
7975 static void WINAPI glProgramUniformHandleui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* values ) {
7976   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7977   TRACE("(%d, %d, %d, %p)\n", program, location, count, values );
7978   funcs->ext.p_glProgramUniformHandleui64vNV( program, location, count, values );
7979 }
7980
7981 static void WINAPI glProgramUniformMatrix2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
7982   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7983   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
7984   funcs->ext.p_glProgramUniformMatrix2dv( program, location, count, transpose, value );
7985 }
7986
7987 static void WINAPI glProgramUniformMatrix2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
7988   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7989   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
7990   funcs->ext.p_glProgramUniformMatrix2dvEXT( program, location, count, transpose, value );
7991 }
7992
7993 static void WINAPI glProgramUniformMatrix2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
7994   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
7995   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
7996   funcs->ext.p_glProgramUniformMatrix2fv( program, location, count, transpose, value );
7997 }
7998
7999 static void WINAPI glProgramUniformMatrix2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8000   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8001   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8002   funcs->ext.p_glProgramUniformMatrix2fvEXT( program, location, count, transpose, value );
8003 }
8004
8005 static void WINAPI glProgramUniformMatrix2x3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8006   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8007   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8008   funcs->ext.p_glProgramUniformMatrix2x3dv( program, location, count, transpose, value );
8009 }
8010
8011 static void WINAPI glProgramUniformMatrix2x3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8012   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8013   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8014   funcs->ext.p_glProgramUniformMatrix2x3dvEXT( program, location, count, transpose, value );
8015 }
8016
8017 static void WINAPI glProgramUniformMatrix2x3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8018   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8019   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8020   funcs->ext.p_glProgramUniformMatrix2x3fv( program, location, count, transpose, value );
8021 }
8022
8023 static void WINAPI glProgramUniformMatrix2x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8024   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8025   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8026   funcs->ext.p_glProgramUniformMatrix2x3fvEXT( program, location, count, transpose, value );
8027 }
8028
8029 static void WINAPI glProgramUniformMatrix2x4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8030   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8031   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8032   funcs->ext.p_glProgramUniformMatrix2x4dv( program, location, count, transpose, value );
8033 }
8034
8035 static void WINAPI glProgramUniformMatrix2x4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8036   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8037   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8038   funcs->ext.p_glProgramUniformMatrix2x4dvEXT( program, location, count, transpose, value );
8039 }
8040
8041 static void WINAPI glProgramUniformMatrix2x4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8042   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8043   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8044   funcs->ext.p_glProgramUniformMatrix2x4fv( program, location, count, transpose, value );
8045 }
8046
8047 static void WINAPI glProgramUniformMatrix2x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8048   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8049   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8050   funcs->ext.p_glProgramUniformMatrix2x4fvEXT( program, location, count, transpose, value );
8051 }
8052
8053 static void WINAPI glProgramUniformMatrix3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8054   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8055   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8056   funcs->ext.p_glProgramUniformMatrix3dv( program, location, count, transpose, value );
8057 }
8058
8059 static void WINAPI glProgramUniformMatrix3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8060   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8061   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8062   funcs->ext.p_glProgramUniformMatrix3dvEXT( program, location, count, transpose, value );
8063 }
8064
8065 static void WINAPI glProgramUniformMatrix3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8066   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8067   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8068   funcs->ext.p_glProgramUniformMatrix3fv( program, location, count, transpose, value );
8069 }
8070
8071 static void WINAPI glProgramUniformMatrix3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8072   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8073   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8074   funcs->ext.p_glProgramUniformMatrix3fvEXT( program, location, count, transpose, value );
8075 }
8076
8077 static void WINAPI glProgramUniformMatrix3x2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8078   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8079   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8080   funcs->ext.p_glProgramUniformMatrix3x2dv( program, location, count, transpose, value );
8081 }
8082
8083 static void WINAPI glProgramUniformMatrix3x2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8084   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8085   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8086   funcs->ext.p_glProgramUniformMatrix3x2dvEXT( program, location, count, transpose, value );
8087 }
8088
8089 static void WINAPI glProgramUniformMatrix3x2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8090   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8091   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8092   funcs->ext.p_glProgramUniformMatrix3x2fv( program, location, count, transpose, value );
8093 }
8094
8095 static void WINAPI glProgramUniformMatrix3x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8096   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8097   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8098   funcs->ext.p_glProgramUniformMatrix3x2fvEXT( program, location, count, transpose, value );
8099 }
8100
8101 static void WINAPI glProgramUniformMatrix3x4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8102   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8103   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8104   funcs->ext.p_glProgramUniformMatrix3x4dv( program, location, count, transpose, value );
8105 }
8106
8107 static void WINAPI glProgramUniformMatrix3x4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8108   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8109   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8110   funcs->ext.p_glProgramUniformMatrix3x4dvEXT( program, location, count, transpose, value );
8111 }
8112
8113 static void WINAPI glProgramUniformMatrix3x4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8114   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8115   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8116   funcs->ext.p_glProgramUniformMatrix3x4fv( program, location, count, transpose, value );
8117 }
8118
8119 static void WINAPI glProgramUniformMatrix3x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8120   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8121   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8122   funcs->ext.p_glProgramUniformMatrix3x4fvEXT( program, location, count, transpose, value );
8123 }
8124
8125 static void WINAPI glProgramUniformMatrix4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8126   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8127   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8128   funcs->ext.p_glProgramUniformMatrix4dv( program, location, count, transpose, value );
8129 }
8130
8131 static void WINAPI glProgramUniformMatrix4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8132   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8133   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8134   funcs->ext.p_glProgramUniformMatrix4dvEXT( program, location, count, transpose, value );
8135 }
8136
8137 static void WINAPI glProgramUniformMatrix4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8138   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8139   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8140   funcs->ext.p_glProgramUniformMatrix4fv( program, location, count, transpose, value );
8141 }
8142
8143 static void WINAPI glProgramUniformMatrix4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8144   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8145   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8146   funcs->ext.p_glProgramUniformMatrix4fvEXT( program, location, count, transpose, value );
8147 }
8148
8149 static void WINAPI glProgramUniformMatrix4x2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8150   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8151   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8152   funcs->ext.p_glProgramUniformMatrix4x2dv( program, location, count, transpose, value );
8153 }
8154
8155 static void WINAPI glProgramUniformMatrix4x2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8156   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8157   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8158   funcs->ext.p_glProgramUniformMatrix4x2dvEXT( program, location, count, transpose, value );
8159 }
8160
8161 static void WINAPI glProgramUniformMatrix4x2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8162   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8163   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8164   funcs->ext.p_glProgramUniformMatrix4x2fv( program, location, count, transpose, value );
8165 }
8166
8167 static void WINAPI glProgramUniformMatrix4x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8168   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8169   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8170   funcs->ext.p_glProgramUniformMatrix4x2fvEXT( program, location, count, transpose, value );
8171 }
8172
8173 static void WINAPI glProgramUniformMatrix4x3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8174   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8175   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8176   funcs->ext.p_glProgramUniformMatrix4x3dv( program, location, count, transpose, value );
8177 }
8178
8179 static void WINAPI glProgramUniformMatrix4x3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
8180   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8181   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8182   funcs->ext.p_glProgramUniformMatrix4x3dvEXT( program, location, count, transpose, value );
8183 }
8184
8185 static void WINAPI glProgramUniformMatrix4x3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8186   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8187   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8188   funcs->ext.p_glProgramUniformMatrix4x3fv( program, location, count, transpose, value );
8189 }
8190
8191 static void WINAPI glProgramUniformMatrix4x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
8192   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8193   TRACE("(%d, %d, %d, %d, %p)\n", program, location, count, transpose, value );
8194   funcs->ext.p_glProgramUniformMatrix4x3fvEXT( program, location, count, transpose, value );
8195 }
8196
8197 static void WINAPI glProgramUniformui64NV( GLuint program, GLint location, UINT64 value ) {
8198   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8199   TRACE("(%d, %d, %s)\n", program, location, wine_dbgstr_longlong(value) );
8200   funcs->ext.p_glProgramUniformui64NV( program, location, value );
8201 }
8202
8203 static void WINAPI glProgramUniformui64vNV( GLuint program, GLint location, GLsizei count, const UINT64* value ) {
8204   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8205   TRACE("(%d, %d, %d, %p)\n", program, location, count, value );
8206   funcs->ext.p_glProgramUniformui64vNV( program, location, count, value );
8207 }
8208
8209 static void WINAPI glProgramVertexLimitNV( GLenum target, GLint limit ) {
8210   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8211   TRACE("(%d, %d)\n", target, limit );
8212   funcs->ext.p_glProgramVertexLimitNV( target, limit );
8213 }
8214
8215 static void WINAPI glProvokingVertex( GLenum mode ) {
8216   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8217   TRACE("(%d)\n", mode );
8218   funcs->ext.p_glProvokingVertex( mode );
8219 }
8220
8221 static void WINAPI glProvokingVertexEXT( GLenum mode ) {
8222   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8223   TRACE("(%d)\n", mode );
8224   funcs->ext.p_glProvokingVertexEXT( mode );
8225 }
8226
8227 static void WINAPI glPushClientAttribDefaultEXT( GLbitfield mask ) {
8228   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8229   TRACE("(%d)\n", mask );
8230   funcs->ext.p_glPushClientAttribDefaultEXT( mask );
8231 }
8232
8233 static void WINAPI glPushDebugGroup( GLenum source, GLuint id, GLsizei length, const GLchar* message ) {
8234   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8235   TRACE("(%d, %d, %d, %p)\n", source, id, length, message );
8236   funcs->ext.p_glPushDebugGroup( source, id, length, message );
8237 }
8238
8239 static void WINAPI glQueryCounter( GLuint id, GLenum target ) {
8240   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8241   TRACE("(%d, %d)\n", id, target );
8242   funcs->ext.p_glQueryCounter( id, target );
8243 }
8244
8245 static void WINAPI glReadBufferRegion( GLenum region, GLint x, GLint y, GLsizei width, GLsizei height ) {
8246   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8247   TRACE("(%d, %d, %d, %d, %d)\n", region, x, y, width, height );
8248   funcs->ext.p_glReadBufferRegion( region, x, y, width, height );
8249 }
8250
8251 static void WINAPI glReadInstrumentsSGIX( GLint marker ) {
8252   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8253   TRACE("(%d)\n", marker );
8254   funcs->ext.p_glReadInstrumentsSGIX( marker );
8255 }
8256
8257 static void WINAPI glReadnPixelsARB( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid* data ) {
8258   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8259   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", x, y, width, height, format, type, bufSize, data );
8260   funcs->ext.p_glReadnPixelsARB( x, y, width, height, format, type, bufSize, data );
8261 }
8262
8263 static void WINAPI glReferencePlaneSGIX( const GLdouble* equation ) {
8264   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8265   TRACE("(%p)\n", equation );
8266   funcs->ext.p_glReferencePlaneSGIX( equation );
8267 }
8268
8269 static void WINAPI glReleaseShaderCompiler( void ) {
8270   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8271   TRACE("()\n");
8272   funcs->ext.p_glReleaseShaderCompiler( );
8273 }
8274
8275 static void WINAPI glRenderbufferStorage( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) {
8276   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8277   TRACE("(%d, %d, %d, %d)\n", target, internalformat, width, height );
8278   funcs->ext.p_glRenderbufferStorage( target, internalformat, width, height );
8279 }
8280
8281 static void WINAPI glRenderbufferStorageEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) {
8282   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8283   TRACE("(%d, %d, %d, %d)\n", target, internalformat, width, height );
8284   funcs->ext.p_glRenderbufferStorageEXT( target, internalformat, width, height );
8285 }
8286
8287 static void WINAPI glRenderbufferStorageMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) {
8288   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8289   TRACE("(%d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height );
8290   funcs->ext.p_glRenderbufferStorageMultisample( target, samples, internalformat, width, height );
8291 }
8292
8293 static void WINAPI glRenderbufferStorageMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height ) {
8294   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8295   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, coverageSamples, colorSamples, internalformat, width, height );
8296   funcs->ext.p_glRenderbufferStorageMultisampleCoverageNV( target, coverageSamples, colorSamples, internalformat, width, height );
8297 }
8298
8299 static void WINAPI glRenderbufferStorageMultisampleEXT( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) {
8300   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8301   TRACE("(%d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height );
8302   funcs->ext.p_glRenderbufferStorageMultisampleEXT( target, samples, internalformat, width, height );
8303 }
8304
8305 static void WINAPI glReplacementCodePointerSUN( GLenum type, GLsizei stride, const GLvoid** pointer ) {
8306   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8307   TRACE("(%d, %d, %p)\n", type, stride, pointer );
8308   funcs->ext.p_glReplacementCodePointerSUN( type, stride, pointer );
8309 }
8310
8311 static void WINAPI glReplacementCodeubSUN( GLubyte code ) {
8312   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8313   TRACE("(%d)\n", code );
8314   funcs->ext.p_glReplacementCodeubSUN( code );
8315 }
8316
8317 static void WINAPI glReplacementCodeubvSUN( const GLubyte* code ) {
8318   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8319   TRACE("(%p)\n", code );
8320   funcs->ext.p_glReplacementCodeubvSUN( code );
8321 }
8322
8323 static void WINAPI glReplacementCodeuiColor3fVertex3fSUN( GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) {
8324   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8325   TRACE("(%d, %f, %f, %f, %f, %f, %f)\n", rc, r, g, b, x, y, z );
8326   funcs->ext.p_glReplacementCodeuiColor3fVertex3fSUN( rc, r, g, b, x, y, z );
8327 }
8328
8329 static void WINAPI glReplacementCodeuiColor3fVertex3fvSUN( const GLuint* rc, const GLfloat* c, const GLfloat* v ) {
8330   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8331   TRACE("(%p, %p, %p)\n", rc, c, v );
8332   funcs->ext.p_glReplacementCodeuiColor3fVertex3fvSUN( rc, c, v );
8333 }
8334
8335 static void WINAPI glReplacementCodeuiColor4fNormal3fVertex3fSUN( GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
8336   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8337   TRACE("(%d, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\n", rc, r, g, b, a, nx, ny, nz, x, y, z );
8338   funcs->ext.p_glReplacementCodeuiColor4fNormal3fVertex3fSUN( rc, r, g, b, a, nx, ny, nz, x, y, z );
8339 }
8340
8341 static void WINAPI glReplacementCodeuiColor4fNormal3fVertex3fvSUN( const GLuint* rc, const GLfloat* c, const GLfloat* n, const GLfloat* v ) {
8342   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8343   TRACE("(%p, %p, %p, %p)\n", rc, c, n, v );
8344   funcs->ext.p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( rc, c, n, v );
8345 }
8346
8347 static void WINAPI glReplacementCodeuiColor4ubVertex3fSUN( GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) {
8348   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8349   TRACE("(%d, %d, %d, %d, %d, %f, %f, %f)\n", rc, r, g, b, a, x, y, z );
8350   funcs->ext.p_glReplacementCodeuiColor4ubVertex3fSUN( rc, r, g, b, a, x, y, z );
8351 }
8352
8353 static void WINAPI glReplacementCodeuiColor4ubVertex3fvSUN( const GLuint* rc, const GLubyte* c, const GLfloat* v ) {
8354   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8355   TRACE("(%p, %p, %p)\n", rc, c, v );
8356   funcs->ext.p_glReplacementCodeuiColor4ubVertex3fvSUN( rc, c, v );
8357 }
8358
8359 static void WINAPI glReplacementCodeuiNormal3fVertex3fSUN( GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
8360   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8361   TRACE("(%d, %f, %f, %f, %f, %f, %f)\n", rc, nx, ny, nz, x, y, z );
8362   funcs->ext.p_glReplacementCodeuiNormal3fVertex3fSUN( rc, nx, ny, nz, x, y, z );
8363 }
8364
8365 static void WINAPI glReplacementCodeuiNormal3fVertex3fvSUN( const GLuint* rc, const GLfloat* n, const GLfloat* v ) {
8366   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8367   TRACE("(%p, %p, %p)\n", rc, n, v );
8368   funcs->ext.p_glReplacementCodeuiNormal3fVertex3fvSUN( rc, n, v );
8369 }
8370
8371 static void WINAPI glReplacementCodeuiSUN( GLuint code ) {
8372   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8373   TRACE("(%d)\n", code );
8374   funcs->ext.p_glReplacementCodeuiSUN( code );
8375 }
8376
8377 static void WINAPI glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
8378   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8379   TRACE("(%d, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\n", rc, s, t, r, g, b, a, nx, ny, nz, x, y, z );
8380   funcs->ext.p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( rc, s, t, r, g, b, a, nx, ny, nz, x, y, z );
8381 }
8382
8383 static void WINAPI glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( const GLuint* rc, const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v ) {
8384   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8385   TRACE("(%p, %p, %p, %p, %p)\n", rc, tc, c, n, v );
8386   funcs->ext.p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( rc, tc, c, n, v );
8387 }
8388
8389 static void WINAPI glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
8390   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8391   TRACE("(%d, %f, %f, %f, %f, %f, %f, %f, %f)\n", rc, s, t, nx, ny, nz, x, y, z );
8392   funcs->ext.p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( rc, s, t, nx, ny, nz, x, y, z );
8393 }
8394
8395 static void WINAPI glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( const GLuint* rc, const GLfloat* tc, const GLfloat* n, const GLfloat* v ) {
8396   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8397   TRACE("(%p, %p, %p, %p)\n", rc, tc, n, v );
8398   funcs->ext.p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( rc, tc, n, v );
8399 }
8400
8401 static void WINAPI glReplacementCodeuiTexCoord2fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z ) {
8402   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8403   TRACE("(%d, %f, %f, %f, %f, %f)\n", rc, s, t, x, y, z );
8404   funcs->ext.p_glReplacementCodeuiTexCoord2fVertex3fSUN( rc, s, t, x, y, z );
8405 }
8406
8407 static void WINAPI glReplacementCodeuiTexCoord2fVertex3fvSUN( const GLuint* rc, const GLfloat* tc, const GLfloat* v ) {
8408   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8409   TRACE("(%p, %p, %p)\n", rc, tc, v );
8410   funcs->ext.p_glReplacementCodeuiTexCoord2fVertex3fvSUN( rc, tc, v );
8411 }
8412
8413 static void WINAPI glReplacementCodeuiVertex3fSUN( GLuint rc, GLfloat x, GLfloat y, GLfloat z ) {
8414   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8415   TRACE("(%d, %f, %f, %f)\n", rc, x, y, z );
8416   funcs->ext.p_glReplacementCodeuiVertex3fSUN( rc, x, y, z );
8417 }
8418
8419 static void WINAPI glReplacementCodeuiVertex3fvSUN( const GLuint* rc, const GLfloat* v ) {
8420   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8421   TRACE("(%p, %p)\n", rc, v );
8422   funcs->ext.p_glReplacementCodeuiVertex3fvSUN( rc, v );
8423 }
8424
8425 static void WINAPI glReplacementCodeuivSUN( const GLuint* code ) {
8426   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8427   TRACE("(%p)\n", code );
8428   funcs->ext.p_glReplacementCodeuivSUN( code );
8429 }
8430
8431 static void WINAPI glReplacementCodeusSUN( GLushort code ) {
8432   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8433   TRACE("(%d)\n", code );
8434   funcs->ext.p_glReplacementCodeusSUN( code );
8435 }
8436
8437 static void WINAPI glReplacementCodeusvSUN( const GLushort* code ) {
8438   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8439   TRACE("(%p)\n", code );
8440   funcs->ext.p_glReplacementCodeusvSUN( code );
8441 }
8442
8443 static void WINAPI glRequestResidentProgramsNV( GLsizei n, const GLuint* programs ) {
8444   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8445   TRACE("(%d, %p)\n", n, programs );
8446   funcs->ext.p_glRequestResidentProgramsNV( n, programs );
8447 }
8448
8449 static void WINAPI glResetHistogram( GLenum target ) {
8450   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8451   TRACE("(%d)\n", target );
8452   funcs->ext.p_glResetHistogram( target );
8453 }
8454
8455 static void WINAPI glResetHistogramEXT( GLenum target ) {
8456   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8457   TRACE("(%d)\n", target );
8458   funcs->ext.p_glResetHistogramEXT( target );
8459 }
8460
8461 static void WINAPI glResetMinmax( GLenum target ) {
8462   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8463   TRACE("(%d)\n", target );
8464   funcs->ext.p_glResetMinmax( target );
8465 }
8466
8467 static void WINAPI glResetMinmaxEXT( GLenum target ) {
8468   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8469   TRACE("(%d)\n", target );
8470   funcs->ext.p_glResetMinmaxEXT( target );
8471 }
8472
8473 static void WINAPI glResizeBuffersMESA( void ) {
8474   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8475   TRACE("()\n");
8476   funcs->ext.p_glResizeBuffersMESA( );
8477 }
8478
8479 static void WINAPI glResumeTransformFeedback( void ) {
8480   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8481   TRACE("()\n");
8482   funcs->ext.p_glResumeTransformFeedback( );
8483 }
8484
8485 static void WINAPI glResumeTransformFeedbackNV( void ) {
8486   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8487   TRACE("()\n");
8488   funcs->ext.p_glResumeTransformFeedbackNV( );
8489 }
8490
8491 static void WINAPI glSampleCoverage( GLfloat value, GLboolean invert ) {
8492   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8493   TRACE("(%f, %d)\n", value, invert );
8494   funcs->ext.p_glSampleCoverage( value, invert );
8495 }
8496
8497 static void WINAPI glSampleCoverageARB( GLfloat value, GLboolean invert ) {
8498   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8499   TRACE("(%f, %d)\n", value, invert );
8500   funcs->ext.p_glSampleCoverageARB( value, invert );
8501 }
8502
8503 static void WINAPI glSampleMapATI( GLuint dst, GLuint interp, GLenum swizzle ) {
8504   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8505   TRACE("(%d, %d, %d)\n", dst, interp, swizzle );
8506   funcs->ext.p_glSampleMapATI( dst, interp, swizzle );
8507 }
8508
8509 static void WINAPI glSampleMaskEXT( GLclampf value, GLboolean invert ) {
8510   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8511   TRACE("(%f, %d)\n", value, invert );
8512   funcs->ext.p_glSampleMaskEXT( value, invert );
8513 }
8514
8515 static void WINAPI glSampleMaskIndexedNV( GLuint index, GLbitfield mask ) {
8516   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8517   TRACE("(%d, %d)\n", index, mask );
8518   funcs->ext.p_glSampleMaskIndexedNV( index, mask );
8519 }
8520
8521 static void WINAPI glSampleMaskSGIS( GLclampf value, GLboolean invert ) {
8522   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8523   TRACE("(%f, %d)\n", value, invert );
8524   funcs->ext.p_glSampleMaskSGIS( value, invert );
8525 }
8526
8527 static void WINAPI glSampleMaski( GLuint index, GLbitfield mask ) {
8528   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8529   TRACE("(%d, %d)\n", index, mask );
8530   funcs->ext.p_glSampleMaski( index, mask );
8531 }
8532
8533 static void WINAPI glSamplePatternEXT( GLenum pattern ) {
8534   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8535   TRACE("(%d)\n", pattern );
8536   funcs->ext.p_glSamplePatternEXT( pattern );
8537 }
8538
8539 static void WINAPI glSamplePatternSGIS( GLenum pattern ) {
8540   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8541   TRACE("(%d)\n", pattern );
8542   funcs->ext.p_glSamplePatternSGIS( pattern );
8543 }
8544
8545 static void WINAPI glSamplerParameterIiv( GLuint sampler, GLenum pname, const GLint* param ) {
8546   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8547   TRACE("(%d, %d, %p)\n", sampler, pname, param );
8548   funcs->ext.p_glSamplerParameterIiv( sampler, pname, param );
8549 }
8550
8551 static void WINAPI glSamplerParameterIuiv( GLuint sampler, GLenum pname, const GLuint* param ) {
8552   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8553   TRACE("(%d, %d, %p)\n", sampler, pname, param );
8554   funcs->ext.p_glSamplerParameterIuiv( sampler, pname, param );
8555 }
8556
8557 static void WINAPI glSamplerParameterf( GLuint sampler, GLenum pname, GLfloat param ) {
8558   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8559   TRACE("(%d, %d, %f)\n", sampler, pname, param );
8560   funcs->ext.p_glSamplerParameterf( sampler, pname, param );
8561 }
8562
8563 static void WINAPI glSamplerParameterfv( GLuint sampler, GLenum pname, const GLfloat* param ) {
8564   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8565   TRACE("(%d, %d, %p)\n", sampler, pname, param );
8566   funcs->ext.p_glSamplerParameterfv( sampler, pname, param );
8567 }
8568
8569 static void WINAPI glSamplerParameteri( GLuint sampler, GLenum pname, GLint param ) {
8570   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8571   TRACE("(%d, %d, %d)\n", sampler, pname, param );
8572   funcs->ext.p_glSamplerParameteri( sampler, pname, param );
8573 }
8574
8575 static void WINAPI glSamplerParameteriv( GLuint sampler, GLenum pname, const GLint* param ) {
8576   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8577   TRACE("(%d, %d, %p)\n", sampler, pname, param );
8578   funcs->ext.p_glSamplerParameteriv( sampler, pname, param );
8579 }
8580
8581 static void WINAPI glScissorArrayv( GLuint first, GLsizei count, const GLint* v ) {
8582   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8583   TRACE("(%d, %d, %p)\n", first, count, v );
8584   funcs->ext.p_glScissorArrayv( first, count, v );
8585 }
8586
8587 static void WINAPI glScissorIndexed( GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height ) {
8588   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8589   TRACE("(%d, %d, %d, %d, %d)\n", index, left, bottom, width, height );
8590   funcs->ext.p_glScissorIndexed( index, left, bottom, width, height );
8591 }
8592
8593 static void WINAPI glScissorIndexedv( GLuint index, const GLint* v ) {
8594   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8595   TRACE("(%d, %p)\n", index, v );
8596   funcs->ext.p_glScissorIndexedv( index, v );
8597 }
8598
8599 static void WINAPI glSecondaryColor3b( GLbyte red, GLbyte green, GLbyte blue ) {
8600   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8601   TRACE("(%d, %d, %d)\n", red, green, blue );
8602   funcs->ext.p_glSecondaryColor3b( red, green, blue );
8603 }
8604
8605 static void WINAPI glSecondaryColor3bEXT( GLbyte red, GLbyte green, GLbyte blue ) {
8606   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8607   TRACE("(%d, %d, %d)\n", red, green, blue );
8608   funcs->ext.p_glSecondaryColor3bEXT( red, green, blue );
8609 }
8610
8611 static void WINAPI glSecondaryColor3bv( const GLbyte* v ) {
8612   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8613   TRACE("(%p)\n", v );
8614   funcs->ext.p_glSecondaryColor3bv( v );
8615 }
8616
8617 static void WINAPI glSecondaryColor3bvEXT( const GLbyte* v ) {
8618   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8619   TRACE("(%p)\n", v );
8620   funcs->ext.p_glSecondaryColor3bvEXT( v );
8621 }
8622
8623 static void WINAPI glSecondaryColor3d( GLdouble red, GLdouble green, GLdouble blue ) {
8624   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8625   TRACE("(%f, %f, %f)\n", red, green, blue );
8626   funcs->ext.p_glSecondaryColor3d( red, green, blue );
8627 }
8628
8629 static void WINAPI glSecondaryColor3dEXT( GLdouble red, GLdouble green, GLdouble blue ) {
8630   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8631   TRACE("(%f, %f, %f)\n", red, green, blue );
8632   funcs->ext.p_glSecondaryColor3dEXT( red, green, blue );
8633 }
8634
8635 static void WINAPI glSecondaryColor3dv( const GLdouble* v ) {
8636   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8637   TRACE("(%p)\n", v );
8638   funcs->ext.p_glSecondaryColor3dv( v );
8639 }
8640
8641 static void WINAPI glSecondaryColor3dvEXT( const GLdouble* v ) {
8642   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8643   TRACE("(%p)\n", v );
8644   funcs->ext.p_glSecondaryColor3dvEXT( v );
8645 }
8646
8647 static void WINAPI glSecondaryColor3f( GLfloat red, GLfloat green, GLfloat blue ) {
8648   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8649   TRACE("(%f, %f, %f)\n", red, green, blue );
8650   funcs->ext.p_glSecondaryColor3f( red, green, blue );
8651 }
8652
8653 static void WINAPI glSecondaryColor3fEXT( GLfloat red, GLfloat green, GLfloat blue ) {
8654   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8655   TRACE("(%f, %f, %f)\n", red, green, blue );
8656   funcs->ext.p_glSecondaryColor3fEXT( red, green, blue );
8657 }
8658
8659 static void WINAPI glSecondaryColor3fv( const GLfloat* v ) {
8660   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8661   TRACE("(%p)\n", v );
8662   funcs->ext.p_glSecondaryColor3fv( v );
8663 }
8664
8665 static void WINAPI glSecondaryColor3fvEXT( const GLfloat* v ) {
8666   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8667   TRACE("(%p)\n", v );
8668   funcs->ext.p_glSecondaryColor3fvEXT( v );
8669 }
8670
8671 static void WINAPI glSecondaryColor3hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue ) {
8672   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8673   TRACE("(%d, %d, %d)\n", red, green, blue );
8674   funcs->ext.p_glSecondaryColor3hNV( red, green, blue );
8675 }
8676
8677 static void WINAPI glSecondaryColor3hvNV( const GLhalfNV* v ) {
8678   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8679   TRACE("(%p)\n", v );
8680   funcs->ext.p_glSecondaryColor3hvNV( v );
8681 }
8682
8683 static void WINAPI glSecondaryColor3i( GLint red, GLint green, GLint blue ) {
8684   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8685   TRACE("(%d, %d, %d)\n", red, green, blue );
8686   funcs->ext.p_glSecondaryColor3i( red, green, blue );
8687 }
8688
8689 static void WINAPI glSecondaryColor3iEXT( GLint red, GLint green, GLint blue ) {
8690   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8691   TRACE("(%d, %d, %d)\n", red, green, blue );
8692   funcs->ext.p_glSecondaryColor3iEXT( red, green, blue );
8693 }
8694
8695 static void WINAPI glSecondaryColor3iv( const GLint* v ) {
8696   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8697   TRACE("(%p)\n", v );
8698   funcs->ext.p_glSecondaryColor3iv( v );
8699 }
8700
8701 static void WINAPI glSecondaryColor3ivEXT( const GLint* v ) {
8702   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8703   TRACE("(%p)\n", v );
8704   funcs->ext.p_glSecondaryColor3ivEXT( v );
8705 }
8706
8707 static void WINAPI glSecondaryColor3s( GLshort red, GLshort green, GLshort blue ) {
8708   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8709   TRACE("(%d, %d, %d)\n", red, green, blue );
8710   funcs->ext.p_glSecondaryColor3s( red, green, blue );
8711 }
8712
8713 static void WINAPI glSecondaryColor3sEXT( GLshort red, GLshort green, GLshort blue ) {
8714   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8715   TRACE("(%d, %d, %d)\n", red, green, blue );
8716   funcs->ext.p_glSecondaryColor3sEXT( red, green, blue );
8717 }
8718
8719 static void WINAPI glSecondaryColor3sv( const GLshort* v ) {
8720   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8721   TRACE("(%p)\n", v );
8722   funcs->ext.p_glSecondaryColor3sv( v );
8723 }
8724
8725 static void WINAPI glSecondaryColor3svEXT( const GLshort* v ) {
8726   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8727   TRACE("(%p)\n", v );
8728   funcs->ext.p_glSecondaryColor3svEXT( v );
8729 }
8730
8731 static void WINAPI glSecondaryColor3ub( GLubyte red, GLubyte green, GLubyte blue ) {
8732   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8733   TRACE("(%d, %d, %d)\n", red, green, blue );
8734   funcs->ext.p_glSecondaryColor3ub( red, green, blue );
8735 }
8736
8737 static void WINAPI glSecondaryColor3ubEXT( GLubyte red, GLubyte green, GLubyte blue ) {
8738   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8739   TRACE("(%d, %d, %d)\n", red, green, blue );
8740   funcs->ext.p_glSecondaryColor3ubEXT( red, green, blue );
8741 }
8742
8743 static void WINAPI glSecondaryColor3ubv( const GLubyte* v ) {
8744   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8745   TRACE("(%p)\n", v );
8746   funcs->ext.p_glSecondaryColor3ubv( v );
8747 }
8748
8749 static void WINAPI glSecondaryColor3ubvEXT( const GLubyte* v ) {
8750   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8751   TRACE("(%p)\n", v );
8752   funcs->ext.p_glSecondaryColor3ubvEXT( v );
8753 }
8754
8755 static void WINAPI glSecondaryColor3ui( GLuint red, GLuint green, GLuint blue ) {
8756   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8757   TRACE("(%d, %d, %d)\n", red, green, blue );
8758   funcs->ext.p_glSecondaryColor3ui( red, green, blue );
8759 }
8760
8761 static void WINAPI glSecondaryColor3uiEXT( GLuint red, GLuint green, GLuint blue ) {
8762   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8763   TRACE("(%d, %d, %d)\n", red, green, blue );
8764   funcs->ext.p_glSecondaryColor3uiEXT( red, green, blue );
8765 }
8766
8767 static void WINAPI glSecondaryColor3uiv( const GLuint* v ) {
8768   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8769   TRACE("(%p)\n", v );
8770   funcs->ext.p_glSecondaryColor3uiv( v );
8771 }
8772
8773 static void WINAPI glSecondaryColor3uivEXT( const GLuint* v ) {
8774   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8775   TRACE("(%p)\n", v );
8776   funcs->ext.p_glSecondaryColor3uivEXT( v );
8777 }
8778
8779 static void WINAPI glSecondaryColor3us( GLushort red, GLushort green, GLushort blue ) {
8780   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8781   TRACE("(%d, %d, %d)\n", red, green, blue );
8782   funcs->ext.p_glSecondaryColor3us( red, green, blue );
8783 }
8784
8785 static void WINAPI glSecondaryColor3usEXT( GLushort red, GLushort green, GLushort blue ) {
8786   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8787   TRACE("(%d, %d, %d)\n", red, green, blue );
8788   funcs->ext.p_glSecondaryColor3usEXT( red, green, blue );
8789 }
8790
8791 static void WINAPI glSecondaryColor3usv( const GLushort* v ) {
8792   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8793   TRACE("(%p)\n", v );
8794   funcs->ext.p_glSecondaryColor3usv( v );
8795 }
8796
8797 static void WINAPI glSecondaryColor3usvEXT( const GLushort* v ) {
8798   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8799   TRACE("(%p)\n", v );
8800   funcs->ext.p_glSecondaryColor3usvEXT( v );
8801 }
8802
8803 static void WINAPI glSecondaryColorFormatNV( GLint size, GLenum type, GLsizei stride ) {
8804   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8805   TRACE("(%d, %d, %d)\n", size, type, stride );
8806   funcs->ext.p_glSecondaryColorFormatNV( size, type, stride );
8807 }
8808
8809 static void WINAPI glSecondaryColorP3ui( GLenum type, GLuint color ) {
8810   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8811   TRACE("(%d, %d)\n", type, color );
8812   funcs->ext.p_glSecondaryColorP3ui( type, color );
8813 }
8814
8815 static void WINAPI glSecondaryColorP3uiv( GLenum type, const GLuint* color ) {
8816   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8817   TRACE("(%d, %p)\n", type, color );
8818   funcs->ext.p_glSecondaryColorP3uiv( type, color );
8819 }
8820
8821 static void WINAPI glSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
8822   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8823   TRACE("(%d, %d, %d, %p)\n", size, type, stride, pointer );
8824   funcs->ext.p_glSecondaryColorPointer( size, type, stride, pointer );
8825 }
8826
8827 static void WINAPI glSecondaryColorPointerEXT( GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
8828   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8829   TRACE("(%d, %d, %d, %p)\n", size, type, stride, pointer );
8830   funcs->ext.p_glSecondaryColorPointerEXT( size, type, stride, pointer );
8831 }
8832
8833 static void WINAPI glSecondaryColorPointerListIBM( GLint size, GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
8834   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8835   TRACE("(%d, %d, %d, %p, %d)\n", size, type, stride, pointer, ptrstride );
8836   funcs->ext.p_glSecondaryColorPointerListIBM( size, type, stride, pointer, ptrstride );
8837 }
8838
8839 static void WINAPI glSelectPerfMonitorCountersAMD( GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList ) {
8840   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8841   TRACE("(%d, %d, %d, %d, %p)\n", monitor, enable, group, numCounters, counterList );
8842   funcs->ext.p_glSelectPerfMonitorCountersAMD( monitor, enable, group, numCounters, counterList );
8843 }
8844
8845 static void WINAPI glSelectTextureCoordSetSGIS( GLenum target ) {
8846   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8847   TRACE("(%d)\n", target );
8848   funcs->ext.p_glSelectTextureCoordSetSGIS( target );
8849 }
8850
8851 static void WINAPI glSelectTextureSGIS( GLenum target ) {
8852   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8853   TRACE("(%d)\n", target );
8854   funcs->ext.p_glSelectTextureSGIS( target );
8855 }
8856
8857 static void WINAPI glSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* row, const GLvoid* column ) {
8858   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8859   TRACE("(%d, %d, %d, %d, %d, %d, %p, %p)\n", target, internalformat, width, height, format, type, row, column );
8860   funcs->ext.p_glSeparableFilter2D( target, internalformat, width, height, format, type, row, column );
8861 }
8862
8863 static void WINAPI glSeparableFilter2DEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* row, const GLvoid* column ) {
8864   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8865   TRACE("(%d, %d, %d, %d, %d, %d, %p, %p)\n", target, internalformat, width, height, format, type, row, column );
8866   funcs->ext.p_glSeparableFilter2DEXT( target, internalformat, width, height, format, type, row, column );
8867 }
8868
8869 static void WINAPI glSetFenceAPPLE( GLuint fence ) {
8870   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8871   TRACE("(%d)\n", fence );
8872   funcs->ext.p_glSetFenceAPPLE( fence );
8873 }
8874
8875 static void WINAPI glSetFenceNV( GLuint fence, GLenum condition ) {
8876   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8877   TRACE("(%d, %d)\n", fence, condition );
8878   funcs->ext.p_glSetFenceNV( fence, condition );
8879 }
8880
8881 static void WINAPI glSetFragmentShaderConstantATI( GLuint dst, const GLfloat* value ) {
8882   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8883   TRACE("(%d, %p)\n", dst, value );
8884   funcs->ext.p_glSetFragmentShaderConstantATI( dst, value );
8885 }
8886
8887 static void WINAPI glSetInvariantEXT( GLuint id, GLenum type, const GLvoid* addr ) {
8888   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8889   TRACE("(%d, %d, %p)\n", id, type, addr );
8890   funcs->ext.p_glSetInvariantEXT( id, type, addr );
8891 }
8892
8893 static void WINAPI glSetLocalConstantEXT( GLuint id, GLenum type, const GLvoid* addr ) {
8894   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8895   TRACE("(%d, %d, %p)\n", id, type, addr );
8896   funcs->ext.p_glSetLocalConstantEXT( id, type, addr );
8897 }
8898
8899 static void WINAPI glSetMultisamplefvAMD( GLenum pname, GLuint index, const GLfloat* val ) {
8900   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8901   TRACE("(%d, %d, %p)\n", pname, index, val );
8902   funcs->ext.p_glSetMultisamplefvAMD( pname, index, val );
8903 }
8904
8905 static void WINAPI glShaderBinary( GLsizei count, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length ) {
8906   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8907   TRACE("(%d, %p, %d, %p, %d)\n", count, shaders, binaryformat, binary, length );
8908   funcs->ext.p_glShaderBinary( count, shaders, binaryformat, binary, length );
8909 }
8910
8911 static void WINAPI glShaderOp1EXT( GLenum op, GLuint res, GLuint arg1 ) {
8912   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8913   TRACE("(%d, %d, %d)\n", op, res, arg1 );
8914   funcs->ext.p_glShaderOp1EXT( op, res, arg1 );
8915 }
8916
8917 static void WINAPI glShaderOp2EXT( GLenum op, GLuint res, GLuint arg1, GLuint arg2 ) {
8918   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8919   TRACE("(%d, %d, %d, %d)\n", op, res, arg1, arg2 );
8920   funcs->ext.p_glShaderOp2EXT( op, res, arg1, arg2 );
8921 }
8922
8923 static void WINAPI glShaderOp3EXT( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 ) {
8924   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8925   TRACE("(%d, %d, %d, %d, %d)\n", op, res, arg1, arg2, arg3 );
8926   funcs->ext.p_glShaderOp3EXT( op, res, arg1, arg2, arg3 );
8927 }
8928
8929 static void WINAPI glShaderSource( GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length ) {
8930   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8931   TRACE("(%d, %d, %p, %p)\n", shader, count, string, length );
8932   funcs->ext.p_glShaderSource( shader, count, string, length );
8933 }
8934
8935 static void WINAPI glShaderSourceARB( GLhandleARB shaderObj, GLsizei count, const GLcharARB** string, const GLint* length ) {
8936   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8937   TRACE("(%d, %d, %p, %p)\n", shaderObj, count, string, length );
8938   funcs->ext.p_glShaderSourceARB( shaderObj, count, string, length );
8939 }
8940
8941 static void WINAPI glShaderStorageBlockBinding( GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding ) {
8942   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8943   TRACE("(%d, %d, %d)\n", program, storageBlockIndex, storageBlockBinding );
8944   funcs->ext.p_glShaderStorageBlockBinding( program, storageBlockIndex, storageBlockBinding );
8945 }
8946
8947 static void WINAPI glSharpenTexFuncSGIS( GLenum target, GLsizei n, const GLfloat* points ) {
8948   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8949   TRACE("(%d, %d, %p)\n", target, n, points );
8950   funcs->ext.p_glSharpenTexFuncSGIS( target, n, points );
8951 }
8952
8953 static void WINAPI glSpriteParameterfSGIX( GLenum pname, GLfloat param ) {
8954   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8955   TRACE("(%d, %f)\n", pname, param );
8956   funcs->ext.p_glSpriteParameterfSGIX( pname, param );
8957 }
8958
8959 static void WINAPI glSpriteParameterfvSGIX( GLenum pname, const GLfloat* params ) {
8960   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8961   TRACE("(%d, %p)\n", pname, params );
8962   funcs->ext.p_glSpriteParameterfvSGIX( pname, params );
8963 }
8964
8965 static void WINAPI glSpriteParameteriSGIX( GLenum pname, GLint param ) {
8966   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8967   TRACE("(%d, %d)\n", pname, param );
8968   funcs->ext.p_glSpriteParameteriSGIX( pname, param );
8969 }
8970
8971 static void WINAPI glSpriteParameterivSGIX( GLenum pname, const GLint* params ) {
8972   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8973   TRACE("(%d, %p)\n", pname, params );
8974   funcs->ext.p_glSpriteParameterivSGIX( pname, params );
8975 }
8976
8977 static void WINAPI glStartInstrumentsSGIX( void ) {
8978   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8979   TRACE("()\n");
8980   funcs->ext.p_glStartInstrumentsSGIX( );
8981 }
8982
8983 static void WINAPI glStencilClearTagEXT( GLsizei stencilTagBits, GLuint stencilClearTag ) {
8984   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8985   TRACE("(%d, %d)\n", stencilTagBits, stencilClearTag );
8986   funcs->ext.p_glStencilClearTagEXT( stencilTagBits, stencilClearTag );
8987 }
8988
8989 static void WINAPI glStencilFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat* transformValues ) {
8990   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8991   TRACE("(%d, %d, %p, %d, %d, %d, %d, %p)\n", numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues );
8992   funcs->ext.p_glStencilFillPathInstancedNV( numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues );
8993 }
8994
8995 static void WINAPI glStencilFillPathNV( GLuint path, GLenum fillMode, GLuint mask ) {
8996   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
8997   TRACE("(%d, %d, %d)\n", path, fillMode, mask );
8998   funcs->ext.p_glStencilFillPathNV( path, fillMode, mask );
8999 }
9000
9001 static void WINAPI glStencilFuncSeparate( GLenum face, GLenum func, GLint ref, GLuint mask ) {
9002   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9003   TRACE("(%d, %d, %d, %d)\n", face, func, ref, mask );
9004   funcs->ext.p_glStencilFuncSeparate( face, func, ref, mask );
9005 }
9006
9007 static void WINAPI glStencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask ) {
9008   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9009   TRACE("(%d, %d, %d, %d)\n", frontfunc, backfunc, ref, mask );
9010   funcs->ext.p_glStencilFuncSeparateATI( frontfunc, backfunc, ref, mask );
9011 }
9012
9013 static void WINAPI glStencilMaskSeparate( GLenum face, GLuint mask ) {
9014   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9015   TRACE("(%d, %d)\n", face, mask );
9016   funcs->ext.p_glStencilMaskSeparate( face, mask );
9017 }
9018
9019 static void WINAPI glStencilOpSeparate( GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass ) {
9020   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9021   TRACE("(%d, %d, %d, %d)\n", face, sfail, dpfail, dppass );
9022   funcs->ext.p_glStencilOpSeparate( face, sfail, dpfail, dppass );
9023 }
9024
9025 static void WINAPI glStencilOpSeparateATI( GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass ) {
9026   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9027   TRACE("(%d, %d, %d, %d)\n", face, sfail, dpfail, dppass );
9028   funcs->ext.p_glStencilOpSeparateATI( face, sfail, dpfail, dppass );
9029 }
9030
9031 static void WINAPI glStencilOpValueAMD( GLenum face, GLuint value ) {
9032   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9033   TRACE("(%d, %d)\n", face, value );
9034   funcs->ext.p_glStencilOpValueAMD( face, value );
9035 }
9036
9037 static void WINAPI glStencilStrokePathInstancedNV( GLsizei numPaths, GLenum pathNameType, const GLvoid* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat* transformValues ) {
9038   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9039   TRACE("(%d, %d, %p, %d, %d, %d, %d, %p)\n", numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues );
9040   funcs->ext.p_glStencilStrokePathInstancedNV( numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues );
9041 }
9042
9043 static void WINAPI glStencilStrokePathNV( GLuint path, GLint reference, GLuint mask ) {
9044   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9045   TRACE("(%d, %d, %d)\n", path, reference, mask );
9046   funcs->ext.p_glStencilStrokePathNV( path, reference, mask );
9047 }
9048
9049 static void WINAPI glStopInstrumentsSGIX( GLint marker ) {
9050   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9051   TRACE("(%d)\n", marker );
9052   funcs->ext.p_glStopInstrumentsSGIX( marker );
9053 }
9054
9055 static void WINAPI glStringMarkerGREMEDY( GLsizei len, const GLvoid* string ) {
9056   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9057   TRACE("(%d, %p)\n", len, string );
9058   funcs->ext.p_glStringMarkerGREMEDY( len, string );
9059 }
9060
9061 static void WINAPI glSwizzleEXT( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ) {
9062   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9063   TRACE("(%d, %d, %d, %d, %d, %d)\n", res, in, outX, outY, outZ, outW );
9064   funcs->ext.p_glSwizzleEXT( res, in, outX, outY, outZ, outW );
9065 }
9066
9067 static void WINAPI glTagSampleBufferSGIX( void ) {
9068   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9069   TRACE("()\n");
9070   funcs->ext.p_glTagSampleBufferSGIX( );
9071 }
9072
9073 static void WINAPI glTangent3bEXT( GLbyte tx, GLbyte ty, GLbyte tz ) {
9074   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9075   TRACE("(%d, %d, %d)\n", tx, ty, tz );
9076   funcs->ext.p_glTangent3bEXT( tx, ty, tz );
9077 }
9078
9079 static void WINAPI glTangent3bvEXT( const GLbyte* v ) {
9080   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9081   TRACE("(%p)\n", v );
9082   funcs->ext.p_glTangent3bvEXT( v );
9083 }
9084
9085 static void WINAPI glTangent3dEXT( GLdouble tx, GLdouble ty, GLdouble tz ) {
9086   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9087   TRACE("(%f, %f, %f)\n", tx, ty, tz );
9088   funcs->ext.p_glTangent3dEXT( tx, ty, tz );
9089 }
9090
9091 static void WINAPI glTangent3dvEXT( const GLdouble* v ) {
9092   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9093   TRACE("(%p)\n", v );
9094   funcs->ext.p_glTangent3dvEXT( v );
9095 }
9096
9097 static void WINAPI glTangent3fEXT( GLfloat tx, GLfloat ty, GLfloat tz ) {
9098   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9099   TRACE("(%f, %f, %f)\n", tx, ty, tz );
9100   funcs->ext.p_glTangent3fEXT( tx, ty, tz );
9101 }
9102
9103 static void WINAPI glTangent3fvEXT( const GLfloat* v ) {
9104   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9105   TRACE("(%p)\n", v );
9106   funcs->ext.p_glTangent3fvEXT( v );
9107 }
9108
9109 static void WINAPI glTangent3iEXT( GLint tx, GLint ty, GLint tz ) {
9110   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9111   TRACE("(%d, %d, %d)\n", tx, ty, tz );
9112   funcs->ext.p_glTangent3iEXT( tx, ty, tz );
9113 }
9114
9115 static void WINAPI glTangent3ivEXT( const GLint* v ) {
9116   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9117   TRACE("(%p)\n", v );
9118   funcs->ext.p_glTangent3ivEXT( v );
9119 }
9120
9121 static void WINAPI glTangent3sEXT( GLshort tx, GLshort ty, GLshort tz ) {
9122   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9123   TRACE("(%d, %d, %d)\n", tx, ty, tz );
9124   funcs->ext.p_glTangent3sEXT( tx, ty, tz );
9125 }
9126
9127 static void WINAPI glTangent3svEXT( const GLshort* v ) {
9128   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9129   TRACE("(%p)\n", v );
9130   funcs->ext.p_glTangent3svEXT( v );
9131 }
9132
9133 static void WINAPI glTangentPointerEXT( GLenum type, GLsizei stride, const GLvoid* pointer ) {
9134   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9135   TRACE("(%d, %d, %p)\n", type, stride, pointer );
9136   funcs->ext.p_glTangentPointerEXT( type, stride, pointer );
9137 }
9138
9139 static void WINAPI glTbufferMask3DFX( GLuint mask ) {
9140   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9141   TRACE("(%d)\n", mask );
9142   funcs->ext.p_glTbufferMask3DFX( mask );
9143 }
9144
9145 static void WINAPI glTessellationFactorAMD( GLfloat factor ) {
9146   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9147   TRACE("(%f)\n", factor );
9148   funcs->ext.p_glTessellationFactorAMD( factor );
9149 }
9150
9151 static void WINAPI glTessellationModeAMD( GLenum mode ) {
9152   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9153   TRACE("(%d)\n", mode );
9154   funcs->ext.p_glTessellationModeAMD( mode );
9155 }
9156
9157 static GLboolean WINAPI glTestFenceAPPLE( GLuint fence ) {
9158   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9159   TRACE("(%d)\n", fence );
9160   return funcs->ext.p_glTestFenceAPPLE( fence );
9161 }
9162
9163 static GLboolean WINAPI glTestFenceNV( GLuint fence ) {
9164   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9165   TRACE("(%d)\n", fence );
9166   return funcs->ext.p_glTestFenceNV( fence );
9167 }
9168
9169 static GLboolean WINAPI glTestObjectAPPLE( GLenum object, GLuint name ) {
9170   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9171   TRACE("(%d, %d)\n", object, name );
9172   return funcs->ext.p_glTestObjectAPPLE( object, name );
9173 }
9174
9175 static void WINAPI glTexBuffer( GLenum target, GLenum internalformat, GLuint buffer ) {
9176   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9177   TRACE("(%d, %d, %d)\n", target, internalformat, buffer );
9178   funcs->ext.p_glTexBuffer( target, internalformat, buffer );
9179 }
9180
9181 static void WINAPI glTexBufferARB( GLenum target, GLenum internalformat, GLuint buffer ) {
9182   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9183   TRACE("(%d, %d, %d)\n", target, internalformat, buffer );
9184   funcs->ext.p_glTexBufferARB( target, internalformat, buffer );
9185 }
9186
9187 static void WINAPI glTexBufferEXT( GLenum target, GLenum internalformat, GLuint buffer ) {
9188   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9189   TRACE("(%d, %d, %d)\n", target, internalformat, buffer );
9190   funcs->ext.p_glTexBufferEXT( target, internalformat, buffer );
9191 }
9192
9193 static void WINAPI glTexBufferRange( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
9194   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9195   TRACE("(%d, %d, %d, %ld, %ld)\n", target, internalformat, buffer, offset, size );
9196   funcs->ext.p_glTexBufferRange( target, internalformat, buffer, offset, size );
9197 }
9198
9199 static void WINAPI glTexBumpParameterfvATI( GLenum pname, const GLfloat* param ) {
9200   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9201   TRACE("(%d, %p)\n", pname, param );
9202   funcs->ext.p_glTexBumpParameterfvATI( pname, param );
9203 }
9204
9205 static void WINAPI glTexBumpParameterivATI( GLenum pname, const GLint* param ) {
9206   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9207   TRACE("(%d, %p)\n", pname, param );
9208   funcs->ext.p_glTexBumpParameterivATI( pname, param );
9209 }
9210
9211 static void WINAPI glTexCoord1hNV( GLhalfNV s ) {
9212   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9213   TRACE("(%d)\n", s );
9214   funcs->ext.p_glTexCoord1hNV( s );
9215 }
9216
9217 static void WINAPI glTexCoord1hvNV( const GLhalfNV* v ) {
9218   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9219   TRACE("(%p)\n", v );
9220   funcs->ext.p_glTexCoord1hvNV( v );
9221 }
9222
9223 static void WINAPI glTexCoord2fColor3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) {
9224   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9225   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f)\n", s, t, r, g, b, x, y, z );
9226   funcs->ext.p_glTexCoord2fColor3fVertex3fSUN( s, t, r, g, b, x, y, z );
9227 }
9228
9229 static void WINAPI glTexCoord2fColor3fVertex3fvSUN( const GLfloat* tc, const GLfloat* c, const GLfloat* v ) {
9230   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9231   TRACE("(%p, %p, %p)\n", tc, c, v );
9232   funcs->ext.p_glTexCoord2fColor3fVertex3fvSUN( tc, c, v );
9233 }
9234
9235 static void WINAPI glTexCoord2fColor4fNormal3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
9236   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9237   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\n", s, t, r, g, b, a, nx, ny, nz, x, y, z );
9238   funcs->ext.p_glTexCoord2fColor4fNormal3fVertex3fSUN( s, t, r, g, b, a, nx, ny, nz, x, y, z );
9239 }
9240
9241 static void WINAPI glTexCoord2fColor4fNormal3fVertex3fvSUN( const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v ) {
9242   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9243   TRACE("(%p, %p, %p, %p)\n", tc, c, n, v );
9244   funcs->ext.p_glTexCoord2fColor4fNormal3fVertex3fvSUN( tc, c, n, v );
9245 }
9246
9247 static void WINAPI glTexCoord2fColor4ubVertex3fSUN( GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) {
9248   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9249   TRACE("(%f, %f, %d, %d, %d, %d, %f, %f, %f)\n", s, t, r, g, b, a, x, y, z );
9250   funcs->ext.p_glTexCoord2fColor4ubVertex3fSUN( s, t, r, g, b, a, x, y, z );
9251 }
9252
9253 static void WINAPI glTexCoord2fColor4ubVertex3fvSUN( const GLfloat* tc, const GLubyte* c, const GLfloat* v ) {
9254   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9255   TRACE("(%p, %p, %p)\n", tc, c, v );
9256   funcs->ext.p_glTexCoord2fColor4ubVertex3fvSUN( tc, c, v );
9257 }
9258
9259 static void WINAPI glTexCoord2fNormal3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) {
9260   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9261   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f)\n", s, t, nx, ny, nz, x, y, z );
9262   funcs->ext.p_glTexCoord2fNormal3fVertex3fSUN( s, t, nx, ny, nz, x, y, z );
9263 }
9264
9265 static void WINAPI glTexCoord2fNormal3fVertex3fvSUN( const GLfloat* tc, const GLfloat* n, const GLfloat* v ) {
9266   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9267   TRACE("(%p, %p, %p)\n", tc, n, v );
9268   funcs->ext.p_glTexCoord2fNormal3fVertex3fvSUN( tc, n, v );
9269 }
9270
9271 static void WINAPI glTexCoord2fVertex3fSUN( GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z ) {
9272   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9273   TRACE("(%f, %f, %f, %f, %f)\n", s, t, x, y, z );
9274   funcs->ext.p_glTexCoord2fVertex3fSUN( s, t, x, y, z );
9275 }
9276
9277 static void WINAPI glTexCoord2fVertex3fvSUN( const GLfloat* tc, const GLfloat* v ) {
9278   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9279   TRACE("(%p, %p)\n", tc, v );
9280   funcs->ext.p_glTexCoord2fVertex3fvSUN( tc, v );
9281 }
9282
9283 static void WINAPI glTexCoord2hNV( GLhalfNV s, GLhalfNV t ) {
9284   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9285   TRACE("(%d, %d)\n", s, t );
9286   funcs->ext.p_glTexCoord2hNV( s, t );
9287 }
9288
9289 static void WINAPI glTexCoord2hvNV( const GLhalfNV* v ) {
9290   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9291   TRACE("(%p)\n", v );
9292   funcs->ext.p_glTexCoord2hvNV( v );
9293 }
9294
9295 static void WINAPI glTexCoord3hNV( GLhalfNV s, GLhalfNV t, GLhalfNV r ) {
9296   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9297   TRACE("(%d, %d, %d)\n", s, t, r );
9298   funcs->ext.p_glTexCoord3hNV( s, t, r );
9299 }
9300
9301 static void WINAPI glTexCoord3hvNV( const GLhalfNV* v ) {
9302   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9303   TRACE("(%p)\n", v );
9304   funcs->ext.p_glTexCoord3hvNV( v );
9305 }
9306
9307 static void WINAPI glTexCoord4fColor4fNormal3fVertex4fSUN( GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
9308   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9309   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f)\n", s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w );
9310   funcs->ext.p_glTexCoord4fColor4fNormal3fVertex4fSUN( s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w );
9311 }
9312
9313 static void WINAPI glTexCoord4fColor4fNormal3fVertex4fvSUN( const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v ) {
9314   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9315   TRACE("(%p, %p, %p, %p)\n", tc, c, n, v );
9316   funcs->ext.p_glTexCoord4fColor4fNormal3fVertex4fvSUN( tc, c, n, v );
9317 }
9318
9319 static void WINAPI glTexCoord4fVertex4fSUN( GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
9320   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9321   TRACE("(%f, %f, %f, %f, %f, %f, %f, %f)\n", s, t, p, q, x, y, z, w );
9322   funcs->ext.p_glTexCoord4fVertex4fSUN( s, t, p, q, x, y, z, w );
9323 }
9324
9325 static void WINAPI glTexCoord4fVertex4fvSUN( const GLfloat* tc, const GLfloat* v ) {
9326   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9327   TRACE("(%p, %p)\n", tc, v );
9328   funcs->ext.p_glTexCoord4fVertex4fvSUN( tc, v );
9329 }
9330
9331 static void WINAPI glTexCoord4hNV( GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q ) {
9332   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9333   TRACE("(%d, %d, %d, %d)\n", s, t, r, q );
9334   funcs->ext.p_glTexCoord4hNV( s, t, r, q );
9335 }
9336
9337 static void WINAPI glTexCoord4hvNV( const GLhalfNV* v ) {
9338   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9339   TRACE("(%p)\n", v );
9340   funcs->ext.p_glTexCoord4hvNV( v );
9341 }
9342
9343 static void WINAPI glTexCoordFormatNV( GLint size, GLenum type, GLsizei stride ) {
9344   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9345   TRACE("(%d, %d, %d)\n", size, type, stride );
9346   funcs->ext.p_glTexCoordFormatNV( size, type, stride );
9347 }
9348
9349 static void WINAPI glTexCoordP1ui( GLenum type, GLuint coords ) {
9350   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9351   TRACE("(%d, %d)\n", type, coords );
9352   funcs->ext.p_glTexCoordP1ui( type, coords );
9353 }
9354
9355 static void WINAPI glTexCoordP1uiv( GLenum type, const GLuint* coords ) {
9356   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9357   TRACE("(%d, %p)\n", type, coords );
9358   funcs->ext.p_glTexCoordP1uiv( type, coords );
9359 }
9360
9361 static void WINAPI glTexCoordP2ui( GLenum type, GLuint coords ) {
9362   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9363   TRACE("(%d, %d)\n", type, coords );
9364   funcs->ext.p_glTexCoordP2ui( type, coords );
9365 }
9366
9367 static void WINAPI glTexCoordP2uiv( GLenum type, const GLuint* coords ) {
9368   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9369   TRACE("(%d, %p)\n", type, coords );
9370   funcs->ext.p_glTexCoordP2uiv( type, coords );
9371 }
9372
9373 static void WINAPI glTexCoordP3ui( GLenum type, GLuint coords ) {
9374   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9375   TRACE("(%d, %d)\n", type, coords );
9376   funcs->ext.p_glTexCoordP3ui( type, coords );
9377 }
9378
9379 static void WINAPI glTexCoordP3uiv( GLenum type, const GLuint* coords ) {
9380   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9381   TRACE("(%d, %p)\n", type, coords );
9382   funcs->ext.p_glTexCoordP3uiv( type, coords );
9383 }
9384
9385 static void WINAPI glTexCoordP4ui( GLenum type, GLuint coords ) {
9386   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9387   TRACE("(%d, %d)\n", type, coords );
9388   funcs->ext.p_glTexCoordP4ui( type, coords );
9389 }
9390
9391 static void WINAPI glTexCoordP4uiv( GLenum type, const GLuint* coords ) {
9392   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9393   TRACE("(%d, %p)\n", type, coords );
9394   funcs->ext.p_glTexCoordP4uiv( type, coords );
9395 }
9396
9397 static void WINAPI glTexCoordPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid* pointer ) {
9398   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9399   TRACE("(%d, %d, %d, %d, %p)\n", size, type, stride, count, pointer );
9400   funcs->ext.p_glTexCoordPointerEXT( size, type, stride, count, pointer );
9401 }
9402
9403 static void WINAPI glTexCoordPointerListIBM( GLint size, GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
9404   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9405   TRACE("(%d, %d, %d, %p, %d)\n", size, type, stride, pointer, ptrstride );
9406   funcs->ext.p_glTexCoordPointerListIBM( size, type, stride, pointer, ptrstride );
9407 }
9408
9409 static void WINAPI glTexCoordPointervINTEL( GLint size, GLenum type, const GLvoid** pointer ) {
9410   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9411   TRACE("(%d, %d, %p)\n", size, type, pointer );
9412   funcs->ext.p_glTexCoordPointervINTEL( size, type, pointer );
9413 }
9414
9415 static void WINAPI glTexFilterFuncSGIS( GLenum target, GLenum filter, GLsizei n, const GLfloat* weights ) {
9416   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9417   TRACE("(%d, %d, %d, %p)\n", target, filter, n, weights );
9418   funcs->ext.p_glTexFilterFuncSGIS( target, filter, n, weights );
9419 }
9420
9421 static void WINAPI glTexImage2DMultisample( GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) {
9422   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9423   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height, fixedsamplelocations );
9424   funcs->ext.p_glTexImage2DMultisample( target, samples, internalformat, width, height, fixedsamplelocations );
9425 }
9426
9427 static void WINAPI glTexImage2DMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) {
9428   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9429   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations );
9430   funcs->ext.p_glTexImage2DMultisampleCoverageNV( target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations );
9431 }
9432
9433 static void WINAPI glTexImage3D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9434   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9435   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, depth, border, format, type, pixels );
9436   funcs->ext.p_glTexImage3D( target, level, internalformat, width, height, depth, border, format, type, pixels );
9437 }
9438
9439 static void WINAPI glTexImage3DEXT( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9440   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9441   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, depth, border, format, type, pixels );
9442   funcs->ext.p_glTexImage3DEXT( target, level, internalformat, width, height, depth, border, format, type, pixels );
9443 }
9444
9445 static void WINAPI glTexImage3DMultisample( GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) {
9446   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9447   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height, depth, fixedsamplelocations );
9448   funcs->ext.p_glTexImage3DMultisample( target, samples, internalformat, width, height, depth, fixedsamplelocations );
9449 }
9450
9451 static void WINAPI glTexImage3DMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) {
9452   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9453   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations );
9454   funcs->ext.p_glTexImage3DMultisampleCoverageNV( target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations );
9455 }
9456
9457 static void WINAPI glTexImage4DSGIS( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9458   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9459   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, internalformat, width, height, depth, size4d, border, format, type, pixels );
9460   funcs->ext.p_glTexImage4DSGIS( target, level, internalformat, width, height, depth, size4d, border, format, type, pixels );
9461 }
9462
9463 static void WINAPI glTexParameterIiv( GLenum target, GLenum pname, const GLint* params ) {
9464   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9465   TRACE("(%d, %d, %p)\n", target, pname, params );
9466   funcs->ext.p_glTexParameterIiv( target, pname, params );
9467 }
9468
9469 static void WINAPI glTexParameterIivEXT( GLenum target, GLenum pname, const GLint* params ) {
9470   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9471   TRACE("(%d, %d, %p)\n", target, pname, params );
9472   funcs->ext.p_glTexParameterIivEXT( target, pname, params );
9473 }
9474
9475 static void WINAPI glTexParameterIuiv( GLenum target, GLenum pname, const GLuint* params ) {
9476   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9477   TRACE("(%d, %d, %p)\n", target, pname, params );
9478   funcs->ext.p_glTexParameterIuiv( target, pname, params );
9479 }
9480
9481 static void WINAPI glTexParameterIuivEXT( GLenum target, GLenum pname, const GLuint* params ) {
9482   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9483   TRACE("(%d, %d, %p)\n", target, pname, params );
9484   funcs->ext.p_glTexParameterIuivEXT( target, pname, params );
9485 }
9486
9487 static void WINAPI glTexRenderbufferNV( GLenum target, GLuint renderbuffer ) {
9488   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9489   TRACE("(%d, %d)\n", target, renderbuffer );
9490   funcs->ext.p_glTexRenderbufferNV( target, renderbuffer );
9491 }
9492
9493 static void WINAPI glTexStorage1D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width ) {
9494   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9495   TRACE("(%d, %d, %d, %d)\n", target, levels, internalformat, width );
9496   funcs->ext.p_glTexStorage1D( target, levels, internalformat, width );
9497 }
9498
9499 static void WINAPI glTexStorage2D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height ) {
9500   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9501   TRACE("(%d, %d, %d, %d, %d)\n", target, levels, internalformat, width, height );
9502   funcs->ext.p_glTexStorage2D( target, levels, internalformat, width, height );
9503 }
9504
9505 static void WINAPI glTexStorage2DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) {
9506   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9507   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height, fixedsamplelocations );
9508   funcs->ext.p_glTexStorage2DMultisample( target, samples, internalformat, width, height, fixedsamplelocations );
9509 }
9510
9511 static void WINAPI glTexStorage3D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth ) {
9512   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9513   TRACE("(%d, %d, %d, %d, %d, %d)\n", target, levels, internalformat, width, height, depth );
9514   funcs->ext.p_glTexStorage3D( target, levels, internalformat, width, height, depth );
9515 }
9516
9517 static void WINAPI glTexStorage3DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) {
9518   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9519   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", target, samples, internalformat, width, height, depth, fixedsamplelocations );
9520   funcs->ext.p_glTexStorage3DMultisample( target, samples, internalformat, width, height, depth, fixedsamplelocations );
9521 }
9522
9523 static void WINAPI glTexStorageSparseAMD( GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags ) {
9524   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9525   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", target, internalFormat, width, height, depth, layers, flags );
9526   funcs->ext.p_glTexStorageSparseAMD( target, internalFormat, width, height, depth, layers, flags );
9527 }
9528
9529 static void WINAPI glTexSubImage1DEXT( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid* pixels ) {
9530   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9531   TRACE("(%d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, width, format, type, pixels );
9532   funcs->ext.p_glTexSubImage1DEXT( target, level, xoffset, width, format, type, pixels );
9533 }
9534
9535 static void WINAPI glTexSubImage2DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels ) {
9536   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9537   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, width, height, format, type, pixels );
9538   funcs->ext.p_glTexSubImage2DEXT( target, level, xoffset, yoffset, width, height, format, type, pixels );
9539 }
9540
9541 static void WINAPI glTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels ) {
9542   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9543   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9544   funcs->ext.p_glTexSubImage3D( target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9545 }
9546
9547 static void WINAPI glTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels ) {
9548   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9549   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9550   funcs->ext.p_glTexSubImage3DEXT( target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9551 }
9552
9553 static void WINAPI glTexSubImage4DSGIS( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid* pixels ) {
9554   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9555   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels );
9556   funcs->ext.p_glTexSubImage4DSGIS( target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels );
9557 }
9558
9559 static void WINAPI glTextureBarrierNV( void ) {
9560   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9561   TRACE("()\n");
9562   funcs->ext.p_glTextureBarrierNV( );
9563 }
9564
9565 static void WINAPI glTextureBufferEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer ) {
9566   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9567   TRACE("(%d, %d, %d, %d)\n", texture, target, internalformat, buffer );
9568   funcs->ext.p_glTextureBufferEXT( texture, target, internalformat, buffer );
9569 }
9570
9571 static void WINAPI glTextureBufferRangeEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) {
9572   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9573   TRACE("(%d, %d, %d, %d, %ld, %ld)\n", texture, target, internalformat, buffer, offset, size );
9574   funcs->ext.p_glTextureBufferRangeEXT( texture, target, internalformat, buffer, offset, size );
9575 }
9576
9577 static void WINAPI glTextureColorMaskSGIS( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) {
9578   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9579   TRACE("(%d, %d, %d, %d)\n", red, green, blue, alpha );
9580   funcs->ext.p_glTextureColorMaskSGIS( red, green, blue, alpha );
9581 }
9582
9583 static void WINAPI glTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9584   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9585   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, border, format, type, pixels );
9586   funcs->ext.p_glTextureImage1DEXT( texture, target, level, internalformat, width, border, format, type, pixels );
9587 }
9588
9589 static void WINAPI glTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9590   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9591   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, height, border, format, type, pixels );
9592   funcs->ext.p_glTextureImage2DEXT( texture, target, level, internalformat, width, height, border, format, type, pixels );
9593 }
9594
9595 static void WINAPI glTextureImage2DMultisampleCoverageNV( GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) {
9596   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9597   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations );
9598   funcs->ext.p_glTextureImage2DMultisampleCoverageNV( texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations );
9599 }
9600
9601 static void WINAPI glTextureImage2DMultisampleNV( GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) {
9602   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9603   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", texture, target, samples, internalFormat, width, height, fixedSampleLocations );
9604   funcs->ext.p_glTextureImage2DMultisampleNV( texture, target, samples, internalFormat, width, height, fixedSampleLocations );
9605 }
9606
9607 static void WINAPI glTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels ) {
9608   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9609   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, internalformat, width, height, depth, border, format, type, pixels );
9610   funcs->ext.p_glTextureImage3DEXT( texture, target, level, internalformat, width, height, depth, border, format, type, pixels );
9611 }
9612
9613 static void WINAPI glTextureImage3DMultisampleCoverageNV( GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) {
9614   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9615   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations );
9616   funcs->ext.p_glTextureImage3DMultisampleCoverageNV( texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations );
9617 }
9618
9619 static void WINAPI glTextureImage3DMultisampleNV( GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) {
9620   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9621   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations );
9622   funcs->ext.p_glTextureImage3DMultisampleNV( texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations );
9623 }
9624
9625 static void WINAPI glTextureLightEXT( GLenum pname ) {
9626   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9627   TRACE("(%d)\n", pname );
9628   funcs->ext.p_glTextureLightEXT( pname );
9629 }
9630
9631 static void WINAPI glTextureMaterialEXT( GLenum face, GLenum mode ) {
9632   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9633   TRACE("(%d, %d)\n", face, mode );
9634   funcs->ext.p_glTextureMaterialEXT( face, mode );
9635 }
9636
9637 static void WINAPI glTextureNormalEXT( GLenum mode ) {
9638   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9639   TRACE("(%d)\n", mode );
9640   funcs->ext.p_glTextureNormalEXT( mode );
9641 }
9642
9643 static void WINAPI glTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, const GLint* params ) {
9644   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9645   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
9646   funcs->ext.p_glTextureParameterIivEXT( texture, target, pname, params );
9647 }
9648
9649 static void WINAPI glTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, const GLuint* params ) {
9650   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9651   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
9652   funcs->ext.p_glTextureParameterIuivEXT( texture, target, pname, params );
9653 }
9654
9655 static void WINAPI glTextureParameterfEXT( GLuint texture, GLenum target, GLenum pname, GLfloat param ) {
9656   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9657   TRACE("(%d, %d, %d, %f)\n", texture, target, pname, param );
9658   funcs->ext.p_glTextureParameterfEXT( texture, target, pname, param );
9659 }
9660
9661 static void WINAPI glTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, const GLfloat* params ) {
9662   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9663   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
9664   funcs->ext.p_glTextureParameterfvEXT( texture, target, pname, params );
9665 }
9666
9667 static void WINAPI glTextureParameteriEXT( GLuint texture, GLenum target, GLenum pname, GLint param ) {
9668   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9669   TRACE("(%d, %d, %d, %d)\n", texture, target, pname, param );
9670   funcs->ext.p_glTextureParameteriEXT( texture, target, pname, param );
9671 }
9672
9673 static void WINAPI glTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, const GLint* params ) {
9674   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9675   TRACE("(%d, %d, %d, %p)\n", texture, target, pname, params );
9676   funcs->ext.p_glTextureParameterivEXT( texture, target, pname, params );
9677 }
9678
9679 static void WINAPI glTextureRangeAPPLE( GLenum target, GLsizei length, const GLvoid* pointer ) {
9680   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9681   TRACE("(%d, %d, %p)\n", target, length, pointer );
9682   funcs->ext.p_glTextureRangeAPPLE( target, length, pointer );
9683 }
9684
9685 static void WINAPI glTextureRenderbufferEXT( GLuint texture, GLenum target, GLuint renderbuffer ) {
9686   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9687   TRACE("(%d, %d, %d)\n", texture, target, renderbuffer );
9688   funcs->ext.p_glTextureRenderbufferEXT( texture, target, renderbuffer );
9689 }
9690
9691 static void WINAPI glTextureStorage1DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width ) {
9692   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9693   TRACE("(%d, %d, %d, %d, %d)\n", texture, target, levels, internalformat, width );
9694   funcs->ext.p_glTextureStorage1DEXT( texture, target, levels, internalformat, width );
9695 }
9696
9697 static void WINAPI glTextureStorage2DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height ) {
9698   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9699   TRACE("(%d, %d, %d, %d, %d, %d)\n", texture, target, levels, internalformat, width, height );
9700   funcs->ext.p_glTextureStorage2DEXT( texture, target, levels, internalformat, width, height );
9701 }
9702
9703 static void WINAPI glTextureStorage2DMultisampleEXT( GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) {
9704   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9705   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", texture, target, samples, internalformat, width, height, fixedsamplelocations );
9706   funcs->ext.p_glTextureStorage2DMultisampleEXT( texture, target, samples, internalformat, width, height, fixedsamplelocations );
9707 }
9708
9709 static void WINAPI glTextureStorage3DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth ) {
9710   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9711   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", texture, target, levels, internalformat, width, height, depth );
9712   funcs->ext.p_glTextureStorage3DEXT( texture, target, levels, internalformat, width, height, depth );
9713 }
9714
9715 static void WINAPI glTextureStorage3DMultisampleEXT( GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) {
9716   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9717   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, samples, internalformat, width, height, depth, fixedsamplelocations );
9718   funcs->ext.p_glTextureStorage3DMultisampleEXT( texture, target, samples, internalformat, width, height, depth, fixedsamplelocations );
9719 }
9720
9721 static void WINAPI glTextureStorageSparseAMD( GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags ) {
9722   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9723   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, internalFormat, width, height, depth, layers, flags );
9724   funcs->ext.p_glTextureStorageSparseAMD( texture, target, internalFormat, width, height, depth, layers, flags );
9725 }
9726
9727 static void WINAPI glTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid* pixels ) {
9728   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9729   TRACE("(%d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, width, format, type, pixels );
9730   funcs->ext.p_glTextureSubImage1DEXT( texture, target, level, xoffset, width, format, type, pixels );
9731 }
9732
9733 static void WINAPI glTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels ) {
9734   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9735   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, yoffset, width, height, format, type, pixels );
9736   funcs->ext.p_glTextureSubImage2DEXT( texture, target, level, xoffset, yoffset, width, height, format, type, pixels );
9737 }
9738
9739 static void WINAPI glTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels ) {
9740   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9741   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %p)\n", texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9742   funcs->ext.p_glTextureSubImage3DEXT( texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
9743 }
9744
9745 static void WINAPI glTextureView( GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers ) {
9746   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9747   TRACE("(%d, %d, %d, %d, %d, %d, %d, %d)\n", texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers );
9748   funcs->ext.p_glTextureView( texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers );
9749 }
9750
9751 static void WINAPI glTrackMatrixNV( GLenum target, GLuint address, GLenum matrix, GLenum transform ) {
9752   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9753   TRACE("(%d, %d, %d, %d)\n", target, address, matrix, transform );
9754   funcs->ext.p_glTrackMatrixNV( target, address, matrix, transform );
9755 }
9756
9757 static void WINAPI glTransformFeedbackAttribsNV( GLuint count, const GLint* attribs, GLenum bufferMode ) {
9758   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9759   TRACE("(%d, %p, %d)\n", count, attribs, bufferMode );
9760   funcs->ext.p_glTransformFeedbackAttribsNV( count, attribs, bufferMode );
9761 }
9762
9763 static void WINAPI glTransformFeedbackStreamAttribsNV( GLsizei count, const GLint* attribs, GLsizei nbuffers, const GLint* bufstreams, GLenum bufferMode ) {
9764   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9765   TRACE("(%d, %p, %d, %p, %d)\n", count, attribs, nbuffers, bufstreams, bufferMode );
9766   funcs->ext.p_glTransformFeedbackStreamAttribsNV( count, attribs, nbuffers, bufstreams, bufferMode );
9767 }
9768
9769 static void WINAPI glTransformFeedbackVaryings( GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode ) {
9770   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9771   TRACE("(%d, %d, %p, %d)\n", program, count, varyings, bufferMode );
9772   funcs->ext.p_glTransformFeedbackVaryings( program, count, varyings, bufferMode );
9773 }
9774
9775 static void WINAPI glTransformFeedbackVaryingsEXT( GLuint program, GLsizei count, const GLchar** varyings, GLenum bufferMode ) {
9776   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9777   TRACE("(%d, %d, %p, %d)\n", program, count, varyings, bufferMode );
9778   funcs->ext.p_glTransformFeedbackVaryingsEXT( program, count, varyings, bufferMode );
9779 }
9780
9781 static void WINAPI glTransformFeedbackVaryingsNV( GLuint program, GLsizei count, const GLint* locations, GLenum bufferMode ) {
9782   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9783   TRACE("(%d, %d, %p, %d)\n", program, count, locations, bufferMode );
9784   funcs->ext.p_glTransformFeedbackVaryingsNV( program, count, locations, bufferMode );
9785 }
9786
9787 static void WINAPI glTransformPathNV( GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues ) {
9788   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9789   TRACE("(%d, %d, %d, %p)\n", resultPath, srcPath, transformType, transformValues );
9790   funcs->ext.p_glTransformPathNV( resultPath, srcPath, transformType, transformValues );
9791 }
9792
9793 static void WINAPI glUniform1d( GLint location, GLdouble x ) {
9794   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9795   TRACE("(%d, %f)\n", location, x );
9796   funcs->ext.p_glUniform1d( location, x );
9797 }
9798
9799 static void WINAPI glUniform1dv( GLint location, GLsizei count, const GLdouble* value ) {
9800   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9801   TRACE("(%d, %d, %p)\n", location, count, value );
9802   funcs->ext.p_glUniform1dv( location, count, value );
9803 }
9804
9805 static void WINAPI glUniform1f( GLint location, GLfloat v0 ) {
9806   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9807   TRACE("(%d, %f)\n", location, v0 );
9808   funcs->ext.p_glUniform1f( location, v0 );
9809 }
9810
9811 static void WINAPI glUniform1fARB( GLint location, GLfloat v0 ) {
9812   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9813   TRACE("(%d, %f)\n", location, v0 );
9814   funcs->ext.p_glUniform1fARB( location, v0 );
9815 }
9816
9817 static void WINAPI glUniform1fv( GLint location, GLsizei count, const GLfloat* value ) {
9818   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9819   TRACE("(%d, %d, %p)\n", location, count, value );
9820   funcs->ext.p_glUniform1fv( location, count, value );
9821 }
9822
9823 static void WINAPI glUniform1fvARB( GLint location, GLsizei count, const GLfloat* value ) {
9824   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9825   TRACE("(%d, %d, %p)\n", location, count, value );
9826   funcs->ext.p_glUniform1fvARB( location, count, value );
9827 }
9828
9829 static void WINAPI glUniform1i( GLint location, GLint v0 ) {
9830   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9831   TRACE("(%d, %d)\n", location, v0 );
9832   funcs->ext.p_glUniform1i( location, v0 );
9833 }
9834
9835 static void WINAPI glUniform1i64NV( GLint location, INT64 x ) {
9836   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9837   TRACE("(%d, %s)\n", location, wine_dbgstr_longlong(x) );
9838   funcs->ext.p_glUniform1i64NV( location, x );
9839 }
9840
9841 static void WINAPI glUniform1i64vNV( GLint location, GLsizei count, const INT64* value ) {
9842   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9843   TRACE("(%d, %d, %p)\n", location, count, value );
9844   funcs->ext.p_glUniform1i64vNV( location, count, value );
9845 }
9846
9847 static void WINAPI glUniform1iARB( GLint location, GLint v0 ) {
9848   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9849   TRACE("(%d, %d)\n", location, v0 );
9850   funcs->ext.p_glUniform1iARB( location, v0 );
9851 }
9852
9853 static void WINAPI glUniform1iv( GLint location, GLsizei count, const GLint* value ) {
9854   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9855   TRACE("(%d, %d, %p)\n", location, count, value );
9856   funcs->ext.p_glUniform1iv( location, count, value );
9857 }
9858
9859 static void WINAPI glUniform1ivARB( GLint location, GLsizei count, const GLint* value ) {
9860   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9861   TRACE("(%d, %d, %p)\n", location, count, value );
9862   funcs->ext.p_glUniform1ivARB( location, count, value );
9863 }
9864
9865 static void WINAPI glUniform1ui( GLint location, GLuint v0 ) {
9866   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9867   TRACE("(%d, %d)\n", location, v0 );
9868   funcs->ext.p_glUniform1ui( location, v0 );
9869 }
9870
9871 static void WINAPI glUniform1ui64NV( GLint location, UINT64 x ) {
9872   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9873   TRACE("(%d, %s)\n", location, wine_dbgstr_longlong(x) );
9874   funcs->ext.p_glUniform1ui64NV( location, x );
9875 }
9876
9877 static void WINAPI glUniform1ui64vNV( GLint location, GLsizei count, const UINT64* value ) {
9878   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9879   TRACE("(%d, %d, %p)\n", location, count, value );
9880   funcs->ext.p_glUniform1ui64vNV( location, count, value );
9881 }
9882
9883 static void WINAPI glUniform1uiEXT( GLint location, GLuint v0 ) {
9884   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9885   TRACE("(%d, %d)\n", location, v0 );
9886   funcs->ext.p_glUniform1uiEXT( location, v0 );
9887 }
9888
9889 static void WINAPI glUniform1uiv( GLint location, GLsizei count, const GLuint* value ) {
9890   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9891   TRACE("(%d, %d, %p)\n", location, count, value );
9892   funcs->ext.p_glUniform1uiv( location, count, value );
9893 }
9894
9895 static void WINAPI glUniform1uivEXT( GLint location, GLsizei count, const GLuint* value ) {
9896   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9897   TRACE("(%d, %d, %p)\n", location, count, value );
9898   funcs->ext.p_glUniform1uivEXT( location, count, value );
9899 }
9900
9901 static void WINAPI glUniform2d( GLint location, GLdouble x, GLdouble y ) {
9902   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9903   TRACE("(%d, %f, %f)\n", location, x, y );
9904   funcs->ext.p_glUniform2d( location, x, y );
9905 }
9906
9907 static void WINAPI glUniform2dv( GLint location, GLsizei count, const GLdouble* value ) {
9908   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9909   TRACE("(%d, %d, %p)\n", location, count, value );
9910   funcs->ext.p_glUniform2dv( location, count, value );
9911 }
9912
9913 static void WINAPI glUniform2f( GLint location, GLfloat v0, GLfloat v1 ) {
9914   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9915   TRACE("(%d, %f, %f)\n", location, v0, v1 );
9916   funcs->ext.p_glUniform2f( location, v0, v1 );
9917 }
9918
9919 static void WINAPI glUniform2fARB( GLint location, GLfloat v0, GLfloat v1 ) {
9920   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9921   TRACE("(%d, %f, %f)\n", location, v0, v1 );
9922   funcs->ext.p_glUniform2fARB( location, v0, v1 );
9923 }
9924
9925 static void WINAPI glUniform2fv( GLint location, GLsizei count, const GLfloat* value ) {
9926   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9927   TRACE("(%d, %d, %p)\n", location, count, value );
9928   funcs->ext.p_glUniform2fv( location, count, value );
9929 }
9930
9931 static void WINAPI glUniform2fvARB( GLint location, GLsizei count, const GLfloat* value ) {
9932   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9933   TRACE("(%d, %d, %p)\n", location, count, value );
9934   funcs->ext.p_glUniform2fvARB( location, count, value );
9935 }
9936
9937 static void WINAPI glUniform2i( GLint location, GLint v0, GLint v1 ) {
9938   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9939   TRACE("(%d, %d, %d)\n", location, v0, v1 );
9940   funcs->ext.p_glUniform2i( location, v0, v1 );
9941 }
9942
9943 static void WINAPI glUniform2i64NV( GLint location, INT64 x, INT64 y ) {
9944   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9945   TRACE("(%d, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
9946   funcs->ext.p_glUniform2i64NV( location, x, y );
9947 }
9948
9949 static void WINAPI glUniform2i64vNV( GLint location, GLsizei count, const INT64* value ) {
9950   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9951   TRACE("(%d, %d, %p)\n", location, count, value );
9952   funcs->ext.p_glUniform2i64vNV( location, count, value );
9953 }
9954
9955 static void WINAPI glUniform2iARB( GLint location, GLint v0, GLint v1 ) {
9956   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9957   TRACE("(%d, %d, %d)\n", location, v0, v1 );
9958   funcs->ext.p_glUniform2iARB( location, v0, v1 );
9959 }
9960
9961 static void WINAPI glUniform2iv( GLint location, GLsizei count, const GLint* value ) {
9962   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9963   TRACE("(%d, %d, %p)\n", location, count, value );
9964   funcs->ext.p_glUniform2iv( location, count, value );
9965 }
9966
9967 static void WINAPI glUniform2ivARB( GLint location, GLsizei count, const GLint* value ) {
9968   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9969   TRACE("(%d, %d, %p)\n", location, count, value );
9970   funcs->ext.p_glUniform2ivARB( location, count, value );
9971 }
9972
9973 static void WINAPI glUniform2ui( GLint location, GLuint v0, GLuint v1 ) {
9974   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9975   TRACE("(%d, %d, %d)\n", location, v0, v1 );
9976   funcs->ext.p_glUniform2ui( location, v0, v1 );
9977 }
9978
9979 static void WINAPI glUniform2ui64NV( GLint location, UINT64 x, UINT64 y ) {
9980   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9981   TRACE("(%d, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
9982   funcs->ext.p_glUniform2ui64NV( location, x, y );
9983 }
9984
9985 static void WINAPI glUniform2ui64vNV( GLint location, GLsizei count, const UINT64* value ) {
9986   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9987   TRACE("(%d, %d, %p)\n", location, count, value );
9988   funcs->ext.p_glUniform2ui64vNV( location, count, value );
9989 }
9990
9991 static void WINAPI glUniform2uiEXT( GLint location, GLuint v0, GLuint v1 ) {
9992   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9993   TRACE("(%d, %d, %d)\n", location, v0, v1 );
9994   funcs->ext.p_glUniform2uiEXT( location, v0, v1 );
9995 }
9996
9997 static void WINAPI glUniform2uiv( GLint location, GLsizei count, const GLuint* value ) {
9998   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
9999   TRACE("(%d, %d, %p)\n", location, count, value );
10000   funcs->ext.p_glUniform2uiv( location, count, value );
10001 }
10002
10003 static void WINAPI glUniform2uivEXT( GLint location, GLsizei count, const GLuint* value ) {
10004   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10005   TRACE("(%d, %d, %p)\n", location, count, value );
10006   funcs->ext.p_glUniform2uivEXT( location, count, value );
10007 }
10008
10009 static void WINAPI glUniform3d( GLint location, GLdouble x, GLdouble y, GLdouble z ) {
10010   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10011   TRACE("(%d, %f, %f, %f)\n", location, x, y, z );
10012   funcs->ext.p_glUniform3d( location, x, y, z );
10013 }
10014
10015 static void WINAPI glUniform3dv( GLint location, GLsizei count, const GLdouble* value ) {
10016   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10017   TRACE("(%d, %d, %p)\n", location, count, value );
10018   funcs->ext.p_glUniform3dv( location, count, value );
10019 }
10020
10021 static void WINAPI glUniform3f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) {
10022   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10023   TRACE("(%d, %f, %f, %f)\n", location, v0, v1, v2 );
10024   funcs->ext.p_glUniform3f( location, v0, v1, v2 );
10025 }
10026
10027 static void WINAPI glUniform3fARB( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) {
10028   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10029   TRACE("(%d, %f, %f, %f)\n", location, v0, v1, v2 );
10030   funcs->ext.p_glUniform3fARB( location, v0, v1, v2 );
10031 }
10032
10033 static void WINAPI glUniform3fv( GLint location, GLsizei count, const GLfloat* value ) {
10034   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10035   TRACE("(%d, %d, %p)\n", location, count, value );
10036   funcs->ext.p_glUniform3fv( location, count, value );
10037 }
10038
10039 static void WINAPI glUniform3fvARB( GLint location, GLsizei count, const GLfloat* value ) {
10040   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10041   TRACE("(%d, %d, %p)\n", location, count, value );
10042   funcs->ext.p_glUniform3fvARB( location, count, value );
10043 }
10044
10045 static void WINAPI glUniform3i( GLint location, GLint v0, GLint v1, GLint v2 ) {
10046   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10047   TRACE("(%d, %d, %d, %d)\n", location, v0, v1, v2 );
10048   funcs->ext.p_glUniform3i( location, v0, v1, v2 );
10049 }
10050
10051 static void WINAPI glUniform3i64NV( GLint location, INT64 x, INT64 y, INT64 z ) {
10052   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10053   TRACE("(%d, %s, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
10054   funcs->ext.p_glUniform3i64NV( location, x, y, z );
10055 }
10056
10057 static void WINAPI glUniform3i64vNV( GLint location, GLsizei count, const INT64* value ) {
10058   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10059   TRACE("(%d, %d, %p)\n", location, count, value );
10060   funcs->ext.p_glUniform3i64vNV( location, count, value );
10061 }
10062
10063 static void WINAPI glUniform3iARB( GLint location, GLint v0, GLint v1, GLint v2 ) {
10064   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10065   TRACE("(%d, %d, %d, %d)\n", location, v0, v1, v2 );
10066   funcs->ext.p_glUniform3iARB( location, v0, v1, v2 );
10067 }
10068
10069 static void WINAPI glUniform3iv( GLint location, GLsizei count, const GLint* value ) {
10070   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10071   TRACE("(%d, %d, %p)\n", location, count, value );
10072   funcs->ext.p_glUniform3iv( location, count, value );
10073 }
10074
10075 static void WINAPI glUniform3ivARB( GLint location, GLsizei count, const GLint* value ) {
10076   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10077   TRACE("(%d, %d, %p)\n", location, count, value );
10078   funcs->ext.p_glUniform3ivARB( location, count, value );
10079 }
10080
10081 static void WINAPI glUniform3ui( GLint location, GLuint v0, GLuint v1, GLuint v2 ) {
10082   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10083   TRACE("(%d, %d, %d, %d)\n", location, v0, v1, v2 );
10084   funcs->ext.p_glUniform3ui( location, v0, v1, v2 );
10085 }
10086
10087 static void WINAPI glUniform3ui64NV( GLint location, UINT64 x, UINT64 y, UINT64 z ) {
10088   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10089   TRACE("(%d, %s, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
10090   funcs->ext.p_glUniform3ui64NV( location, x, y, z );
10091 }
10092
10093 static void WINAPI glUniform3ui64vNV( GLint location, GLsizei count, const UINT64* value ) {
10094   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10095   TRACE("(%d, %d, %p)\n", location, count, value );
10096   funcs->ext.p_glUniform3ui64vNV( location, count, value );
10097 }
10098
10099 static void WINAPI glUniform3uiEXT( GLint location, GLuint v0, GLuint v1, GLuint v2 ) {
10100   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10101   TRACE("(%d, %d, %d, %d)\n", location, v0, v1, v2 );
10102   funcs->ext.p_glUniform3uiEXT( location, v0, v1, v2 );
10103 }
10104
10105 static void WINAPI glUniform3uiv( GLint location, GLsizei count, const GLuint* value ) {
10106   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10107   TRACE("(%d, %d, %p)\n", location, count, value );
10108   funcs->ext.p_glUniform3uiv( location, count, value );
10109 }
10110
10111 static void WINAPI glUniform3uivEXT( GLint location, GLsizei count, const GLuint* value ) {
10112   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10113   TRACE("(%d, %d, %p)\n", location, count, value );
10114   funcs->ext.p_glUniform3uivEXT( location, count, value );
10115 }
10116
10117 static void WINAPI glUniform4d( GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
10118   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10119   TRACE("(%d, %f, %f, %f, %f)\n", location, x, y, z, w );
10120   funcs->ext.p_glUniform4d( location, x, y, z, w );
10121 }
10122
10123 static void WINAPI glUniform4dv( GLint location, GLsizei count, const GLdouble* value ) {
10124   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10125   TRACE("(%d, %d, %p)\n", location, count, value );
10126   funcs->ext.p_glUniform4dv( location, count, value );
10127 }
10128
10129 static void WINAPI glUniform4f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) {
10130   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10131   TRACE("(%d, %f, %f, %f, %f)\n", location, v0, v1, v2, v3 );
10132   funcs->ext.p_glUniform4f( location, v0, v1, v2, v3 );
10133 }
10134
10135 static void WINAPI glUniform4fARB( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) {
10136   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10137   TRACE("(%d, %f, %f, %f, %f)\n", location, v0, v1, v2, v3 );
10138   funcs->ext.p_glUniform4fARB( location, v0, v1, v2, v3 );
10139 }
10140
10141 static void WINAPI glUniform4fv( GLint location, GLsizei count, const GLfloat* value ) {
10142   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10143   TRACE("(%d, %d, %p)\n", location, count, value );
10144   funcs->ext.p_glUniform4fv( location, count, value );
10145 }
10146
10147 static void WINAPI glUniform4fvARB( GLint location, GLsizei count, const GLfloat* value ) {
10148   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10149   TRACE("(%d, %d, %p)\n", location, count, value );
10150   funcs->ext.p_glUniform4fvARB( location, count, value );
10151 }
10152
10153 static void WINAPI glUniform4i( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) {
10154   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10155   TRACE("(%d, %d, %d, %d, %d)\n", location, v0, v1, v2, v3 );
10156   funcs->ext.p_glUniform4i( location, v0, v1, v2, v3 );
10157 }
10158
10159 static void WINAPI glUniform4i64NV( GLint location, INT64 x, INT64 y, INT64 z, INT64 w ) {
10160   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10161   TRACE("(%d, %s, %s, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
10162   funcs->ext.p_glUniform4i64NV( location, x, y, z, w );
10163 }
10164
10165 static void WINAPI glUniform4i64vNV( GLint location, GLsizei count, const INT64* value ) {
10166   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10167   TRACE("(%d, %d, %p)\n", location, count, value );
10168   funcs->ext.p_glUniform4i64vNV( location, count, value );
10169 }
10170
10171 static void WINAPI glUniform4iARB( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) {
10172   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10173   TRACE("(%d, %d, %d, %d, %d)\n", location, v0, v1, v2, v3 );
10174   funcs->ext.p_glUniform4iARB( location, v0, v1, v2, v3 );
10175 }
10176
10177 static void WINAPI glUniform4iv( GLint location, GLsizei count, const GLint* value ) {
10178   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10179   TRACE("(%d, %d, %p)\n", location, count, value );
10180   funcs->ext.p_glUniform4iv( location, count, value );
10181 }
10182
10183 static void WINAPI glUniform4ivARB( GLint location, GLsizei count, const GLint* value ) {
10184   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10185   TRACE("(%d, %d, %p)\n", location, count, value );
10186   funcs->ext.p_glUniform4ivARB( location, count, value );
10187 }
10188
10189 static void WINAPI glUniform4ui( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) {
10190   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10191   TRACE("(%d, %d, %d, %d, %d)\n", location, v0, v1, v2, v3 );
10192   funcs->ext.p_glUniform4ui( location, v0, v1, v2, v3 );
10193 }
10194
10195 static void WINAPI glUniform4ui64NV( GLint location, UINT64 x, UINT64 y, UINT64 z, UINT64 w ) {
10196   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10197   TRACE("(%d, %s, %s, %s, %s)\n", location, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
10198   funcs->ext.p_glUniform4ui64NV( location, x, y, z, w );
10199 }
10200
10201 static void WINAPI glUniform4ui64vNV( GLint location, GLsizei count, const UINT64* value ) {
10202   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10203   TRACE("(%d, %d, %p)\n", location, count, value );
10204   funcs->ext.p_glUniform4ui64vNV( location, count, value );
10205 }
10206
10207 static void WINAPI glUniform4uiEXT( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) {
10208   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10209   TRACE("(%d, %d, %d, %d, %d)\n", location, v0, v1, v2, v3 );
10210   funcs->ext.p_glUniform4uiEXT( location, v0, v1, v2, v3 );
10211 }
10212
10213 static void WINAPI glUniform4uiv( GLint location, GLsizei count, const GLuint* value ) {
10214   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10215   TRACE("(%d, %d, %p)\n", location, count, value );
10216   funcs->ext.p_glUniform4uiv( location, count, value );
10217 }
10218
10219 static void WINAPI glUniform4uivEXT( GLint location, GLsizei count, const GLuint* value ) {
10220   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10221   TRACE("(%d, %d, %p)\n", location, count, value );
10222   funcs->ext.p_glUniform4uivEXT( location, count, value );
10223 }
10224
10225 static void WINAPI glUniformBlockBinding( GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding ) {
10226   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10227   TRACE("(%d, %d, %d)\n", program, uniformBlockIndex, uniformBlockBinding );
10228   funcs->ext.p_glUniformBlockBinding( program, uniformBlockIndex, uniformBlockBinding );
10229 }
10230
10231 static void WINAPI glUniformBufferEXT( GLuint program, GLint location, GLuint buffer ) {
10232   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10233   TRACE("(%d, %d, %d)\n", program, location, buffer );
10234   funcs->ext.p_glUniformBufferEXT( program, location, buffer );
10235 }
10236
10237 static void WINAPI glUniformHandleui64NV( GLint location, UINT64 value ) {
10238   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10239   TRACE("(%d, %s)\n", location, wine_dbgstr_longlong(value) );
10240   funcs->ext.p_glUniformHandleui64NV( location, value );
10241 }
10242
10243 static void WINAPI glUniformHandleui64vNV( GLint location, GLsizei count, const UINT64* value ) {
10244   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10245   TRACE("(%d, %d, %p)\n", location, count, value );
10246   funcs->ext.p_glUniformHandleui64vNV( location, count, value );
10247 }
10248
10249 static void WINAPI glUniformMatrix2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10250   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10251   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10252   funcs->ext.p_glUniformMatrix2dv( location, count, transpose, value );
10253 }
10254
10255 static void WINAPI glUniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10256   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10257   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10258   funcs->ext.p_glUniformMatrix2fv( location, count, transpose, value );
10259 }
10260
10261 static void WINAPI glUniformMatrix2fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10262   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10263   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10264   funcs->ext.p_glUniformMatrix2fvARB( location, count, transpose, value );
10265 }
10266
10267 static void WINAPI glUniformMatrix2x3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10268   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10269   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10270   funcs->ext.p_glUniformMatrix2x3dv( location, count, transpose, value );
10271 }
10272
10273 static void WINAPI glUniformMatrix2x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10274   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10275   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10276   funcs->ext.p_glUniformMatrix2x3fv( location, count, transpose, value );
10277 }
10278
10279 static void WINAPI glUniformMatrix2x4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10280   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10281   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10282   funcs->ext.p_glUniformMatrix2x4dv( location, count, transpose, value );
10283 }
10284
10285 static void WINAPI glUniformMatrix2x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10286   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10287   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10288   funcs->ext.p_glUniformMatrix2x4fv( location, count, transpose, value );
10289 }
10290
10291 static void WINAPI glUniformMatrix3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10292   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10293   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10294   funcs->ext.p_glUniformMatrix3dv( location, count, transpose, value );
10295 }
10296
10297 static void WINAPI glUniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10298   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10299   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10300   funcs->ext.p_glUniformMatrix3fv( location, count, transpose, value );
10301 }
10302
10303 static void WINAPI glUniformMatrix3fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10304   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10305   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10306   funcs->ext.p_glUniformMatrix3fvARB( location, count, transpose, value );
10307 }
10308
10309 static void WINAPI glUniformMatrix3x2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10310   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10311   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10312   funcs->ext.p_glUniformMatrix3x2dv( location, count, transpose, value );
10313 }
10314
10315 static void WINAPI glUniformMatrix3x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10316   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10317   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10318   funcs->ext.p_glUniformMatrix3x2fv( location, count, transpose, value );
10319 }
10320
10321 static void WINAPI glUniformMatrix3x4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10322   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10323   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10324   funcs->ext.p_glUniformMatrix3x4dv( location, count, transpose, value );
10325 }
10326
10327 static void WINAPI glUniformMatrix3x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10328   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10329   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10330   funcs->ext.p_glUniformMatrix3x4fv( location, count, transpose, value );
10331 }
10332
10333 static void WINAPI glUniformMatrix4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10334   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10335   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10336   funcs->ext.p_glUniformMatrix4dv( location, count, transpose, value );
10337 }
10338
10339 static void WINAPI glUniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10340   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10341   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10342   funcs->ext.p_glUniformMatrix4fv( location, count, transpose, value );
10343 }
10344
10345 static void WINAPI glUniformMatrix4fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10346   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10347   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10348   funcs->ext.p_glUniformMatrix4fvARB( location, count, transpose, value );
10349 }
10350
10351 static void WINAPI glUniformMatrix4x2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10352   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10353   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10354   funcs->ext.p_glUniformMatrix4x2dv( location, count, transpose, value );
10355 }
10356
10357 static void WINAPI glUniformMatrix4x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10358   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10359   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10360   funcs->ext.p_glUniformMatrix4x2fv( location, count, transpose, value );
10361 }
10362
10363 static void WINAPI glUniformMatrix4x3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value ) {
10364   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10365   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10366   funcs->ext.p_glUniformMatrix4x3dv( location, count, transpose, value );
10367 }
10368
10369 static void WINAPI glUniformMatrix4x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ) {
10370   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10371   TRACE("(%d, %d, %d, %p)\n", location, count, transpose, value );
10372   funcs->ext.p_glUniformMatrix4x3fv( location, count, transpose, value );
10373 }
10374
10375 static void WINAPI glUniformSubroutinesuiv( GLenum shadertype, GLsizei count, const GLuint* indices ) {
10376   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10377   TRACE("(%d, %d, %p)\n", shadertype, count, indices );
10378   funcs->ext.p_glUniformSubroutinesuiv( shadertype, count, indices );
10379 }
10380
10381 static void WINAPI glUniformui64NV( GLint location, UINT64 value ) {
10382   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10383   TRACE("(%d, %s)\n", location, wine_dbgstr_longlong(value) );
10384   funcs->ext.p_glUniformui64NV( location, value );
10385 }
10386
10387 static void WINAPI glUniformui64vNV( GLint location, GLsizei count, const UINT64* value ) {
10388   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10389   TRACE("(%d, %d, %p)\n", location, count, value );
10390   funcs->ext.p_glUniformui64vNV( location, count, value );
10391 }
10392
10393 static void WINAPI glUnlockArraysEXT( void ) {
10394   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10395   TRACE("()\n");
10396   funcs->ext.p_glUnlockArraysEXT( );
10397 }
10398
10399 static GLboolean WINAPI glUnmapBuffer( GLenum target ) {
10400   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10401   TRACE("(%d)\n", target );
10402   return funcs->ext.p_glUnmapBuffer( target );
10403 }
10404
10405 static GLboolean WINAPI glUnmapBufferARB( GLenum target ) {
10406   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10407   TRACE("(%d)\n", target );
10408   return funcs->ext.p_glUnmapBufferARB( target );
10409 }
10410
10411 static GLboolean WINAPI glUnmapNamedBufferEXT( GLuint buffer ) {
10412   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10413   TRACE("(%d)\n", buffer );
10414   return funcs->ext.p_glUnmapNamedBufferEXT( buffer );
10415 }
10416
10417 static void WINAPI glUnmapObjectBufferATI( GLuint buffer ) {
10418   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10419   TRACE("(%d)\n", buffer );
10420   funcs->ext.p_glUnmapObjectBufferATI( buffer );
10421 }
10422
10423 static void WINAPI glUpdateObjectBufferATI( GLuint buffer, GLuint offset, GLsizei size, const GLvoid* pointer, GLenum preserve ) {
10424   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10425   TRACE("(%d, %d, %d, %p, %d)\n", buffer, offset, size, pointer, preserve );
10426   funcs->ext.p_glUpdateObjectBufferATI( buffer, offset, size, pointer, preserve );
10427 }
10428
10429 static void WINAPI glUseProgram( GLuint program ) {
10430   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10431   TRACE("(%d)\n", program );
10432   funcs->ext.p_glUseProgram( program );
10433 }
10434
10435 static void WINAPI glUseProgramObjectARB( GLhandleARB programObj ) {
10436   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10437   TRACE("(%d)\n", programObj );
10438   funcs->ext.p_glUseProgramObjectARB( programObj );
10439 }
10440
10441 static void WINAPI glUseProgramStages( GLuint pipeline, GLbitfield stages, GLuint program ) {
10442   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10443   TRACE("(%d, %d, %d)\n", pipeline, stages, program );
10444   funcs->ext.p_glUseProgramStages( pipeline, stages, program );
10445 }
10446
10447 static void WINAPI glUseShaderProgramEXT( GLenum type, GLuint program ) {
10448   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10449   TRACE("(%d, %d)\n", type, program );
10450   funcs->ext.p_glUseShaderProgramEXT( type, program );
10451 }
10452
10453 static void WINAPI glVDPAUFiniNV( void ) {
10454   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10455   TRACE("()\n");
10456   funcs->ext.p_glVDPAUFiniNV( );
10457 }
10458
10459 static void WINAPI glVDPAUGetSurfaceivNV( GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values ) {
10460   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10461   TRACE("(%ld, %d, %d, %p, %p)\n", surface, pname, bufSize, length, values );
10462   funcs->ext.p_glVDPAUGetSurfaceivNV( surface, pname, bufSize, length, values );
10463 }
10464
10465 static void WINAPI glVDPAUInitNV( const GLvoid* vdpDevice, const GLvoid* getProcAddress ) {
10466   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10467   TRACE("(%p, %p)\n", vdpDevice, getProcAddress );
10468   funcs->ext.p_glVDPAUInitNV( vdpDevice, getProcAddress );
10469 }
10470
10471 static void WINAPI glVDPAUIsSurfaceNV( GLvdpauSurfaceNV surface ) {
10472   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10473   TRACE("(%ld)\n", surface );
10474   funcs->ext.p_glVDPAUIsSurfaceNV( surface );
10475 }
10476
10477 static void WINAPI glVDPAUMapSurfacesNV( GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces ) {
10478   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10479   TRACE("(%d, %p)\n", numSurfaces, surfaces );
10480   funcs->ext.p_glVDPAUMapSurfacesNV( numSurfaces, surfaces );
10481 }
10482
10483 static GLvdpauSurfaceNV WINAPI glVDPAURegisterOutputSurfaceNV( GLvoid* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames ) {
10484   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10485   TRACE("(%p, %d, %d, %p)\n", vdpSurface, target, numTextureNames, textureNames );
10486   return funcs->ext.p_glVDPAURegisterOutputSurfaceNV( vdpSurface, target, numTextureNames, textureNames );
10487 }
10488
10489 static GLvdpauSurfaceNV WINAPI glVDPAURegisterVideoSurfaceNV( const GLvoid* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames ) {
10490   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10491   TRACE("(%p, %d, %d, %p)\n", vdpSurface, target, numTextureNames, textureNames );
10492   return funcs->ext.p_glVDPAURegisterVideoSurfaceNV( vdpSurface, target, numTextureNames, textureNames );
10493 }
10494
10495 static void WINAPI glVDPAUSurfaceAccessNV( GLvdpauSurfaceNV surface, GLenum access ) {
10496   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10497   TRACE("(%ld, %d)\n", surface, access );
10498   funcs->ext.p_glVDPAUSurfaceAccessNV( surface, access );
10499 }
10500
10501 static void WINAPI glVDPAUUnmapSurfacesNV( GLsizei numSurface, const GLvdpauSurfaceNV* surfaces ) {
10502   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10503   TRACE("(%d, %p)\n", numSurface, surfaces );
10504   funcs->ext.p_glVDPAUUnmapSurfacesNV( numSurface, surfaces );
10505 }
10506
10507 static void WINAPI glVDPAUUnregisterSurfaceNV( GLvdpauSurfaceNV surface ) {
10508   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10509   TRACE("(%ld)\n", surface );
10510   funcs->ext.p_glVDPAUUnregisterSurfaceNV( surface );
10511 }
10512
10513 static void WINAPI glValidateProgram( GLuint program ) {
10514   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10515   TRACE("(%d)\n", program );
10516   funcs->ext.p_glValidateProgram( program );
10517 }
10518
10519 static void WINAPI glValidateProgramARB( GLhandleARB programObj ) {
10520   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10521   TRACE("(%d)\n", programObj );
10522   funcs->ext.p_glValidateProgramARB( programObj );
10523 }
10524
10525 static void WINAPI glValidateProgramPipeline( GLuint pipeline ) {
10526   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10527   TRACE("(%d)\n", pipeline );
10528   funcs->ext.p_glValidateProgramPipeline( pipeline );
10529 }
10530
10531 static void WINAPI glVariantArrayObjectATI( GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset ) {
10532   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10533   TRACE("(%d, %d, %d, %d, %d)\n", id, type, stride, buffer, offset );
10534   funcs->ext.p_glVariantArrayObjectATI( id, type, stride, buffer, offset );
10535 }
10536
10537 static void WINAPI glVariantPointerEXT( GLuint id, GLenum type, GLuint stride, const GLvoid* addr ) {
10538   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10539   TRACE("(%d, %d, %d, %p)\n", id, type, stride, addr );
10540   funcs->ext.p_glVariantPointerEXT( id, type, stride, addr );
10541 }
10542
10543 static void WINAPI glVariantbvEXT( GLuint id, const GLbyte* addr ) {
10544   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10545   TRACE("(%d, %p)\n", id, addr );
10546   funcs->ext.p_glVariantbvEXT( id, addr );
10547 }
10548
10549 static void WINAPI glVariantdvEXT( GLuint id, const GLdouble* addr ) {
10550   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10551   TRACE("(%d, %p)\n", id, addr );
10552   funcs->ext.p_glVariantdvEXT( id, addr );
10553 }
10554
10555 static void WINAPI glVariantfvEXT( GLuint id, const GLfloat* addr ) {
10556   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10557   TRACE("(%d, %p)\n", id, addr );
10558   funcs->ext.p_glVariantfvEXT( id, addr );
10559 }
10560
10561 static void WINAPI glVariantivEXT( GLuint id, const GLint* addr ) {
10562   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10563   TRACE("(%d, %p)\n", id, addr );
10564   funcs->ext.p_glVariantivEXT( id, addr );
10565 }
10566
10567 static void WINAPI glVariantsvEXT( GLuint id, const GLshort* addr ) {
10568   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10569   TRACE("(%d, %p)\n", id, addr );
10570   funcs->ext.p_glVariantsvEXT( id, addr );
10571 }
10572
10573 static void WINAPI glVariantubvEXT( GLuint id, const GLubyte* addr ) {
10574   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10575   TRACE("(%d, %p)\n", id, addr );
10576   funcs->ext.p_glVariantubvEXT( id, addr );
10577 }
10578
10579 static void WINAPI glVariantuivEXT( GLuint id, const GLuint* addr ) {
10580   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10581   TRACE("(%d, %p)\n", id, addr );
10582   funcs->ext.p_glVariantuivEXT( id, addr );
10583 }
10584
10585 static void WINAPI glVariantusvEXT( GLuint id, const GLushort* addr ) {
10586   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10587   TRACE("(%d, %p)\n", id, addr );
10588   funcs->ext.p_glVariantusvEXT( id, addr );
10589 }
10590
10591 static void WINAPI glVertex2hNV( GLhalfNV x, GLhalfNV y ) {
10592   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10593   TRACE("(%d, %d)\n", x, y );
10594   funcs->ext.p_glVertex2hNV( x, y );
10595 }
10596
10597 static void WINAPI glVertex2hvNV( const GLhalfNV* v ) {
10598   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10599   TRACE("(%p)\n", v );
10600   funcs->ext.p_glVertex2hvNV( v );
10601 }
10602
10603 static void WINAPI glVertex3hNV( GLhalfNV x, GLhalfNV y, GLhalfNV z ) {
10604   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10605   TRACE("(%d, %d, %d)\n", x, y, z );
10606   funcs->ext.p_glVertex3hNV( x, y, z );
10607 }
10608
10609 static void WINAPI glVertex3hvNV( const GLhalfNV* v ) {
10610   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10611   TRACE("(%p)\n", v );
10612   funcs->ext.p_glVertex3hvNV( v );
10613 }
10614
10615 static void WINAPI glVertex4hNV( GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w ) {
10616   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10617   TRACE("(%d, %d, %d, %d)\n", x, y, z, w );
10618   funcs->ext.p_glVertex4hNV( x, y, z, w );
10619 }
10620
10621 static void WINAPI glVertex4hvNV( const GLhalfNV* v ) {
10622   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10623   TRACE("(%p)\n", v );
10624   funcs->ext.p_glVertex4hvNV( v );
10625 }
10626
10627 static void WINAPI glVertexArrayBindVertexBufferEXT( GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) {
10628   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10629   TRACE("(%d, %d, %d, %ld, %d)\n", vaobj, bindingindex, buffer, offset, stride );
10630   funcs->ext.p_glVertexArrayBindVertexBufferEXT( vaobj, bindingindex, buffer, offset, stride );
10631 }
10632
10633 static void WINAPI glVertexArrayParameteriAPPLE( GLenum pname, GLint param ) {
10634   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10635   TRACE("(%d, %d)\n", pname, param );
10636   funcs->ext.p_glVertexArrayParameteriAPPLE( pname, param );
10637 }
10638
10639 static void WINAPI glVertexArrayRangeAPPLE( GLsizei length, GLvoid* pointer ) {
10640   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10641   TRACE("(%d, %p)\n", length, pointer );
10642   funcs->ext.p_glVertexArrayRangeAPPLE( length, pointer );
10643 }
10644
10645 static void WINAPI glVertexArrayRangeNV( GLsizei length, const GLvoid* pointer ) {
10646   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10647   TRACE("(%d, %p)\n", length, pointer );
10648   funcs->ext.p_glVertexArrayRangeNV( length, pointer );
10649 }
10650
10651 static void WINAPI glVertexArrayVertexAttribBindingEXT( GLuint vaobj, GLuint attribindex, GLuint bindingindex ) {
10652   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10653   TRACE("(%d, %d, %d)\n", vaobj, attribindex, bindingindex );
10654   funcs->ext.p_glVertexArrayVertexAttribBindingEXT( vaobj, attribindex, bindingindex );
10655 }
10656
10657 static void WINAPI glVertexArrayVertexAttribFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) {
10658   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10659   TRACE("(%d, %d, %d, %d, %d, %d)\n", vaobj, attribindex, size, type, normalized, relativeoffset );
10660   funcs->ext.p_glVertexArrayVertexAttribFormatEXT( vaobj, attribindex, size, type, normalized, relativeoffset );
10661 }
10662
10663 static void WINAPI glVertexArrayVertexAttribIFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) {
10664   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10665   TRACE("(%d, %d, %d, %d, %d)\n", vaobj, attribindex, size, type, relativeoffset );
10666   funcs->ext.p_glVertexArrayVertexAttribIFormatEXT( vaobj, attribindex, size, type, relativeoffset );
10667 }
10668
10669 static void WINAPI glVertexArrayVertexAttribLFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) {
10670   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10671   TRACE("(%d, %d, %d, %d, %d)\n", vaobj, attribindex, size, type, relativeoffset );
10672   funcs->ext.p_glVertexArrayVertexAttribLFormatEXT( vaobj, attribindex, size, type, relativeoffset );
10673 }
10674
10675 static void WINAPI glVertexArrayVertexAttribLOffsetEXT( GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset ) {
10676   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10677   TRACE("(%d, %d, %d, %d, %d, %d, %ld)\n", vaobj, buffer, index, size, type, stride, offset );
10678   funcs->ext.p_glVertexArrayVertexAttribLOffsetEXT( vaobj, buffer, index, size, type, stride, offset );
10679 }
10680
10681 static void WINAPI glVertexArrayVertexBindingDivisorEXT( GLuint vaobj, GLuint bindingindex, GLuint divisor ) {
10682   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10683   TRACE("(%d, %d, %d)\n", vaobj, bindingindex, divisor );
10684   funcs->ext.p_glVertexArrayVertexBindingDivisorEXT( vaobj, bindingindex, divisor );
10685 }
10686
10687 static void WINAPI glVertexAttrib1d( GLuint index, GLdouble x ) {
10688   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10689   TRACE("(%d, %f)\n", index, x );
10690   funcs->ext.p_glVertexAttrib1d( index, x );
10691 }
10692
10693 static void WINAPI glVertexAttrib1dARB( GLuint index, GLdouble x ) {
10694   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10695   TRACE("(%d, %f)\n", index, x );
10696   funcs->ext.p_glVertexAttrib1dARB( index, x );
10697 }
10698
10699 static void WINAPI glVertexAttrib1dNV( GLuint index, GLdouble x ) {
10700   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10701   TRACE("(%d, %f)\n", index, x );
10702   funcs->ext.p_glVertexAttrib1dNV( index, x );
10703 }
10704
10705 static void WINAPI glVertexAttrib1dv( GLuint index, const GLdouble* v ) {
10706   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10707   TRACE("(%d, %p)\n", index, v );
10708   funcs->ext.p_glVertexAttrib1dv( index, v );
10709 }
10710
10711 static void WINAPI glVertexAttrib1dvARB( GLuint index, const GLdouble* v ) {
10712   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10713   TRACE("(%d, %p)\n", index, v );
10714   funcs->ext.p_glVertexAttrib1dvARB( index, v );
10715 }
10716
10717 static void WINAPI glVertexAttrib1dvNV( GLuint index, const GLdouble* v ) {
10718   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10719   TRACE("(%d, %p)\n", index, v );
10720   funcs->ext.p_glVertexAttrib1dvNV( index, v );
10721 }
10722
10723 static void WINAPI glVertexAttrib1f( GLuint index, GLfloat x ) {
10724   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10725   TRACE("(%d, %f)\n", index, x );
10726   funcs->ext.p_glVertexAttrib1f( index, x );
10727 }
10728
10729 static void WINAPI glVertexAttrib1fARB( GLuint index, GLfloat x ) {
10730   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10731   TRACE("(%d, %f)\n", index, x );
10732   funcs->ext.p_glVertexAttrib1fARB( index, x );
10733 }
10734
10735 static void WINAPI glVertexAttrib1fNV( GLuint index, GLfloat x ) {
10736   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10737   TRACE("(%d, %f)\n", index, x );
10738   funcs->ext.p_glVertexAttrib1fNV( index, x );
10739 }
10740
10741 static void WINAPI glVertexAttrib1fv( GLuint index, const GLfloat* v ) {
10742   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10743   TRACE("(%d, %p)\n", index, v );
10744   funcs->ext.p_glVertexAttrib1fv( index, v );
10745 }
10746
10747 static void WINAPI glVertexAttrib1fvARB( GLuint index, const GLfloat* v ) {
10748   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10749   TRACE("(%d, %p)\n", index, v );
10750   funcs->ext.p_glVertexAttrib1fvARB( index, v );
10751 }
10752
10753 static void WINAPI glVertexAttrib1fvNV( GLuint index, const GLfloat* v ) {
10754   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10755   TRACE("(%d, %p)\n", index, v );
10756   funcs->ext.p_glVertexAttrib1fvNV( index, v );
10757 }
10758
10759 static void WINAPI glVertexAttrib1hNV( GLuint index, GLhalfNV x ) {
10760   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10761   TRACE("(%d, %d)\n", index, x );
10762   funcs->ext.p_glVertexAttrib1hNV( index, x );
10763 }
10764
10765 static void WINAPI glVertexAttrib1hvNV( GLuint index, const GLhalfNV* v ) {
10766   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10767   TRACE("(%d, %p)\n", index, v );
10768   funcs->ext.p_glVertexAttrib1hvNV( index, v );
10769 }
10770
10771 static void WINAPI glVertexAttrib1s( GLuint index, GLshort x ) {
10772   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10773   TRACE("(%d, %d)\n", index, x );
10774   funcs->ext.p_glVertexAttrib1s( index, x );
10775 }
10776
10777 static void WINAPI glVertexAttrib1sARB( GLuint index, GLshort x ) {
10778   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10779   TRACE("(%d, %d)\n", index, x );
10780   funcs->ext.p_glVertexAttrib1sARB( index, x );
10781 }
10782
10783 static void WINAPI glVertexAttrib1sNV( GLuint index, GLshort x ) {
10784   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10785   TRACE("(%d, %d)\n", index, x );
10786   funcs->ext.p_glVertexAttrib1sNV( index, x );
10787 }
10788
10789 static void WINAPI glVertexAttrib1sv( GLuint index, const GLshort* v ) {
10790   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10791   TRACE("(%d, %p)\n", index, v );
10792   funcs->ext.p_glVertexAttrib1sv( index, v );
10793 }
10794
10795 static void WINAPI glVertexAttrib1svARB( GLuint index, const GLshort* v ) {
10796   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10797   TRACE("(%d, %p)\n", index, v );
10798   funcs->ext.p_glVertexAttrib1svARB( index, v );
10799 }
10800
10801 static void WINAPI glVertexAttrib1svNV( GLuint index, const GLshort* v ) {
10802   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10803   TRACE("(%d, %p)\n", index, v );
10804   funcs->ext.p_glVertexAttrib1svNV( index, v );
10805 }
10806
10807 static void WINAPI glVertexAttrib2d( GLuint index, GLdouble x, GLdouble y ) {
10808   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10809   TRACE("(%d, %f, %f)\n", index, x, y );
10810   funcs->ext.p_glVertexAttrib2d( index, x, y );
10811 }
10812
10813 static void WINAPI glVertexAttrib2dARB( GLuint index, GLdouble x, GLdouble y ) {
10814   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10815   TRACE("(%d, %f, %f)\n", index, x, y );
10816   funcs->ext.p_glVertexAttrib2dARB( index, x, y );
10817 }
10818
10819 static void WINAPI glVertexAttrib2dNV( GLuint index, GLdouble x, GLdouble y ) {
10820   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10821   TRACE("(%d, %f, %f)\n", index, x, y );
10822   funcs->ext.p_glVertexAttrib2dNV( index, x, y );
10823 }
10824
10825 static void WINAPI glVertexAttrib2dv( GLuint index, const GLdouble* v ) {
10826   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10827   TRACE("(%d, %p)\n", index, v );
10828   funcs->ext.p_glVertexAttrib2dv( index, v );
10829 }
10830
10831 static void WINAPI glVertexAttrib2dvARB( GLuint index, const GLdouble* v ) {
10832   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10833   TRACE("(%d, %p)\n", index, v );
10834   funcs->ext.p_glVertexAttrib2dvARB( index, v );
10835 }
10836
10837 static void WINAPI glVertexAttrib2dvNV( GLuint index, const GLdouble* v ) {
10838   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10839   TRACE("(%d, %p)\n", index, v );
10840   funcs->ext.p_glVertexAttrib2dvNV( index, v );
10841 }
10842
10843 static void WINAPI glVertexAttrib2f( GLuint index, GLfloat x, GLfloat y ) {
10844   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10845   TRACE("(%d, %f, %f)\n", index, x, y );
10846   funcs->ext.p_glVertexAttrib2f( index, x, y );
10847 }
10848
10849 static void WINAPI glVertexAttrib2fARB( GLuint index, GLfloat x, GLfloat y ) {
10850   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10851   TRACE("(%d, %f, %f)\n", index, x, y );
10852   funcs->ext.p_glVertexAttrib2fARB( index, x, y );
10853 }
10854
10855 static void WINAPI glVertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y ) {
10856   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10857   TRACE("(%d, %f, %f)\n", index, x, y );
10858   funcs->ext.p_glVertexAttrib2fNV( index, x, y );
10859 }
10860
10861 static void WINAPI glVertexAttrib2fv( GLuint index, const GLfloat* v ) {
10862   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10863   TRACE("(%d, %p)\n", index, v );
10864   funcs->ext.p_glVertexAttrib2fv( index, v );
10865 }
10866
10867 static void WINAPI glVertexAttrib2fvARB( GLuint index, const GLfloat* v ) {
10868   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10869   TRACE("(%d, %p)\n", index, v );
10870   funcs->ext.p_glVertexAttrib2fvARB( index, v );
10871 }
10872
10873 static void WINAPI glVertexAttrib2fvNV( GLuint index, const GLfloat* v ) {
10874   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10875   TRACE("(%d, %p)\n", index, v );
10876   funcs->ext.p_glVertexAttrib2fvNV( index, v );
10877 }
10878
10879 static void WINAPI glVertexAttrib2hNV( GLuint index, GLhalfNV x, GLhalfNV y ) {
10880   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10881   TRACE("(%d, %d, %d)\n", index, x, y );
10882   funcs->ext.p_glVertexAttrib2hNV( index, x, y );
10883 }
10884
10885 static void WINAPI glVertexAttrib2hvNV( GLuint index, const GLhalfNV* v ) {
10886   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10887   TRACE("(%d, %p)\n", index, v );
10888   funcs->ext.p_glVertexAttrib2hvNV( index, v );
10889 }
10890
10891 static void WINAPI glVertexAttrib2s( GLuint index, GLshort x, GLshort y ) {
10892   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10893   TRACE("(%d, %d, %d)\n", index, x, y );
10894   funcs->ext.p_glVertexAttrib2s( index, x, y );
10895 }
10896
10897 static void WINAPI glVertexAttrib2sARB( GLuint index, GLshort x, GLshort y ) {
10898   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10899   TRACE("(%d, %d, %d)\n", index, x, y );
10900   funcs->ext.p_glVertexAttrib2sARB( index, x, y );
10901 }
10902
10903 static void WINAPI glVertexAttrib2sNV( GLuint index, GLshort x, GLshort y ) {
10904   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10905   TRACE("(%d, %d, %d)\n", index, x, y );
10906   funcs->ext.p_glVertexAttrib2sNV( index, x, y );
10907 }
10908
10909 static void WINAPI glVertexAttrib2sv( GLuint index, const GLshort* v ) {
10910   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10911   TRACE("(%d, %p)\n", index, v );
10912   funcs->ext.p_glVertexAttrib2sv( index, v );
10913 }
10914
10915 static void WINAPI glVertexAttrib2svARB( GLuint index, const GLshort* v ) {
10916   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10917   TRACE("(%d, %p)\n", index, v );
10918   funcs->ext.p_glVertexAttrib2svARB( index, v );
10919 }
10920
10921 static void WINAPI glVertexAttrib2svNV( GLuint index, const GLshort* v ) {
10922   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10923   TRACE("(%d, %p)\n", index, v );
10924   funcs->ext.p_glVertexAttrib2svNV( index, v );
10925 }
10926
10927 static void WINAPI glVertexAttrib3d( GLuint index, GLdouble x, GLdouble y, GLdouble z ) {
10928   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10929   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10930   funcs->ext.p_glVertexAttrib3d( index, x, y, z );
10931 }
10932
10933 static void WINAPI glVertexAttrib3dARB( GLuint index, GLdouble x, GLdouble y, GLdouble z ) {
10934   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10935   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10936   funcs->ext.p_glVertexAttrib3dARB( index, x, y, z );
10937 }
10938
10939 static void WINAPI glVertexAttrib3dNV( GLuint index, GLdouble x, GLdouble y, GLdouble z ) {
10940   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10941   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10942   funcs->ext.p_glVertexAttrib3dNV( index, x, y, z );
10943 }
10944
10945 static void WINAPI glVertexAttrib3dv( GLuint index, const GLdouble* v ) {
10946   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10947   TRACE("(%d, %p)\n", index, v );
10948   funcs->ext.p_glVertexAttrib3dv( index, v );
10949 }
10950
10951 static void WINAPI glVertexAttrib3dvARB( GLuint index, const GLdouble* v ) {
10952   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10953   TRACE("(%d, %p)\n", index, v );
10954   funcs->ext.p_glVertexAttrib3dvARB( index, v );
10955 }
10956
10957 static void WINAPI glVertexAttrib3dvNV( GLuint index, const GLdouble* v ) {
10958   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10959   TRACE("(%d, %p)\n", index, v );
10960   funcs->ext.p_glVertexAttrib3dvNV( index, v );
10961 }
10962
10963 static void WINAPI glVertexAttrib3f( GLuint index, GLfloat x, GLfloat y, GLfloat z ) {
10964   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10965   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10966   funcs->ext.p_glVertexAttrib3f( index, x, y, z );
10967 }
10968
10969 static void WINAPI glVertexAttrib3fARB( GLuint index, GLfloat x, GLfloat y, GLfloat z ) {
10970   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10971   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10972   funcs->ext.p_glVertexAttrib3fARB( index, x, y, z );
10973 }
10974
10975 static void WINAPI glVertexAttrib3fNV( GLuint index, GLfloat x, GLfloat y, GLfloat z ) {
10976   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10977   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
10978   funcs->ext.p_glVertexAttrib3fNV( index, x, y, z );
10979 }
10980
10981 static void WINAPI glVertexAttrib3fv( GLuint index, const GLfloat* v ) {
10982   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10983   TRACE("(%d, %p)\n", index, v );
10984   funcs->ext.p_glVertexAttrib3fv( index, v );
10985 }
10986
10987 static void WINAPI glVertexAttrib3fvARB( GLuint index, const GLfloat* v ) {
10988   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10989   TRACE("(%d, %p)\n", index, v );
10990   funcs->ext.p_glVertexAttrib3fvARB( index, v );
10991 }
10992
10993 static void WINAPI glVertexAttrib3fvNV( GLuint index, const GLfloat* v ) {
10994   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
10995   TRACE("(%d, %p)\n", index, v );
10996   funcs->ext.p_glVertexAttrib3fvNV( index, v );
10997 }
10998
10999 static void WINAPI glVertexAttrib3hNV( GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z ) {
11000   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11001   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11002   funcs->ext.p_glVertexAttrib3hNV( index, x, y, z );
11003 }
11004
11005 static void WINAPI glVertexAttrib3hvNV( GLuint index, const GLhalfNV* v ) {
11006   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11007   TRACE("(%d, %p)\n", index, v );
11008   funcs->ext.p_glVertexAttrib3hvNV( index, v );
11009 }
11010
11011 static void WINAPI glVertexAttrib3s( GLuint index, GLshort x, GLshort y, GLshort z ) {
11012   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11013   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11014   funcs->ext.p_glVertexAttrib3s( index, x, y, z );
11015 }
11016
11017 static void WINAPI glVertexAttrib3sARB( GLuint index, GLshort x, GLshort y, GLshort z ) {
11018   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11019   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11020   funcs->ext.p_glVertexAttrib3sARB( index, x, y, z );
11021 }
11022
11023 static void WINAPI glVertexAttrib3sNV( GLuint index, GLshort x, GLshort y, GLshort z ) {
11024   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11025   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11026   funcs->ext.p_glVertexAttrib3sNV( index, x, y, z );
11027 }
11028
11029 static void WINAPI glVertexAttrib3sv( GLuint index, const GLshort* v ) {
11030   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11031   TRACE("(%d, %p)\n", index, v );
11032   funcs->ext.p_glVertexAttrib3sv( index, v );
11033 }
11034
11035 static void WINAPI glVertexAttrib3svARB( GLuint index, const GLshort* v ) {
11036   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11037   TRACE("(%d, %p)\n", index, v );
11038   funcs->ext.p_glVertexAttrib3svARB( index, v );
11039 }
11040
11041 static void WINAPI glVertexAttrib3svNV( GLuint index, const GLshort* v ) {
11042   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11043   TRACE("(%d, %p)\n", index, v );
11044   funcs->ext.p_glVertexAttrib3svNV( index, v );
11045 }
11046
11047 static void WINAPI glVertexAttrib4Nbv( GLuint index, const GLbyte* v ) {
11048   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11049   TRACE("(%d, %p)\n", index, v );
11050   funcs->ext.p_glVertexAttrib4Nbv( index, v );
11051 }
11052
11053 static void WINAPI glVertexAttrib4NbvARB( GLuint index, const GLbyte* v ) {
11054   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11055   TRACE("(%d, %p)\n", index, v );
11056   funcs->ext.p_glVertexAttrib4NbvARB( index, v );
11057 }
11058
11059 static void WINAPI glVertexAttrib4Niv( GLuint index, const GLint* v ) {
11060   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11061   TRACE("(%d, %p)\n", index, v );
11062   funcs->ext.p_glVertexAttrib4Niv( index, v );
11063 }
11064
11065 static void WINAPI glVertexAttrib4NivARB( GLuint index, const GLint* v ) {
11066   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11067   TRACE("(%d, %p)\n", index, v );
11068   funcs->ext.p_glVertexAttrib4NivARB( index, v );
11069 }
11070
11071 static void WINAPI glVertexAttrib4Nsv( GLuint index, const GLshort* v ) {
11072   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11073   TRACE("(%d, %p)\n", index, v );
11074   funcs->ext.p_glVertexAttrib4Nsv( index, v );
11075 }
11076
11077 static void WINAPI glVertexAttrib4NsvARB( GLuint index, const GLshort* v ) {
11078   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11079   TRACE("(%d, %p)\n", index, v );
11080   funcs->ext.p_glVertexAttrib4NsvARB( index, v );
11081 }
11082
11083 static void WINAPI glVertexAttrib4Nub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) {
11084   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11085   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11086   funcs->ext.p_glVertexAttrib4Nub( index, x, y, z, w );
11087 }
11088
11089 static void WINAPI glVertexAttrib4NubARB( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) {
11090   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11091   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11092   funcs->ext.p_glVertexAttrib4NubARB( index, x, y, z, w );
11093 }
11094
11095 static void WINAPI glVertexAttrib4Nubv( GLuint index, const GLubyte* v ) {
11096   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11097   TRACE("(%d, %p)\n", index, v );
11098   funcs->ext.p_glVertexAttrib4Nubv( index, v );
11099 }
11100
11101 static void WINAPI glVertexAttrib4NubvARB( GLuint index, const GLubyte* v ) {
11102   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11103   TRACE("(%d, %p)\n", index, v );
11104   funcs->ext.p_glVertexAttrib4NubvARB( index, v );
11105 }
11106
11107 static void WINAPI glVertexAttrib4Nuiv( GLuint index, const GLuint* v ) {
11108   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11109   TRACE("(%d, %p)\n", index, v );
11110   funcs->ext.p_glVertexAttrib4Nuiv( index, v );
11111 }
11112
11113 static void WINAPI glVertexAttrib4NuivARB( GLuint index, const GLuint* v ) {
11114   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11115   TRACE("(%d, %p)\n", index, v );
11116   funcs->ext.p_glVertexAttrib4NuivARB( index, v );
11117 }
11118
11119 static void WINAPI glVertexAttrib4Nusv( GLuint index, const GLushort* v ) {
11120   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11121   TRACE("(%d, %p)\n", index, v );
11122   funcs->ext.p_glVertexAttrib4Nusv( index, v );
11123 }
11124
11125 static void WINAPI glVertexAttrib4NusvARB( GLuint index, const GLushort* v ) {
11126   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11127   TRACE("(%d, %p)\n", index, v );
11128   funcs->ext.p_glVertexAttrib4NusvARB( index, v );
11129 }
11130
11131 static void WINAPI glVertexAttrib4bv( GLuint index, const GLbyte* v ) {
11132   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11133   TRACE("(%d, %p)\n", index, v );
11134   funcs->ext.p_glVertexAttrib4bv( index, v );
11135 }
11136
11137 static void WINAPI glVertexAttrib4bvARB( GLuint index, const GLbyte* v ) {
11138   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11139   TRACE("(%d, %p)\n", index, v );
11140   funcs->ext.p_glVertexAttrib4bvARB( index, v );
11141 }
11142
11143 static void WINAPI glVertexAttrib4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
11144   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11145   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11146   funcs->ext.p_glVertexAttrib4d( index, x, y, z, w );
11147 }
11148
11149 static void WINAPI glVertexAttrib4dARB( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
11150   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11151   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11152   funcs->ext.p_glVertexAttrib4dARB( index, x, y, z, w );
11153 }
11154
11155 static void WINAPI glVertexAttrib4dNV( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
11156   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11157   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11158   funcs->ext.p_glVertexAttrib4dNV( index, x, y, z, w );
11159 }
11160
11161 static void WINAPI glVertexAttrib4dv( GLuint index, const GLdouble* v ) {
11162   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11163   TRACE("(%d, %p)\n", index, v );
11164   funcs->ext.p_glVertexAttrib4dv( index, v );
11165 }
11166
11167 static void WINAPI glVertexAttrib4dvARB( GLuint index, const GLdouble* v ) {
11168   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11169   TRACE("(%d, %p)\n", index, v );
11170   funcs->ext.p_glVertexAttrib4dvARB( index, v );
11171 }
11172
11173 static void WINAPI glVertexAttrib4dvNV( GLuint index, const GLdouble* v ) {
11174   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11175   TRACE("(%d, %p)\n", index, v );
11176   funcs->ext.p_glVertexAttrib4dvNV( index, v );
11177 }
11178
11179 static void WINAPI glVertexAttrib4f( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
11180   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11181   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11182   funcs->ext.p_glVertexAttrib4f( index, x, y, z, w );
11183 }
11184
11185 static void WINAPI glVertexAttrib4fARB( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
11186   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11187   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11188   funcs->ext.p_glVertexAttrib4fARB( index, x, y, z, w );
11189 }
11190
11191 static void WINAPI glVertexAttrib4fNV( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
11192   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11193   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11194   funcs->ext.p_glVertexAttrib4fNV( index, x, y, z, w );
11195 }
11196
11197 static void WINAPI glVertexAttrib4fv( GLuint index, const GLfloat* v ) {
11198   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11199   TRACE("(%d, %p)\n", index, v );
11200   funcs->ext.p_glVertexAttrib4fv( index, v );
11201 }
11202
11203 static void WINAPI glVertexAttrib4fvARB( GLuint index, const GLfloat* v ) {
11204   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11205   TRACE("(%d, %p)\n", index, v );
11206   funcs->ext.p_glVertexAttrib4fvARB( index, v );
11207 }
11208
11209 static void WINAPI glVertexAttrib4fvNV( GLuint index, const GLfloat* v ) {
11210   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11211   TRACE("(%d, %p)\n", index, v );
11212   funcs->ext.p_glVertexAttrib4fvNV( index, v );
11213 }
11214
11215 static void WINAPI glVertexAttrib4hNV( GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w ) {
11216   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11217   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11218   funcs->ext.p_glVertexAttrib4hNV( index, x, y, z, w );
11219 }
11220
11221 static void WINAPI glVertexAttrib4hvNV( GLuint index, const GLhalfNV* v ) {
11222   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11223   TRACE("(%d, %p)\n", index, v );
11224   funcs->ext.p_glVertexAttrib4hvNV( index, v );
11225 }
11226
11227 static void WINAPI glVertexAttrib4iv( GLuint index, const GLint* v ) {
11228   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11229   TRACE("(%d, %p)\n", index, v );
11230   funcs->ext.p_glVertexAttrib4iv( index, v );
11231 }
11232
11233 static void WINAPI glVertexAttrib4ivARB( GLuint index, const GLint* v ) {
11234   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11235   TRACE("(%d, %p)\n", index, v );
11236   funcs->ext.p_glVertexAttrib4ivARB( index, v );
11237 }
11238
11239 static void WINAPI glVertexAttrib4s( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) {
11240   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11241   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11242   funcs->ext.p_glVertexAttrib4s( index, x, y, z, w );
11243 }
11244
11245 static void WINAPI glVertexAttrib4sARB( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) {
11246   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11247   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11248   funcs->ext.p_glVertexAttrib4sARB( index, x, y, z, w );
11249 }
11250
11251 static void WINAPI glVertexAttrib4sNV( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) {
11252   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11253   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11254   funcs->ext.p_glVertexAttrib4sNV( index, x, y, z, w );
11255 }
11256
11257 static void WINAPI glVertexAttrib4sv( GLuint index, const GLshort* v ) {
11258   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11259   TRACE("(%d, %p)\n", index, v );
11260   funcs->ext.p_glVertexAttrib4sv( index, v );
11261 }
11262
11263 static void WINAPI glVertexAttrib4svARB( GLuint index, const GLshort* v ) {
11264   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11265   TRACE("(%d, %p)\n", index, v );
11266   funcs->ext.p_glVertexAttrib4svARB( index, v );
11267 }
11268
11269 static void WINAPI glVertexAttrib4svNV( GLuint index, const GLshort* v ) {
11270   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11271   TRACE("(%d, %p)\n", index, v );
11272   funcs->ext.p_glVertexAttrib4svNV( index, v );
11273 }
11274
11275 static void WINAPI glVertexAttrib4ubNV( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) {
11276   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11277   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11278   funcs->ext.p_glVertexAttrib4ubNV( index, x, y, z, w );
11279 }
11280
11281 static void WINAPI glVertexAttrib4ubv( GLuint index, const GLubyte* v ) {
11282   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11283   TRACE("(%d, %p)\n", index, v );
11284   funcs->ext.p_glVertexAttrib4ubv( index, v );
11285 }
11286
11287 static void WINAPI glVertexAttrib4ubvARB( GLuint index, const GLubyte* v ) {
11288   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11289   TRACE("(%d, %p)\n", index, v );
11290   funcs->ext.p_glVertexAttrib4ubvARB( index, v );
11291 }
11292
11293 static void WINAPI glVertexAttrib4ubvNV( GLuint index, const GLubyte* v ) {
11294   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11295   TRACE("(%d, %p)\n", index, v );
11296   funcs->ext.p_glVertexAttrib4ubvNV( index, v );
11297 }
11298
11299 static void WINAPI glVertexAttrib4uiv( GLuint index, const GLuint* v ) {
11300   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11301   TRACE("(%d, %p)\n", index, v );
11302   funcs->ext.p_glVertexAttrib4uiv( index, v );
11303 }
11304
11305 static void WINAPI glVertexAttrib4uivARB( GLuint index, const GLuint* v ) {
11306   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11307   TRACE("(%d, %p)\n", index, v );
11308   funcs->ext.p_glVertexAttrib4uivARB( index, v );
11309 }
11310
11311 static void WINAPI glVertexAttrib4usv( GLuint index, const GLushort* v ) {
11312   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11313   TRACE("(%d, %p)\n", index, v );
11314   funcs->ext.p_glVertexAttrib4usv( index, v );
11315 }
11316
11317 static void WINAPI glVertexAttrib4usvARB( GLuint index, const GLushort* v ) {
11318   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11319   TRACE("(%d, %p)\n", index, v );
11320   funcs->ext.p_glVertexAttrib4usvARB( index, v );
11321 }
11322
11323 static void WINAPI glVertexAttribArrayObjectATI( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset ) {
11324   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11325   TRACE("(%d, %d, %d, %d, %d, %d, %d)\n", index, size, type, normalized, stride, buffer, offset );
11326   funcs->ext.p_glVertexAttribArrayObjectATI( index, size, type, normalized, stride, buffer, offset );
11327 }
11328
11329 static void WINAPI glVertexAttribBinding( GLuint attribindex, GLuint bindingindex ) {
11330   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11331   TRACE("(%d, %d)\n", attribindex, bindingindex );
11332   funcs->ext.p_glVertexAttribBinding( attribindex, bindingindex );
11333 }
11334
11335 static void WINAPI glVertexAttribDivisor( GLuint index, GLuint divisor ) {
11336   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11337   TRACE("(%d, %d)\n", index, divisor );
11338   funcs->ext.p_glVertexAttribDivisor( index, divisor );
11339 }
11340
11341 static void WINAPI glVertexAttribDivisorARB( GLuint index, GLuint divisor ) {
11342   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11343   TRACE("(%d, %d)\n", index, divisor );
11344   funcs->ext.p_glVertexAttribDivisorARB( index, divisor );
11345 }
11346
11347 static void WINAPI glVertexAttribFormat( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) {
11348   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11349   TRACE("(%d, %d, %d, %d, %d)\n", attribindex, size, type, normalized, relativeoffset );
11350   funcs->ext.p_glVertexAttribFormat( attribindex, size, type, normalized, relativeoffset );
11351 }
11352
11353 static void WINAPI glVertexAttribFormatNV( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride ) {
11354   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11355   TRACE("(%d, %d, %d, %d, %d)\n", index, size, type, normalized, stride );
11356   funcs->ext.p_glVertexAttribFormatNV( index, size, type, normalized, stride );
11357 }
11358
11359 static void WINAPI glVertexAttribI1i( GLuint index, GLint x ) {
11360   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11361   TRACE("(%d, %d)\n", index, x );
11362   funcs->ext.p_glVertexAttribI1i( index, x );
11363 }
11364
11365 static void WINAPI glVertexAttribI1iEXT( GLuint index, GLint x ) {
11366   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11367   TRACE("(%d, %d)\n", index, x );
11368   funcs->ext.p_glVertexAttribI1iEXT( index, x );
11369 }
11370
11371 static void WINAPI glVertexAttribI1iv( GLuint index, const GLint* v ) {
11372   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11373   TRACE("(%d, %p)\n", index, v );
11374   funcs->ext.p_glVertexAttribI1iv( index, v );
11375 }
11376
11377 static void WINAPI glVertexAttribI1ivEXT( GLuint index, const GLint* v ) {
11378   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11379   TRACE("(%d, %p)\n", index, v );
11380   funcs->ext.p_glVertexAttribI1ivEXT( index, v );
11381 }
11382
11383 static void WINAPI glVertexAttribI1ui( GLuint index, GLuint x ) {
11384   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11385   TRACE("(%d, %d)\n", index, x );
11386   funcs->ext.p_glVertexAttribI1ui( index, x );
11387 }
11388
11389 static void WINAPI glVertexAttribI1uiEXT( GLuint index, GLuint x ) {
11390   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11391   TRACE("(%d, %d)\n", index, x );
11392   funcs->ext.p_glVertexAttribI1uiEXT( index, x );
11393 }
11394
11395 static void WINAPI glVertexAttribI1uiv( GLuint index, const GLuint* v ) {
11396   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11397   TRACE("(%d, %p)\n", index, v );
11398   funcs->ext.p_glVertexAttribI1uiv( index, v );
11399 }
11400
11401 static void WINAPI glVertexAttribI1uivEXT( GLuint index, const GLuint* v ) {
11402   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11403   TRACE("(%d, %p)\n", index, v );
11404   funcs->ext.p_glVertexAttribI1uivEXT( index, v );
11405 }
11406
11407 static void WINAPI glVertexAttribI2i( GLuint index, GLint x, GLint y ) {
11408   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11409   TRACE("(%d, %d, %d)\n", index, x, y );
11410   funcs->ext.p_glVertexAttribI2i( index, x, y );
11411 }
11412
11413 static void WINAPI glVertexAttribI2iEXT( GLuint index, GLint x, GLint y ) {
11414   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11415   TRACE("(%d, %d, %d)\n", index, x, y );
11416   funcs->ext.p_glVertexAttribI2iEXT( index, x, y );
11417 }
11418
11419 static void WINAPI glVertexAttribI2iv( GLuint index, const GLint* v ) {
11420   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11421   TRACE("(%d, %p)\n", index, v );
11422   funcs->ext.p_glVertexAttribI2iv( index, v );
11423 }
11424
11425 static void WINAPI glVertexAttribI2ivEXT( GLuint index, const GLint* v ) {
11426   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11427   TRACE("(%d, %p)\n", index, v );
11428   funcs->ext.p_glVertexAttribI2ivEXT( index, v );
11429 }
11430
11431 static void WINAPI glVertexAttribI2ui( GLuint index, GLuint x, GLuint y ) {
11432   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11433   TRACE("(%d, %d, %d)\n", index, x, y );
11434   funcs->ext.p_glVertexAttribI2ui( index, x, y );
11435 }
11436
11437 static void WINAPI glVertexAttribI2uiEXT( GLuint index, GLuint x, GLuint y ) {
11438   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11439   TRACE("(%d, %d, %d)\n", index, x, y );
11440   funcs->ext.p_glVertexAttribI2uiEXT( index, x, y );
11441 }
11442
11443 static void WINAPI glVertexAttribI2uiv( GLuint index, const GLuint* v ) {
11444   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11445   TRACE("(%d, %p)\n", index, v );
11446   funcs->ext.p_glVertexAttribI2uiv( index, v );
11447 }
11448
11449 static void WINAPI glVertexAttribI2uivEXT( GLuint index, const GLuint* v ) {
11450   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11451   TRACE("(%d, %p)\n", index, v );
11452   funcs->ext.p_glVertexAttribI2uivEXT( index, v );
11453 }
11454
11455 static void WINAPI glVertexAttribI3i( GLuint index, GLint x, GLint y, GLint z ) {
11456   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11457   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11458   funcs->ext.p_glVertexAttribI3i( index, x, y, z );
11459 }
11460
11461 static void WINAPI glVertexAttribI3iEXT( GLuint index, GLint x, GLint y, GLint z ) {
11462   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11463   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11464   funcs->ext.p_glVertexAttribI3iEXT( index, x, y, z );
11465 }
11466
11467 static void WINAPI glVertexAttribI3iv( GLuint index, const GLint* v ) {
11468   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11469   TRACE("(%d, %p)\n", index, v );
11470   funcs->ext.p_glVertexAttribI3iv( index, v );
11471 }
11472
11473 static void WINAPI glVertexAttribI3ivEXT( GLuint index, const GLint* v ) {
11474   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11475   TRACE("(%d, %p)\n", index, v );
11476   funcs->ext.p_glVertexAttribI3ivEXT( index, v );
11477 }
11478
11479 static void WINAPI glVertexAttribI3ui( GLuint index, GLuint x, GLuint y, GLuint z ) {
11480   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11481   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11482   funcs->ext.p_glVertexAttribI3ui( index, x, y, z );
11483 }
11484
11485 static void WINAPI glVertexAttribI3uiEXT( GLuint index, GLuint x, GLuint y, GLuint z ) {
11486   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11487   TRACE("(%d, %d, %d, %d)\n", index, x, y, z );
11488   funcs->ext.p_glVertexAttribI3uiEXT( index, x, y, z );
11489 }
11490
11491 static void WINAPI glVertexAttribI3uiv( GLuint index, const GLuint* v ) {
11492   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11493   TRACE("(%d, %p)\n", index, v );
11494   funcs->ext.p_glVertexAttribI3uiv( index, v );
11495 }
11496
11497 static void WINAPI glVertexAttribI3uivEXT( GLuint index, const GLuint* v ) {
11498   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11499   TRACE("(%d, %p)\n", index, v );
11500   funcs->ext.p_glVertexAttribI3uivEXT( index, v );
11501 }
11502
11503 static void WINAPI glVertexAttribI4bv( GLuint index, const GLbyte* v ) {
11504   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11505   TRACE("(%d, %p)\n", index, v );
11506   funcs->ext.p_glVertexAttribI4bv( index, v );
11507 }
11508
11509 static void WINAPI glVertexAttribI4bvEXT( GLuint index, const GLbyte* v ) {
11510   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11511   TRACE("(%d, %p)\n", index, v );
11512   funcs->ext.p_glVertexAttribI4bvEXT( index, v );
11513 }
11514
11515 static void WINAPI glVertexAttribI4i( GLuint index, GLint x, GLint y, GLint z, GLint w ) {
11516   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11517   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11518   funcs->ext.p_glVertexAttribI4i( index, x, y, z, w );
11519 }
11520
11521 static void WINAPI glVertexAttribI4iEXT( GLuint index, GLint x, GLint y, GLint z, GLint w ) {
11522   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11523   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11524   funcs->ext.p_glVertexAttribI4iEXT( index, x, y, z, w );
11525 }
11526
11527 static void WINAPI glVertexAttribI4iv( GLuint index, const GLint* v ) {
11528   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11529   TRACE("(%d, %p)\n", index, v );
11530   funcs->ext.p_glVertexAttribI4iv( index, v );
11531 }
11532
11533 static void WINAPI glVertexAttribI4ivEXT( GLuint index, const GLint* v ) {
11534   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11535   TRACE("(%d, %p)\n", index, v );
11536   funcs->ext.p_glVertexAttribI4ivEXT( index, v );
11537 }
11538
11539 static void WINAPI glVertexAttribI4sv( GLuint index, const GLshort* v ) {
11540   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11541   TRACE("(%d, %p)\n", index, v );
11542   funcs->ext.p_glVertexAttribI4sv( index, v );
11543 }
11544
11545 static void WINAPI glVertexAttribI4svEXT( GLuint index, const GLshort* v ) {
11546   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11547   TRACE("(%d, %p)\n", index, v );
11548   funcs->ext.p_glVertexAttribI4svEXT( index, v );
11549 }
11550
11551 static void WINAPI glVertexAttribI4ubv( GLuint index, const GLubyte* v ) {
11552   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11553   TRACE("(%d, %p)\n", index, v );
11554   funcs->ext.p_glVertexAttribI4ubv( index, v );
11555 }
11556
11557 static void WINAPI glVertexAttribI4ubvEXT( GLuint index, const GLubyte* v ) {
11558   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11559   TRACE("(%d, %p)\n", index, v );
11560   funcs->ext.p_glVertexAttribI4ubvEXT( index, v );
11561 }
11562
11563 static void WINAPI glVertexAttribI4ui( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) {
11564   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11565   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11566   funcs->ext.p_glVertexAttribI4ui( index, x, y, z, w );
11567 }
11568
11569 static void WINAPI glVertexAttribI4uiEXT( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) {
11570   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11571   TRACE("(%d, %d, %d, %d, %d)\n", index, x, y, z, w );
11572   funcs->ext.p_glVertexAttribI4uiEXT( index, x, y, z, w );
11573 }
11574
11575 static void WINAPI glVertexAttribI4uiv( GLuint index, const GLuint* v ) {
11576   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11577   TRACE("(%d, %p)\n", index, v );
11578   funcs->ext.p_glVertexAttribI4uiv( index, v );
11579 }
11580
11581 static void WINAPI glVertexAttribI4uivEXT( GLuint index, const GLuint* v ) {
11582   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11583   TRACE("(%d, %p)\n", index, v );
11584   funcs->ext.p_glVertexAttribI4uivEXT( index, v );
11585 }
11586
11587 static void WINAPI glVertexAttribI4usv( GLuint index, const GLushort* v ) {
11588   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11589   TRACE("(%d, %p)\n", index, v );
11590   funcs->ext.p_glVertexAttribI4usv( index, v );
11591 }
11592
11593 static void WINAPI glVertexAttribI4usvEXT( GLuint index, const GLushort* v ) {
11594   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11595   TRACE("(%d, %p)\n", index, v );
11596   funcs->ext.p_glVertexAttribI4usvEXT( index, v );
11597 }
11598
11599 static void WINAPI glVertexAttribIFormat( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) {
11600   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11601   TRACE("(%d, %d, %d, %d)\n", attribindex, size, type, relativeoffset );
11602   funcs->ext.p_glVertexAttribIFormat( attribindex, size, type, relativeoffset );
11603 }
11604
11605 static void WINAPI glVertexAttribIFormatNV( GLuint index, GLint size, GLenum type, GLsizei stride ) {
11606   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11607   TRACE("(%d, %d, %d, %d)\n", index, size, type, stride );
11608   funcs->ext.p_glVertexAttribIFormatNV( index, size, type, stride );
11609 }
11610
11611 static void WINAPI glVertexAttribIPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
11612   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11613   TRACE("(%d, %d, %d, %d, %p)\n", index, size, type, stride, pointer );
11614   funcs->ext.p_glVertexAttribIPointer( index, size, type, stride, pointer );
11615 }
11616
11617 static void WINAPI glVertexAttribIPointerEXT( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
11618   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11619   TRACE("(%d, %d, %d, %d, %p)\n", index, size, type, stride, pointer );
11620   funcs->ext.p_glVertexAttribIPointerEXT( index, size, type, stride, pointer );
11621 }
11622
11623 static void WINAPI glVertexAttribL1d( GLuint index, GLdouble x ) {
11624   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11625   TRACE("(%d, %f)\n", index, x );
11626   funcs->ext.p_glVertexAttribL1d( index, x );
11627 }
11628
11629 static void WINAPI glVertexAttribL1dEXT( GLuint index, GLdouble x ) {
11630   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11631   TRACE("(%d, %f)\n", index, x );
11632   funcs->ext.p_glVertexAttribL1dEXT( index, x );
11633 }
11634
11635 static void WINAPI glVertexAttribL1dv( GLuint index, const GLdouble* v ) {
11636   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11637   TRACE("(%d, %p)\n", index, v );
11638   funcs->ext.p_glVertexAttribL1dv( index, v );
11639 }
11640
11641 static void WINAPI glVertexAttribL1dvEXT( GLuint index, const GLdouble* v ) {
11642   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11643   TRACE("(%d, %p)\n", index, v );
11644   funcs->ext.p_glVertexAttribL1dvEXT( index, v );
11645 }
11646
11647 static void WINAPI glVertexAttribL1i64NV( GLuint index, INT64 x ) {
11648   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11649   TRACE("(%d, %s)\n", index, wine_dbgstr_longlong(x) );
11650   funcs->ext.p_glVertexAttribL1i64NV( index, x );
11651 }
11652
11653 static void WINAPI glVertexAttribL1i64vNV( GLuint index, const INT64* v ) {
11654   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11655   TRACE("(%d, %p)\n", index, v );
11656   funcs->ext.p_glVertexAttribL1i64vNV( index, v );
11657 }
11658
11659 static void WINAPI glVertexAttribL1ui64NV( GLuint index, UINT64 x ) {
11660   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11661   TRACE("(%d, %s)\n", index, wine_dbgstr_longlong(x) );
11662   funcs->ext.p_glVertexAttribL1ui64NV( index, x );
11663 }
11664
11665 static void WINAPI glVertexAttribL1ui64vNV( GLuint index, const UINT64* v ) {
11666   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11667   TRACE("(%d, %p)\n", index, v );
11668   funcs->ext.p_glVertexAttribL1ui64vNV( index, v );
11669 }
11670
11671 static void WINAPI glVertexAttribL2d( GLuint index, GLdouble x, GLdouble y ) {
11672   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11673   TRACE("(%d, %f, %f)\n", index, x, y );
11674   funcs->ext.p_glVertexAttribL2d( index, x, y );
11675 }
11676
11677 static void WINAPI glVertexAttribL2dEXT( GLuint index, GLdouble x, GLdouble y ) {
11678   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11679   TRACE("(%d, %f, %f)\n", index, x, y );
11680   funcs->ext.p_glVertexAttribL2dEXT( index, x, y );
11681 }
11682
11683 static void WINAPI glVertexAttribL2dv( GLuint index, const GLdouble* v ) {
11684   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11685   TRACE("(%d, %p)\n", index, v );
11686   funcs->ext.p_glVertexAttribL2dv( index, v );
11687 }
11688
11689 static void WINAPI glVertexAttribL2dvEXT( GLuint index, const GLdouble* v ) {
11690   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11691   TRACE("(%d, %p)\n", index, v );
11692   funcs->ext.p_glVertexAttribL2dvEXT( index, v );
11693 }
11694
11695 static void WINAPI glVertexAttribL2i64NV( GLuint index, INT64 x, INT64 y ) {
11696   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11697   TRACE("(%d, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
11698   funcs->ext.p_glVertexAttribL2i64NV( index, x, y );
11699 }
11700
11701 static void WINAPI glVertexAttribL2i64vNV( GLuint index, const INT64* v ) {
11702   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11703   TRACE("(%d, %p)\n", index, v );
11704   funcs->ext.p_glVertexAttribL2i64vNV( index, v );
11705 }
11706
11707 static void WINAPI glVertexAttribL2ui64NV( GLuint index, UINT64 x, UINT64 y ) {
11708   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11709   TRACE("(%d, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y) );
11710   funcs->ext.p_glVertexAttribL2ui64NV( index, x, y );
11711 }
11712
11713 static void WINAPI glVertexAttribL2ui64vNV( GLuint index, const UINT64* v ) {
11714   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11715   TRACE("(%d, %p)\n", index, v );
11716   funcs->ext.p_glVertexAttribL2ui64vNV( index, v );
11717 }
11718
11719 static void WINAPI glVertexAttribL3d( GLuint index, GLdouble x, GLdouble y, GLdouble z ) {
11720   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11721   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
11722   funcs->ext.p_glVertexAttribL3d( index, x, y, z );
11723 }
11724
11725 static void WINAPI glVertexAttribL3dEXT( GLuint index, GLdouble x, GLdouble y, GLdouble z ) {
11726   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11727   TRACE("(%d, %f, %f, %f)\n", index, x, y, z );
11728   funcs->ext.p_glVertexAttribL3dEXT( index, x, y, z );
11729 }
11730
11731 static void WINAPI glVertexAttribL3dv( GLuint index, const GLdouble* v ) {
11732   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11733   TRACE("(%d, %p)\n", index, v );
11734   funcs->ext.p_glVertexAttribL3dv( index, v );
11735 }
11736
11737 static void WINAPI glVertexAttribL3dvEXT( GLuint index, const GLdouble* v ) {
11738   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11739   TRACE("(%d, %p)\n", index, v );
11740   funcs->ext.p_glVertexAttribL3dvEXT( index, v );
11741 }
11742
11743 static void WINAPI glVertexAttribL3i64NV( GLuint index, INT64 x, INT64 y, INT64 z ) {
11744   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11745   TRACE("(%d, %s, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
11746   funcs->ext.p_glVertexAttribL3i64NV( index, x, y, z );
11747 }
11748
11749 static void WINAPI glVertexAttribL3i64vNV( GLuint index, const INT64* v ) {
11750   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11751   TRACE("(%d, %p)\n", index, v );
11752   funcs->ext.p_glVertexAttribL3i64vNV( index, v );
11753 }
11754
11755 static void WINAPI glVertexAttribL3ui64NV( GLuint index, UINT64 x, UINT64 y, UINT64 z ) {
11756   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11757   TRACE("(%d, %s, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z) );
11758   funcs->ext.p_glVertexAttribL3ui64NV( index, x, y, z );
11759 }
11760
11761 static void WINAPI glVertexAttribL3ui64vNV( GLuint index, const UINT64* v ) {
11762   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11763   TRACE("(%d, %p)\n", index, v );
11764   funcs->ext.p_glVertexAttribL3ui64vNV( index, v );
11765 }
11766
11767 static void WINAPI glVertexAttribL4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
11768   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11769   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11770   funcs->ext.p_glVertexAttribL4d( index, x, y, z, w );
11771 }
11772
11773 static void WINAPI glVertexAttribL4dEXT( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
11774   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11775   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, z, w );
11776   funcs->ext.p_glVertexAttribL4dEXT( index, x, y, z, w );
11777 }
11778
11779 static void WINAPI glVertexAttribL4dv( GLuint index, const GLdouble* v ) {
11780   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11781   TRACE("(%d, %p)\n", index, v );
11782   funcs->ext.p_glVertexAttribL4dv( index, v );
11783 }
11784
11785 static void WINAPI glVertexAttribL4dvEXT( GLuint index, const GLdouble* v ) {
11786   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11787   TRACE("(%d, %p)\n", index, v );
11788   funcs->ext.p_glVertexAttribL4dvEXT( index, v );
11789 }
11790
11791 static void WINAPI glVertexAttribL4i64NV( GLuint index, INT64 x, INT64 y, INT64 z, INT64 w ) {
11792   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11793   TRACE("(%d, %s, %s, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
11794   funcs->ext.p_glVertexAttribL4i64NV( index, x, y, z, w );
11795 }
11796
11797 static void WINAPI glVertexAttribL4i64vNV( GLuint index, const INT64* v ) {
11798   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11799   TRACE("(%d, %p)\n", index, v );
11800   funcs->ext.p_glVertexAttribL4i64vNV( index, v );
11801 }
11802
11803 static void WINAPI glVertexAttribL4ui64NV( GLuint index, UINT64 x, UINT64 y, UINT64 z, UINT64 w ) {
11804   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11805   TRACE("(%d, %s, %s, %s, %s)\n", index, wine_dbgstr_longlong(x), wine_dbgstr_longlong(y), wine_dbgstr_longlong(z), wine_dbgstr_longlong(w) );
11806   funcs->ext.p_glVertexAttribL4ui64NV( index, x, y, z, w );
11807 }
11808
11809 static void WINAPI glVertexAttribL4ui64vNV( GLuint index, const UINT64* v ) {
11810   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11811   TRACE("(%d, %p)\n", index, v );
11812   funcs->ext.p_glVertexAttribL4ui64vNV( index, v );
11813 }
11814
11815 static void WINAPI glVertexAttribLFormat( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) {
11816   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11817   TRACE("(%d, %d, %d, %d)\n", attribindex, size, type, relativeoffset );
11818   funcs->ext.p_glVertexAttribLFormat( attribindex, size, type, relativeoffset );
11819 }
11820
11821 static void WINAPI glVertexAttribLFormatNV( GLuint index, GLint size, GLenum type, GLsizei stride ) {
11822   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11823   TRACE("(%d, %d, %d, %d)\n", index, size, type, stride );
11824   funcs->ext.p_glVertexAttribLFormatNV( index, size, type, stride );
11825 }
11826
11827 static void WINAPI glVertexAttribLPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
11828   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11829   TRACE("(%d, %d, %d, %d, %p)\n", index, size, type, stride, pointer );
11830   funcs->ext.p_glVertexAttribLPointer( index, size, type, stride, pointer );
11831 }
11832
11833 static void WINAPI glVertexAttribLPointerEXT( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
11834   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11835   TRACE("(%d, %d, %d, %d, %p)\n", index, size, type, stride, pointer );
11836   funcs->ext.p_glVertexAttribLPointerEXT( index, size, type, stride, pointer );
11837 }
11838
11839 static void WINAPI glVertexAttribP1ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) {
11840   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11841   TRACE("(%d, %d, %d, %d)\n", index, type, normalized, value );
11842   funcs->ext.p_glVertexAttribP1ui( index, type, normalized, value );
11843 }
11844
11845 static void WINAPI glVertexAttribP1uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint* value ) {
11846   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11847   TRACE("(%d, %d, %d, %p)\n", index, type, normalized, value );
11848   funcs->ext.p_glVertexAttribP1uiv( index, type, normalized, value );
11849 }
11850
11851 static void WINAPI glVertexAttribP2ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) {
11852   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11853   TRACE("(%d, %d, %d, %d)\n", index, type, normalized, value );
11854   funcs->ext.p_glVertexAttribP2ui( index, type, normalized, value );
11855 }
11856
11857 static void WINAPI glVertexAttribP2uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint* value ) {
11858   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11859   TRACE("(%d, %d, %d, %p)\n", index, type, normalized, value );
11860   funcs->ext.p_glVertexAttribP2uiv( index, type, normalized, value );
11861 }
11862
11863 static void WINAPI glVertexAttribP3ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) {
11864   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11865   TRACE("(%d, %d, %d, %d)\n", index, type, normalized, value );
11866   funcs->ext.p_glVertexAttribP3ui( index, type, normalized, value );
11867 }
11868
11869 static void WINAPI glVertexAttribP3uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint* value ) {
11870   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11871   TRACE("(%d, %d, %d, %p)\n", index, type, normalized, value );
11872   funcs->ext.p_glVertexAttribP3uiv( index, type, normalized, value );
11873 }
11874
11875 static void WINAPI glVertexAttribP4ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) {
11876   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11877   TRACE("(%d, %d, %d, %d)\n", index, type, normalized, value );
11878   funcs->ext.p_glVertexAttribP4ui( index, type, normalized, value );
11879 }
11880
11881 static void WINAPI glVertexAttribP4uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint* value ) {
11882   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11883   TRACE("(%d, %d, %d, %p)\n", index, type, normalized, value );
11884   funcs->ext.p_glVertexAttribP4uiv( index, type, normalized, value );
11885 }
11886
11887 static void WINAPI glVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer ) {
11888   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11889   TRACE("(%d, %d, %d, %d, %d, %p)\n", index, size, type, normalized, stride, pointer );
11890   funcs->ext.p_glVertexAttribPointer( index, size, type, normalized, stride, pointer );
11891 }
11892
11893 static void WINAPI glVertexAttribPointerARB( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer ) {
11894   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11895   TRACE("(%d, %d, %d, %d, %d, %p)\n", index, size, type, normalized, stride, pointer );
11896   funcs->ext.p_glVertexAttribPointerARB( index, size, type, normalized, stride, pointer );
11897 }
11898
11899 static void WINAPI glVertexAttribPointerNV( GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid* pointer ) {
11900   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11901   TRACE("(%d, %d, %d, %d, %p)\n", index, fsize, type, stride, pointer );
11902   funcs->ext.p_glVertexAttribPointerNV( index, fsize, type, stride, pointer );
11903 }
11904
11905 static void WINAPI glVertexAttribs1dvNV( GLuint index, GLsizei count, const GLdouble* v ) {
11906   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11907   TRACE("(%d, %d, %p)\n", index, count, v );
11908   funcs->ext.p_glVertexAttribs1dvNV( index, count, v );
11909 }
11910
11911 static void WINAPI glVertexAttribs1fvNV( GLuint index, GLsizei count, const GLfloat* v ) {
11912   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11913   TRACE("(%d, %d, %p)\n", index, count, v );
11914   funcs->ext.p_glVertexAttribs1fvNV( index, count, v );
11915 }
11916
11917 static void WINAPI glVertexAttribs1hvNV( GLuint index, GLsizei n, const GLhalfNV* v ) {
11918   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11919   TRACE("(%d, %d, %p)\n", index, n, v );
11920   funcs->ext.p_glVertexAttribs1hvNV( index, n, v );
11921 }
11922
11923 static void WINAPI glVertexAttribs1svNV( GLuint index, GLsizei count, const GLshort* v ) {
11924   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11925   TRACE("(%d, %d, %p)\n", index, count, v );
11926   funcs->ext.p_glVertexAttribs1svNV( index, count, v );
11927 }
11928
11929 static void WINAPI glVertexAttribs2dvNV( GLuint index, GLsizei count, const GLdouble* v ) {
11930   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11931   TRACE("(%d, %d, %p)\n", index, count, v );
11932   funcs->ext.p_glVertexAttribs2dvNV( index, count, v );
11933 }
11934
11935 static void WINAPI glVertexAttribs2fvNV( GLuint index, GLsizei count, const GLfloat* v ) {
11936   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11937   TRACE("(%d, %d, %p)\n", index, count, v );
11938   funcs->ext.p_glVertexAttribs2fvNV( index, count, v );
11939 }
11940
11941 static void WINAPI glVertexAttribs2hvNV( GLuint index, GLsizei n, const GLhalfNV* v ) {
11942   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11943   TRACE("(%d, %d, %p)\n", index, n, v );
11944   funcs->ext.p_glVertexAttribs2hvNV( index, n, v );
11945 }
11946
11947 static void WINAPI glVertexAttribs2svNV( GLuint index, GLsizei count, const GLshort* v ) {
11948   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11949   TRACE("(%d, %d, %p)\n", index, count, v );
11950   funcs->ext.p_glVertexAttribs2svNV( index, count, v );
11951 }
11952
11953 static void WINAPI glVertexAttribs3dvNV( GLuint index, GLsizei count, const GLdouble* v ) {
11954   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11955   TRACE("(%d, %d, %p)\n", index, count, v );
11956   funcs->ext.p_glVertexAttribs3dvNV( index, count, v );
11957 }
11958
11959 static void WINAPI glVertexAttribs3fvNV( GLuint index, GLsizei count, const GLfloat* v ) {
11960   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11961   TRACE("(%d, %d, %p)\n", index, count, v );
11962   funcs->ext.p_glVertexAttribs3fvNV( index, count, v );
11963 }
11964
11965 static void WINAPI glVertexAttribs3hvNV( GLuint index, GLsizei n, const GLhalfNV* v ) {
11966   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11967   TRACE("(%d, %d, %p)\n", index, n, v );
11968   funcs->ext.p_glVertexAttribs3hvNV( index, n, v );
11969 }
11970
11971 static void WINAPI glVertexAttribs3svNV( GLuint index, GLsizei count, const GLshort* v ) {
11972   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11973   TRACE("(%d, %d, %p)\n", index, count, v );
11974   funcs->ext.p_glVertexAttribs3svNV( index, count, v );
11975 }
11976
11977 static void WINAPI glVertexAttribs4dvNV( GLuint index, GLsizei count, const GLdouble* v ) {
11978   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11979   TRACE("(%d, %d, %p)\n", index, count, v );
11980   funcs->ext.p_glVertexAttribs4dvNV( index, count, v );
11981 }
11982
11983 static void WINAPI glVertexAttribs4fvNV( GLuint index, GLsizei count, const GLfloat* v ) {
11984   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11985   TRACE("(%d, %d, %p)\n", index, count, v );
11986   funcs->ext.p_glVertexAttribs4fvNV( index, count, v );
11987 }
11988
11989 static void WINAPI glVertexAttribs4hvNV( GLuint index, GLsizei n, const GLhalfNV* v ) {
11990   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11991   TRACE("(%d, %d, %p)\n", index, n, v );
11992   funcs->ext.p_glVertexAttribs4hvNV( index, n, v );
11993 }
11994
11995 static void WINAPI glVertexAttribs4svNV( GLuint index, GLsizei count, const GLshort* v ) {
11996   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
11997   TRACE("(%d, %d, %p)\n", index, count, v );
11998   funcs->ext.p_glVertexAttribs4svNV( index, count, v );
11999 }
12000
12001 static void WINAPI glVertexAttribs4ubvNV( GLuint index, GLsizei count, const GLubyte* v ) {
12002   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12003   TRACE("(%d, %d, %p)\n", index, count, v );
12004   funcs->ext.p_glVertexAttribs4ubvNV( index, count, v );
12005 }
12006
12007 static void WINAPI glVertexBindingDivisor( GLuint bindingindex, GLuint divisor ) {
12008   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12009   TRACE("(%d, %d)\n", bindingindex, divisor );
12010   funcs->ext.p_glVertexBindingDivisor( bindingindex, divisor );
12011 }
12012
12013 static void WINAPI glVertexBlendARB( GLint count ) {
12014   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12015   TRACE("(%d)\n", count );
12016   funcs->ext.p_glVertexBlendARB( count );
12017 }
12018
12019 static void WINAPI glVertexBlendEnvfATI( GLenum pname, GLfloat param ) {
12020   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12021   TRACE("(%d, %f)\n", pname, param );
12022   funcs->ext.p_glVertexBlendEnvfATI( pname, param );
12023 }
12024
12025 static void WINAPI glVertexBlendEnviATI( GLenum pname, GLint param ) {
12026   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12027   TRACE("(%d, %d)\n", pname, param );
12028   funcs->ext.p_glVertexBlendEnviATI( pname, param );
12029 }
12030
12031 static void WINAPI glVertexFormatNV( GLint size, GLenum type, GLsizei stride ) {
12032   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12033   TRACE("(%d, %d, %d)\n", size, type, stride );
12034   funcs->ext.p_glVertexFormatNV( size, type, stride );
12035 }
12036
12037 static void WINAPI glVertexP2ui( GLenum type, GLuint value ) {
12038   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12039   TRACE("(%d, %d)\n", type, value );
12040   funcs->ext.p_glVertexP2ui( type, value );
12041 }
12042
12043 static void WINAPI glVertexP2uiv( GLenum type, const GLuint* value ) {
12044   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12045   TRACE("(%d, %p)\n", type, value );
12046   funcs->ext.p_glVertexP2uiv( type, value );
12047 }
12048
12049 static void WINAPI glVertexP3ui( GLenum type, GLuint value ) {
12050   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12051   TRACE("(%d, %d)\n", type, value );
12052   funcs->ext.p_glVertexP3ui( type, value );
12053 }
12054
12055 static void WINAPI glVertexP3uiv( GLenum type, const GLuint* value ) {
12056   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12057   TRACE("(%d, %p)\n", type, value );
12058   funcs->ext.p_glVertexP3uiv( type, value );
12059 }
12060
12061 static void WINAPI glVertexP4ui( GLenum type, GLuint value ) {
12062   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12063   TRACE("(%d, %d)\n", type, value );
12064   funcs->ext.p_glVertexP4ui( type, value );
12065 }
12066
12067 static void WINAPI glVertexP4uiv( GLenum type, const GLuint* value ) {
12068   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12069   TRACE("(%d, %p)\n", type, value );
12070   funcs->ext.p_glVertexP4uiv( type, value );
12071 }
12072
12073 static void WINAPI glVertexPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid* pointer ) {
12074   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12075   TRACE("(%d, %d, %d, %d, %p)\n", size, type, stride, count, pointer );
12076   funcs->ext.p_glVertexPointerEXT( size, type, stride, count, pointer );
12077 }
12078
12079 static void WINAPI glVertexPointerListIBM( GLint size, GLenum type, GLint stride, const GLvoid** pointer, GLint ptrstride ) {
12080   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12081   TRACE("(%d, %d, %d, %p, %d)\n", size, type, stride, pointer, ptrstride );
12082   funcs->ext.p_glVertexPointerListIBM( size, type, stride, pointer, ptrstride );
12083 }
12084
12085 static void WINAPI glVertexPointervINTEL( GLint size, GLenum type, const GLvoid** pointer ) {
12086   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12087   TRACE("(%d, %d, %p)\n", size, type, pointer );
12088   funcs->ext.p_glVertexPointervINTEL( size, type, pointer );
12089 }
12090
12091 static void WINAPI glVertexStream1dATI( GLenum stream, GLdouble x ) {
12092   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12093   TRACE("(%d, %f)\n", stream, x );
12094   funcs->ext.p_glVertexStream1dATI( stream, x );
12095 }
12096
12097 static void WINAPI glVertexStream1dvATI( GLenum stream, const GLdouble* coords ) {
12098   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12099   TRACE("(%d, %p)\n", stream, coords );
12100   funcs->ext.p_glVertexStream1dvATI( stream, coords );
12101 }
12102
12103 static void WINAPI glVertexStream1fATI( GLenum stream, GLfloat x ) {
12104   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12105   TRACE("(%d, %f)\n", stream, x );
12106   funcs->ext.p_glVertexStream1fATI( stream, x );
12107 }
12108
12109 static void WINAPI glVertexStream1fvATI( GLenum stream, const GLfloat* coords ) {
12110   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12111   TRACE("(%d, %p)\n", stream, coords );
12112   funcs->ext.p_glVertexStream1fvATI( stream, coords );
12113 }
12114
12115 static void WINAPI glVertexStream1iATI( GLenum stream, GLint x ) {
12116   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12117   TRACE("(%d, %d)\n", stream, x );
12118   funcs->ext.p_glVertexStream1iATI( stream, x );
12119 }
12120
12121 static void WINAPI glVertexStream1ivATI( GLenum stream, const GLint* coords ) {
12122   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12123   TRACE("(%d, %p)\n", stream, coords );
12124   funcs->ext.p_glVertexStream1ivATI( stream, coords );
12125 }
12126
12127 static void WINAPI glVertexStream1sATI( GLenum stream, GLshort x ) {
12128   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12129   TRACE("(%d, %d)\n", stream, x );
12130   funcs->ext.p_glVertexStream1sATI( stream, x );
12131 }
12132
12133 static void WINAPI glVertexStream1svATI( GLenum stream, const GLshort* coords ) {
12134   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12135   TRACE("(%d, %p)\n", stream, coords );
12136   funcs->ext.p_glVertexStream1svATI( stream, coords );
12137 }
12138
12139 static void WINAPI glVertexStream2dATI( GLenum stream, GLdouble x, GLdouble y ) {
12140   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12141   TRACE("(%d, %f, %f)\n", stream, x, y );
12142   funcs->ext.p_glVertexStream2dATI( stream, x, y );
12143 }
12144
12145 static void WINAPI glVertexStream2dvATI( GLenum stream, const GLdouble* coords ) {
12146   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12147   TRACE("(%d, %p)\n", stream, coords );
12148   funcs->ext.p_glVertexStream2dvATI( stream, coords );
12149 }
12150
12151 static void WINAPI glVertexStream2fATI( GLenum stream, GLfloat x, GLfloat y ) {
12152   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12153   TRACE("(%d, %f, %f)\n", stream, x, y );
12154   funcs->ext.p_glVertexStream2fATI( stream, x, y );
12155 }
12156
12157 static void WINAPI glVertexStream2fvATI( GLenum stream, const GLfloat* coords ) {
12158   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12159   TRACE("(%d, %p)\n", stream, coords );
12160   funcs->ext.p_glVertexStream2fvATI( stream, coords );
12161 }
12162
12163 static void WINAPI glVertexStream2iATI( GLenum stream, GLint x, GLint y ) {
12164   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12165   TRACE("(%d, %d, %d)\n", stream, x, y );
12166   funcs->ext.p_glVertexStream2iATI( stream, x, y );
12167 }
12168
12169 static void WINAPI glVertexStream2ivATI( GLenum stream, const GLint* coords ) {
12170   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12171   TRACE("(%d, %p)\n", stream, coords );
12172   funcs->ext.p_glVertexStream2ivATI( stream, coords );
12173 }
12174
12175 static void WINAPI glVertexStream2sATI( GLenum stream, GLshort x, GLshort y ) {
12176   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12177   TRACE("(%d, %d, %d)\n", stream, x, y );
12178   funcs->ext.p_glVertexStream2sATI( stream, x, y );
12179 }
12180
12181 static void WINAPI glVertexStream2svATI( GLenum stream, const GLshort* coords ) {
12182   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12183   TRACE("(%d, %p)\n", stream, coords );
12184   funcs->ext.p_glVertexStream2svATI( stream, coords );
12185 }
12186
12187 static void WINAPI glVertexStream3dATI( GLenum stream, GLdouble x, GLdouble y, GLdouble z ) {
12188   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12189   TRACE("(%d, %f, %f, %f)\n", stream, x, y, z );
12190   funcs->ext.p_glVertexStream3dATI( stream, x, y, z );
12191 }
12192
12193 static void WINAPI glVertexStream3dvATI( GLenum stream, const GLdouble* coords ) {
12194   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12195   TRACE("(%d, %p)\n", stream, coords );
12196   funcs->ext.p_glVertexStream3dvATI( stream, coords );
12197 }
12198
12199 static void WINAPI glVertexStream3fATI( GLenum stream, GLfloat x, GLfloat y, GLfloat z ) {
12200   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12201   TRACE("(%d, %f, %f, %f)\n", stream, x, y, z );
12202   funcs->ext.p_glVertexStream3fATI( stream, x, y, z );
12203 }
12204
12205 static void WINAPI glVertexStream3fvATI( GLenum stream, const GLfloat* coords ) {
12206   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12207   TRACE("(%d, %p)\n", stream, coords );
12208   funcs->ext.p_glVertexStream3fvATI( stream, coords );
12209 }
12210
12211 static void WINAPI glVertexStream3iATI( GLenum stream, GLint x, GLint y, GLint z ) {
12212   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12213   TRACE("(%d, %d, %d, %d)\n", stream, x, y, z );
12214   funcs->ext.p_glVertexStream3iATI( stream, x, y, z );
12215 }
12216
12217 static void WINAPI glVertexStream3ivATI( GLenum stream, const GLint* coords ) {
12218   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12219   TRACE("(%d, %p)\n", stream, coords );
12220   funcs->ext.p_glVertexStream3ivATI( stream, coords );
12221 }
12222
12223 static void WINAPI glVertexStream3sATI( GLenum stream, GLshort x, GLshort y, GLshort z ) {
12224   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12225   TRACE("(%d, %d, %d, %d)\n", stream, x, y, z );
12226   funcs->ext.p_glVertexStream3sATI( stream, x, y, z );
12227 }
12228
12229 static void WINAPI glVertexStream3svATI( GLenum stream, const GLshort* coords ) {
12230   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12231   TRACE("(%d, %p)\n", stream, coords );
12232   funcs->ext.p_glVertexStream3svATI( stream, coords );
12233 }
12234
12235 static void WINAPI glVertexStream4dATI( GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
12236   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12237   TRACE("(%d, %f, %f, %f, %f)\n", stream, x, y, z, w );
12238   funcs->ext.p_glVertexStream4dATI( stream, x, y, z, w );
12239 }
12240
12241 static void WINAPI glVertexStream4dvATI( GLenum stream, const GLdouble* coords ) {
12242   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12243   TRACE("(%d, %p)\n", stream, coords );
12244   funcs->ext.p_glVertexStream4dvATI( stream, coords );
12245 }
12246
12247 static void WINAPI glVertexStream4fATI( GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
12248   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12249   TRACE("(%d, %f, %f, %f, %f)\n", stream, x, y, z, w );
12250   funcs->ext.p_glVertexStream4fATI( stream, x, y, z, w );
12251 }
12252
12253 static void WINAPI glVertexStream4fvATI( GLenum stream, const GLfloat* coords ) {
12254   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12255   TRACE("(%d, %p)\n", stream, coords );
12256   funcs->ext.p_glVertexStream4fvATI( stream, coords );
12257 }
12258
12259 static void WINAPI glVertexStream4iATI( GLenum stream, GLint x, GLint y, GLint z, GLint w ) {
12260   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12261   TRACE("(%d, %d, %d, %d, %d)\n", stream, x, y, z, w );
12262   funcs->ext.p_glVertexStream4iATI( stream, x, y, z, w );
12263 }
12264
12265 static void WINAPI glVertexStream4ivATI( GLenum stream, const GLint* coords ) {
12266   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12267   TRACE("(%d, %p)\n", stream, coords );
12268   funcs->ext.p_glVertexStream4ivATI( stream, coords );
12269 }
12270
12271 static void WINAPI glVertexStream4sATI( GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w ) {
12272   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12273   TRACE("(%d, %d, %d, %d, %d)\n", stream, x, y, z, w );
12274   funcs->ext.p_glVertexStream4sATI( stream, x, y, z, w );
12275 }
12276
12277 static void WINAPI glVertexStream4svATI( GLenum stream, const GLshort* coords ) {
12278   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12279   TRACE("(%d, %p)\n", stream, coords );
12280   funcs->ext.p_glVertexStream4svATI( stream, coords );
12281 }
12282
12283 static void WINAPI glVertexWeightPointerEXT( GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
12284   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12285   TRACE("(%d, %d, %d, %p)\n", size, type, stride, pointer );
12286   funcs->ext.p_glVertexWeightPointerEXT( size, type, stride, pointer );
12287 }
12288
12289 static void WINAPI glVertexWeightfEXT( GLfloat weight ) {
12290   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12291   TRACE("(%f)\n", weight );
12292   funcs->ext.p_glVertexWeightfEXT( weight );
12293 }
12294
12295 static void WINAPI glVertexWeightfvEXT( const GLfloat* weight ) {
12296   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12297   TRACE("(%p)\n", weight );
12298   funcs->ext.p_glVertexWeightfvEXT( weight );
12299 }
12300
12301 static void WINAPI glVertexWeighthNV( GLhalfNV weight ) {
12302   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12303   TRACE("(%d)\n", weight );
12304   funcs->ext.p_glVertexWeighthNV( weight );
12305 }
12306
12307 static void WINAPI glVertexWeighthvNV( const GLhalfNV* weight ) {
12308   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12309   TRACE("(%p)\n", weight );
12310   funcs->ext.p_glVertexWeighthvNV( weight );
12311 }
12312
12313 static GLenum WINAPI glVideoCaptureNV( GLuint video_capture_slot, GLuint* sequence_num, UINT64* capture_time ) {
12314   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12315   TRACE("(%d, %p, %p)\n", video_capture_slot, sequence_num, capture_time );
12316   return funcs->ext.p_glVideoCaptureNV( video_capture_slot, sequence_num, capture_time );
12317 }
12318
12319 static void WINAPI glVideoCaptureStreamParameterdvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params ) {
12320   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12321   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
12322   funcs->ext.p_glVideoCaptureStreamParameterdvNV( video_capture_slot, stream, pname, params );
12323 }
12324
12325 static void WINAPI glVideoCaptureStreamParameterfvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params ) {
12326   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12327   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
12328   funcs->ext.p_glVideoCaptureStreamParameterfvNV( video_capture_slot, stream, pname, params );
12329 }
12330
12331 static void WINAPI glVideoCaptureStreamParameterivNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params ) {
12332   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12333   TRACE("(%d, %d, %d, %p)\n", video_capture_slot, stream, pname, params );
12334   funcs->ext.p_glVideoCaptureStreamParameterivNV( video_capture_slot, stream, pname, params );
12335 }
12336
12337 static void WINAPI glViewportArrayv( GLuint first, GLsizei count, const GLfloat* v ) {
12338   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12339   TRACE("(%d, %d, %p)\n", first, count, v );
12340   funcs->ext.p_glViewportArrayv( first, count, v );
12341 }
12342
12343 static void WINAPI glViewportIndexedf( GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h ) {
12344   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12345   TRACE("(%d, %f, %f, %f, %f)\n", index, x, y, w, h );
12346   funcs->ext.p_glViewportIndexedf( index, x, y, w, h );
12347 }
12348
12349 static void WINAPI glViewportIndexedfv( GLuint index, const GLfloat* v ) {
12350   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12351   TRACE("(%d, %p)\n", index, v );
12352   funcs->ext.p_glViewportIndexedfv( index, v );
12353 }
12354
12355 static void WINAPI glWaitSync( GLvoid* sync, GLbitfield flags, UINT64 timeout ) {
12356   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12357   TRACE("(%p, %d, %s)\n", sync, flags, wine_dbgstr_longlong(timeout) );
12358   funcs->ext.p_glWaitSync( sync, flags, timeout );
12359 }
12360
12361 static void WINAPI glWeightPathsNV( GLuint resultPath, GLsizei numPaths, const GLuint* paths, const GLfloat* weights ) {
12362   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12363   TRACE("(%d, %d, %p, %p)\n", resultPath, numPaths, paths, weights );
12364   funcs->ext.p_glWeightPathsNV( resultPath, numPaths, paths, weights );
12365 }
12366
12367 static void WINAPI glWeightPointerARB( GLint size, GLenum type, GLsizei stride, const GLvoid* pointer ) {
12368   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12369   TRACE("(%d, %d, %d, %p)\n", size, type, stride, pointer );
12370   funcs->ext.p_glWeightPointerARB( size, type, stride, pointer );
12371 }
12372
12373 static void WINAPI glWeightbvARB( GLint size, const GLbyte* weights ) {
12374   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12375   TRACE("(%d, %p)\n", size, weights );
12376   funcs->ext.p_glWeightbvARB( size, weights );
12377 }
12378
12379 static void WINAPI glWeightdvARB( GLint size, const GLdouble* weights ) {
12380   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12381   TRACE("(%d, %p)\n", size, weights );
12382   funcs->ext.p_glWeightdvARB( size, weights );
12383 }
12384
12385 static void WINAPI glWeightfvARB( GLint size, const GLfloat* weights ) {
12386   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12387   TRACE("(%d, %p)\n", size, weights );
12388   funcs->ext.p_glWeightfvARB( size, weights );
12389 }
12390
12391 static void WINAPI glWeightivARB( GLint size, const GLint* weights ) {
12392   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12393   TRACE("(%d, %p)\n", size, weights );
12394   funcs->ext.p_glWeightivARB( size, weights );
12395 }
12396
12397 static void WINAPI glWeightsvARB( GLint size, const GLshort* weights ) {
12398   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12399   TRACE("(%d, %p)\n", size, weights );
12400   funcs->ext.p_glWeightsvARB( size, weights );
12401 }
12402
12403 static void WINAPI glWeightubvARB( GLint size, const GLubyte* weights ) {
12404   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12405   TRACE("(%d, %p)\n", size, weights );
12406   funcs->ext.p_glWeightubvARB( size, weights );
12407 }
12408
12409 static void WINAPI glWeightuivARB( GLint size, const GLuint* weights ) {
12410   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12411   TRACE("(%d, %p)\n", size, weights );
12412   funcs->ext.p_glWeightuivARB( size, weights );
12413 }
12414
12415 static void WINAPI glWeightusvARB( GLint size, const GLushort* weights ) {
12416   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12417   TRACE("(%d, %p)\n", size, weights );
12418   funcs->ext.p_glWeightusvARB( size, weights );
12419 }
12420
12421 static void WINAPI glWindowPos2d( GLdouble x, GLdouble y ) {
12422   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12423   TRACE("(%f, %f)\n", x, y );
12424   funcs->ext.p_glWindowPos2d( x, y );
12425 }
12426
12427 static void WINAPI glWindowPos2dARB( GLdouble x, GLdouble y ) {
12428   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12429   TRACE("(%f, %f)\n", x, y );
12430   funcs->ext.p_glWindowPos2dARB( x, y );
12431 }
12432
12433 static void WINAPI glWindowPos2dMESA( GLdouble x, GLdouble y ) {
12434   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12435   TRACE("(%f, %f)\n", x, y );
12436   funcs->ext.p_glWindowPos2dMESA( x, y );
12437 }
12438
12439 static void WINAPI glWindowPos2dv( const GLdouble* v ) {
12440   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12441   TRACE("(%p)\n", v );
12442   funcs->ext.p_glWindowPos2dv( v );
12443 }
12444
12445 static void WINAPI glWindowPos2dvARB( const GLdouble* v ) {
12446   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12447   TRACE("(%p)\n", v );
12448   funcs->ext.p_glWindowPos2dvARB( v );
12449 }
12450
12451 static void WINAPI glWindowPos2dvMESA( const GLdouble* v ) {
12452   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12453   TRACE("(%p)\n", v );
12454   funcs->ext.p_glWindowPos2dvMESA( v );
12455 }
12456
12457 static void WINAPI glWindowPos2f( GLfloat x, GLfloat y ) {
12458   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12459   TRACE("(%f, %f)\n", x, y );
12460   funcs->ext.p_glWindowPos2f( x, y );
12461 }
12462
12463 static void WINAPI glWindowPos2fARB( GLfloat x, GLfloat y ) {
12464   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12465   TRACE("(%f, %f)\n", x, y );
12466   funcs->ext.p_glWindowPos2fARB( x, y );
12467 }
12468
12469 static void WINAPI glWindowPos2fMESA( GLfloat x, GLfloat y ) {
12470   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12471   TRACE("(%f, %f)\n", x, y );
12472   funcs->ext.p_glWindowPos2fMESA( x, y );
12473 }
12474
12475 static void WINAPI glWindowPos2fv( const GLfloat* v ) {
12476   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12477   TRACE("(%p)\n", v );
12478   funcs->ext.p_glWindowPos2fv( v );
12479 }
12480
12481 static void WINAPI glWindowPos2fvARB( const GLfloat* v ) {
12482   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12483   TRACE("(%p)\n", v );
12484   funcs->ext.p_glWindowPos2fvARB( v );
12485 }
12486
12487 static void WINAPI glWindowPos2fvMESA( const GLfloat* v ) {
12488   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12489   TRACE("(%p)\n", v );
12490   funcs->ext.p_glWindowPos2fvMESA( v );
12491 }
12492
12493 static void WINAPI glWindowPos2i( GLint x, GLint y ) {
12494   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12495   TRACE("(%d, %d)\n", x, y );
12496   funcs->ext.p_glWindowPos2i( x, y );
12497 }
12498
12499 static void WINAPI glWindowPos2iARB( GLint x, GLint y ) {
12500   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12501   TRACE("(%d, %d)\n", x, y );
12502   funcs->ext.p_glWindowPos2iARB( x, y );
12503 }
12504
12505 static void WINAPI glWindowPos2iMESA( GLint x, GLint y ) {
12506   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12507   TRACE("(%d, %d)\n", x, y );
12508   funcs->ext.p_glWindowPos2iMESA( x, y );
12509 }
12510
12511 static void WINAPI glWindowPos2iv( const GLint* v ) {
12512   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12513   TRACE("(%p)\n", v );
12514   funcs->ext.p_glWindowPos2iv( v );
12515 }
12516
12517 static void WINAPI glWindowPos2ivARB( const GLint* v ) {
12518   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12519   TRACE("(%p)\n", v );
12520   funcs->ext.p_glWindowPos2ivARB( v );
12521 }
12522
12523 static void WINAPI glWindowPos2ivMESA( const GLint* v ) {
12524   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12525   TRACE("(%p)\n", v );
12526   funcs->ext.p_glWindowPos2ivMESA( v );
12527 }
12528
12529 static void WINAPI glWindowPos2s( GLshort x, GLshort y ) {
12530   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12531   TRACE("(%d, %d)\n", x, y );
12532   funcs->ext.p_glWindowPos2s( x, y );
12533 }
12534
12535 static void WINAPI glWindowPos2sARB( GLshort x, GLshort y ) {
12536   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12537   TRACE("(%d, %d)\n", x, y );
12538   funcs->ext.p_glWindowPos2sARB( x, y );
12539 }
12540
12541 static void WINAPI glWindowPos2sMESA( GLshort x, GLshort y ) {
12542   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12543   TRACE("(%d, %d)\n", x, y );
12544   funcs->ext.p_glWindowPos2sMESA( x, y );
12545 }
12546
12547 static void WINAPI glWindowPos2sv( const GLshort* v ) {
12548   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12549   TRACE("(%p)\n", v );
12550   funcs->ext.p_glWindowPos2sv( v );
12551 }
12552
12553 static void WINAPI glWindowPos2svARB( const GLshort* v ) {
12554   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12555   TRACE("(%p)\n", v );
12556   funcs->ext.p_glWindowPos2svARB( v );
12557 }
12558
12559 static void WINAPI glWindowPos2svMESA( const GLshort* v ) {
12560   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12561   TRACE("(%p)\n", v );
12562   funcs->ext.p_glWindowPos2svMESA( v );
12563 }
12564
12565 static void WINAPI glWindowPos3d( GLdouble x, GLdouble y, GLdouble z ) {
12566   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12567   TRACE("(%f, %f, %f)\n", x, y, z );
12568   funcs->ext.p_glWindowPos3d( x, y, z );
12569 }
12570
12571 static void WINAPI glWindowPos3dARB( GLdouble x, GLdouble y, GLdouble z ) {
12572   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12573   TRACE("(%f, %f, %f)\n", x, y, z );
12574   funcs->ext.p_glWindowPos3dARB( x, y, z );
12575 }
12576
12577 static void WINAPI glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z ) {
12578   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12579   TRACE("(%f, %f, %f)\n", x, y, z );
12580   funcs->ext.p_glWindowPos3dMESA( x, y, z );
12581 }
12582
12583 static void WINAPI glWindowPos3dv( const GLdouble* v ) {
12584   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12585   TRACE("(%p)\n", v );
12586   funcs->ext.p_glWindowPos3dv( v );
12587 }
12588
12589 static void WINAPI glWindowPos3dvARB( const GLdouble* v ) {
12590   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12591   TRACE("(%p)\n", v );
12592   funcs->ext.p_glWindowPos3dvARB( v );
12593 }
12594
12595 static void WINAPI glWindowPos3dvMESA( const GLdouble* v ) {
12596   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12597   TRACE("(%p)\n", v );
12598   funcs->ext.p_glWindowPos3dvMESA( v );
12599 }
12600
12601 static void WINAPI glWindowPos3f( GLfloat x, GLfloat y, GLfloat z ) {
12602   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12603   TRACE("(%f, %f, %f)\n", x, y, z );
12604   funcs->ext.p_glWindowPos3f( x, y, z );
12605 }
12606
12607 static void WINAPI glWindowPos3fARB( GLfloat x, GLfloat y, GLfloat z ) {
12608   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12609   TRACE("(%f, %f, %f)\n", x, y, z );
12610   funcs->ext.p_glWindowPos3fARB( x, y, z );
12611 }
12612
12613 static void WINAPI glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z ) {
12614   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12615   TRACE("(%f, %f, %f)\n", x, y, z );
12616   funcs->ext.p_glWindowPos3fMESA( x, y, z );
12617 }
12618
12619 static void WINAPI glWindowPos3fv( const GLfloat* v ) {
12620   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12621   TRACE("(%p)\n", v );
12622   funcs->ext.p_glWindowPos3fv( v );
12623 }
12624
12625 static void WINAPI glWindowPos3fvARB( const GLfloat* v ) {
12626   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12627   TRACE("(%p)\n", v );
12628   funcs->ext.p_glWindowPos3fvARB( v );
12629 }
12630
12631 static void WINAPI glWindowPos3fvMESA( const GLfloat* v ) {
12632   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12633   TRACE("(%p)\n", v );
12634   funcs->ext.p_glWindowPos3fvMESA( v );
12635 }
12636
12637 static void WINAPI glWindowPos3i( GLint x, GLint y, GLint z ) {
12638   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12639   TRACE("(%d, %d, %d)\n", x, y, z );
12640   funcs->ext.p_glWindowPos3i( x, y, z );
12641 }
12642
12643 static void WINAPI glWindowPos3iARB( GLint x, GLint y, GLint z ) {
12644   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12645   TRACE("(%d, %d, %d)\n", x, y, z );
12646   funcs->ext.p_glWindowPos3iARB( x, y, z );
12647 }
12648
12649 static void WINAPI glWindowPos3iMESA( GLint x, GLint y, GLint z ) {
12650   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12651   TRACE("(%d, %d, %d)\n", x, y, z );
12652   funcs->ext.p_glWindowPos3iMESA( x, y, z );
12653 }
12654
12655 static void WINAPI glWindowPos3iv( const GLint* v ) {
12656   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12657   TRACE("(%p)\n", v );
12658   funcs->ext.p_glWindowPos3iv( v );
12659 }
12660
12661 static void WINAPI glWindowPos3ivARB( const GLint* v ) {
12662   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12663   TRACE("(%p)\n", v );
12664   funcs->ext.p_glWindowPos3ivARB( v );
12665 }
12666
12667 static void WINAPI glWindowPos3ivMESA( const GLint* v ) {
12668   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12669   TRACE("(%p)\n", v );
12670   funcs->ext.p_glWindowPos3ivMESA( v );
12671 }
12672
12673 static void WINAPI glWindowPos3s( GLshort x, GLshort y, GLshort z ) {
12674   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12675   TRACE("(%d, %d, %d)\n", x, y, z );
12676   funcs->ext.p_glWindowPos3s( x, y, z );
12677 }
12678
12679 static void WINAPI glWindowPos3sARB( GLshort x, GLshort y, GLshort z ) {
12680   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12681   TRACE("(%d, %d, %d)\n", x, y, z );
12682   funcs->ext.p_glWindowPos3sARB( x, y, z );
12683 }
12684
12685 static void WINAPI glWindowPos3sMESA( GLshort x, GLshort y, GLshort z ) {
12686   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12687   TRACE("(%d, %d, %d)\n", x, y, z );
12688   funcs->ext.p_glWindowPos3sMESA( x, y, z );
12689 }
12690
12691 static void WINAPI glWindowPos3sv( const GLshort* v ) {
12692   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12693   TRACE("(%p)\n", v );
12694   funcs->ext.p_glWindowPos3sv( v );
12695 }
12696
12697 static void WINAPI glWindowPos3svARB( const GLshort* v ) {
12698   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12699   TRACE("(%p)\n", v );
12700   funcs->ext.p_glWindowPos3svARB( v );
12701 }
12702
12703 static void WINAPI glWindowPos3svMESA( const GLshort* v ) {
12704   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12705   TRACE("(%p)\n", v );
12706   funcs->ext.p_glWindowPos3svMESA( v );
12707 }
12708
12709 static void WINAPI glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
12710   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12711   TRACE("(%f, %f, %f, %f)\n", x, y, z, w );
12712   funcs->ext.p_glWindowPos4dMESA( x, y, z, w );
12713 }
12714
12715 static void WINAPI glWindowPos4dvMESA( const GLdouble* v ) {
12716   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12717   TRACE("(%p)\n", v );
12718   funcs->ext.p_glWindowPos4dvMESA( v );
12719 }
12720
12721 static void WINAPI glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
12722   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12723   TRACE("(%f, %f, %f, %f)\n", x, y, z, w );
12724   funcs->ext.p_glWindowPos4fMESA( x, y, z, w );
12725 }
12726
12727 static void WINAPI glWindowPos4fvMESA( const GLfloat* v ) {
12728   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12729   TRACE("(%p)\n", v );
12730   funcs->ext.p_glWindowPos4fvMESA( v );
12731 }
12732
12733 static void WINAPI glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w ) {
12734   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12735   TRACE("(%d, %d, %d, %d)\n", x, y, z, w );
12736   funcs->ext.p_glWindowPos4iMESA( x, y, z, w );
12737 }
12738
12739 static void WINAPI glWindowPos4ivMESA( const GLint* v ) {
12740   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12741   TRACE("(%p)\n", v );
12742   funcs->ext.p_glWindowPos4ivMESA( v );
12743 }
12744
12745 static void WINAPI glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w ) {
12746   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12747   TRACE("(%d, %d, %d, %d)\n", x, y, z, w );
12748   funcs->ext.p_glWindowPos4sMESA( x, y, z, w );
12749 }
12750
12751 static void WINAPI glWindowPos4svMESA( const GLshort* v ) {
12752   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12753   TRACE("(%p)\n", v );
12754   funcs->ext.p_glWindowPos4svMESA( v );
12755 }
12756
12757 static void WINAPI glWriteMaskEXT( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ) {
12758   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
12759   TRACE("(%d, %d, %d, %d, %d, %d)\n", res, in, outX, outY, outZ, outW );
12760   funcs->ext.p_glWriteMaskEXT( res, in, outX, outY, outZ, outW );
12761 }
12762
12763 const OpenGL_extension extension_registry[2145] = {
12764   { "glActiveProgramEXT", "GL_EXT_separate_shader_objects", glActiveProgramEXT },
12765   { "glActiveShaderProgram", "GL_ARB_separate_shader_objects", glActiveShaderProgram },
12766   { "glActiveStencilFaceEXT", "GL_EXT_stencil_two_side", glActiveStencilFaceEXT },
12767   { "glActiveTexture", "GL_VERSION_1_3", glActiveTexture },
12768   { "glActiveTextureARB", "GL_ARB_multitexture", glActiveTextureARB },
12769   { "glActiveVaryingNV", "GL_NV_transform_feedback", glActiveVaryingNV },
12770   { "glAlphaFragmentOp1ATI", "GL_ATI_fragment_shader", glAlphaFragmentOp1ATI },
12771   { "glAlphaFragmentOp2ATI", "GL_ATI_fragment_shader", glAlphaFragmentOp2ATI },
12772   { "glAlphaFragmentOp3ATI", "GL_ATI_fragment_shader", glAlphaFragmentOp3ATI },
12773   { "glApplyTextureEXT", "GL_EXT_light_texture", glApplyTextureEXT },
12774   { "glAreProgramsResidentNV", "GL_NV_vertex_program", glAreProgramsResidentNV },
12775   { "glAreTexturesResidentEXT", "GL_EXT_texture_object", glAreTexturesResidentEXT },
12776   { "glArrayElementEXT", "GL_EXT_vertex_array", glArrayElementEXT },
12777   { "glArrayObjectATI", "GL_ATI_vertex_array_object", glArrayObjectATI },
12778   { "glAsyncMarkerSGIX", "GL_SGIX_async", glAsyncMarkerSGIX },
12779   { "glAttachObjectARB", "GL_ARB_shader_objects", glAttachObjectARB },
12780   { "glAttachShader", "GL_VERSION_2_0", glAttachShader },
12781   { "glBeginConditionalRender", "GL_VERSION_3_0", glBeginConditionalRender },
12782   { "glBeginConditionalRenderNV", "GL_NV_conditional_render", glBeginConditionalRenderNV },
12783   { "glBeginFragmentShaderATI", "GL_ATI_fragment_shader", glBeginFragmentShaderATI },
12784   { "glBeginOcclusionQueryNV", "GL_NV_occlusion_query", glBeginOcclusionQueryNV },
12785   { "glBeginPerfMonitorAMD", "GL_AMD_performance_monitor", glBeginPerfMonitorAMD },
12786   { "glBeginQuery", "GL_VERSION_1_5", glBeginQuery },
12787   { "glBeginQueryARB", "GL_ARB_occlusion_query", glBeginQueryARB },
12788   { "glBeginQueryIndexed", "GL_ARB_transform_feedback3", glBeginQueryIndexed },
12789   { "glBeginTransformFeedback", "GL_VERSION_3_0", glBeginTransformFeedback },
12790   { "glBeginTransformFeedbackEXT", "GL_EXT_transform_feedback", glBeginTransformFeedbackEXT },
12791   { "glBeginTransformFeedbackNV", "GL_NV_transform_feedback", glBeginTransformFeedbackNV },
12792   { "glBeginVertexShaderEXT", "GL_EXT_vertex_shader", glBeginVertexShaderEXT },
12793   { "glBeginVideoCaptureNV", "GL_NV_video_capture", glBeginVideoCaptureNV },
12794   { "glBindAttribLocation", "GL_VERSION_2_0", glBindAttribLocation },
12795   { "glBindAttribLocationARB", "GL_ARB_vertex_shader", glBindAttribLocationARB },
12796   { "glBindBuffer", "GL_VERSION_1_5", glBindBuffer },
12797   { "glBindBufferARB", "GL_ARB_vertex_buffer_object", glBindBufferARB },
12798   { "glBindBufferBase", "GL_VERSION_3_0", glBindBufferBase },
12799   { "glBindBufferBaseEXT", "GL_EXT_transform_feedback", glBindBufferBaseEXT },
12800   { "glBindBufferBaseNV", "GL_NV_transform_feedback", glBindBufferBaseNV },
12801   { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback", glBindBufferOffsetEXT },
12802   { "glBindBufferOffsetNV", "GL_NV_transform_feedback", glBindBufferOffsetNV },
12803   { "glBindBufferRange", "GL_VERSION_3_0", glBindBufferRange },
12804   { "glBindBufferRangeEXT", "GL_EXT_transform_feedback", glBindBufferRangeEXT },
12805   { "glBindBufferRangeNV", "GL_NV_transform_feedback", glBindBufferRangeNV },
12806   { "glBindFragDataLocation", "GL_VERSION_3_0", glBindFragDataLocation },
12807   { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4", glBindFragDataLocationEXT },
12808   { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended", glBindFragDataLocationIndexed },
12809   { "glBindFragmentShaderATI", "GL_ATI_fragment_shader", glBindFragmentShaderATI },
12810   { "glBindFramebuffer", "GL_ARB_framebuffer_object", glBindFramebuffer },
12811   { "glBindFramebufferEXT", "GL_EXT_framebuffer_object", glBindFramebufferEXT },
12812   { "glBindImageTexture", "GL_ARB_shader_image_load_store", glBindImageTexture },
12813   { "glBindImageTextureEXT", "GL_EXT_shader_image_load_store", glBindImageTextureEXT },
12814   { "glBindLightParameterEXT", "GL_EXT_vertex_shader", glBindLightParameterEXT },
12815   { "glBindMaterialParameterEXT", "GL_EXT_vertex_shader", glBindMaterialParameterEXT },
12816   { "glBindMultiTextureEXT", "GL_EXT_direct_state_access", glBindMultiTextureEXT },
12817   { "glBindParameterEXT", "GL_EXT_vertex_shader", glBindParameterEXT },
12818   { "glBindProgramARB", "GL_ARB_vertex_program", glBindProgramARB },
12819   { "glBindProgramNV", "GL_NV_vertex_program", glBindProgramNV },
12820   { "glBindProgramPipeline", "GL_ARB_separate_shader_objects", glBindProgramPipeline },
12821   { "glBindRenderbuffer", "GL_ARB_framebuffer_object", glBindRenderbuffer },
12822   { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object", glBindRenderbufferEXT },
12823   { "glBindSampler", "GL_ARB_sampler_objects", glBindSampler },
12824   { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader", glBindTexGenParameterEXT },
12825   { "glBindTextureEXT", "GL_EXT_texture_object", glBindTextureEXT },
12826   { "glBindTextureUnitParameterEXT", "GL_EXT_vertex_shader", glBindTextureUnitParameterEXT },
12827   { "glBindTransformFeedback", "GL_ARB_transform_feedback2", glBindTransformFeedback },
12828   { "glBindTransformFeedbackNV", "GL_NV_transform_feedback2", glBindTransformFeedbackNV },
12829   { "glBindVertexArray", "GL_ARB_vertex_array_object", glBindVertexArray },
12830   { "glBindVertexArrayAPPLE", "GL_APPLE_vertex_array_object", glBindVertexArrayAPPLE },
12831   { "glBindVertexBuffer", "GL_ARB_vertex_attrib_binding", glBindVertexBuffer },
12832   { "glBindVertexShaderEXT", "GL_EXT_vertex_shader", glBindVertexShaderEXT },
12833   { "glBindVideoCaptureStreamBufferNV", "GL_NV_video_capture", glBindVideoCaptureStreamBufferNV },
12834   { "glBindVideoCaptureStreamTextureNV", "GL_NV_video_capture", glBindVideoCaptureStreamTextureNV },
12835   { "glBinormal3bEXT", "GL_EXT_coordinate_frame", glBinormal3bEXT },
12836   { "glBinormal3bvEXT", "GL_EXT_coordinate_frame", glBinormal3bvEXT },
12837   { "glBinormal3dEXT", "GL_EXT_coordinate_frame", glBinormal3dEXT },
12838   { "glBinormal3dvEXT", "GL_EXT_coordinate_frame", glBinormal3dvEXT },
12839   { "glBinormal3fEXT", "GL_EXT_coordinate_frame", glBinormal3fEXT },
12840   { "glBinormal3fvEXT", "GL_EXT_coordinate_frame", glBinormal3fvEXT },
12841   { "glBinormal3iEXT", "GL_EXT_coordinate_frame", glBinormal3iEXT },
12842   { "glBinormal3ivEXT", "GL_EXT_coordinate_frame", glBinormal3ivEXT },
12843   { "glBinormal3sEXT", "GL_EXT_coordinate_frame", glBinormal3sEXT },
12844   { "glBinormal3svEXT", "GL_EXT_coordinate_frame", glBinormal3svEXT },
12845   { "glBinormalPointerEXT", "GL_EXT_coordinate_frame", glBinormalPointerEXT },
12846   { "glBlendColor", "GL_VERSION_1_2", glBlendColor },
12847   { "glBlendColorEXT", "GL_EXT_blend_color", glBlendColorEXT },
12848   { "glBlendEquation", "GL_VERSION_1_2", glBlendEquation },
12849   { "glBlendEquationEXT", "GL_EXT_blend_minmax", glBlendEquationEXT },
12850   { "glBlendEquationIndexedAMD", "GL_AMD_draw_buffers_blend", glBlendEquationIndexedAMD },
12851   { "glBlendEquationSeparate", "GL_VERSION_2_0", glBlendEquationSeparate },
12852   { "glBlendEquationSeparateEXT", "GL_EXT_blend_equation_separate", glBlendEquationSeparateEXT },
12853   { "glBlendEquationSeparateIndexedAMD", "GL_AMD_draw_buffers_blend", glBlendEquationSeparateIndexedAMD },
12854   { "glBlendEquationSeparatei", "GL_VERSION_4_0", glBlendEquationSeparatei },
12855   { "glBlendEquationSeparateiARB", "GL_ARB_draw_buffers_blend", glBlendEquationSeparateiARB },
12856   { "glBlendEquationi", "GL_VERSION_4_0", glBlendEquationi },
12857   { "glBlendEquationiARB", "GL_ARB_draw_buffers_blend", glBlendEquationiARB },
12858   { "glBlendFuncIndexedAMD", "GL_AMD_draw_buffers_blend", glBlendFuncIndexedAMD },
12859   { "glBlendFuncSeparate", "GL_VERSION_1_4", glBlendFuncSeparate },
12860   { "glBlendFuncSeparateEXT", "GL_EXT_blend_func_separate", glBlendFuncSeparateEXT },
12861   { "glBlendFuncSeparateINGR", "GL_INGR_blend_func_separate", glBlendFuncSeparateINGR },
12862   { "glBlendFuncSeparateIndexedAMD", "GL_AMD_draw_buffers_blend", glBlendFuncSeparateIndexedAMD },
12863   { "glBlendFuncSeparatei", "GL_VERSION_4_0", glBlendFuncSeparatei },
12864   { "glBlendFuncSeparateiARB", "GL_ARB_draw_buffers_blend", glBlendFuncSeparateiARB },
12865   { "glBlendFunci", "GL_VERSION_4_0", glBlendFunci },
12866   { "glBlendFunciARB", "GL_ARB_draw_buffers_blend", glBlendFunciARB },
12867   { "glBlitFramebuffer", "GL_ARB_framebuffer_object", glBlitFramebuffer },
12868   { "glBlitFramebufferEXT", "GL_EXT_framebuffer_blit", glBlitFramebufferEXT },
12869   { "glBufferAddressRangeNV", "GL_NV_vertex_buffer_unified_memory", glBufferAddressRangeNV },
12870   { "glBufferData", "GL_VERSION_1_5", glBufferData },
12871   { "glBufferDataARB", "GL_ARB_vertex_buffer_object", glBufferDataARB },
12872   { "glBufferParameteriAPPLE", "GL_APPLE_flush_buffer_range", glBufferParameteriAPPLE },
12873   { "glBufferRegionEnabled", "GL_KTX_buffer_region", glBufferRegionEnabled },
12874   { "glBufferSubData", "GL_VERSION_1_5", glBufferSubData },
12875   { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object", glBufferSubDataARB },
12876   { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object", glCheckFramebufferStatus },
12877   { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object", glCheckFramebufferStatusEXT },
12878   { "glCheckNamedFramebufferStatusEXT", "GL_EXT_direct_state_access", glCheckNamedFramebufferStatusEXT },
12879   { "glClampColor", "GL_VERSION_3_0", glClampColor },
12880   { "glClampColorARB", "GL_ARB_color_buffer_float", glClampColorARB },
12881   { "glClearBufferData", "GL_ARB_clear_buffer_object", glClearBufferData },
12882   { "glClearBufferSubData", "GL_ARB_clear_buffer_object", glClearBufferSubData },
12883   { "glClearBufferfi", "GL_VERSION_3_0", glClearBufferfi },
12884   { "glClearBufferfv", "GL_VERSION_3_0", glClearBufferfv },
12885   { "glClearBufferiv", "GL_VERSION_3_0", glClearBufferiv },
12886   { "glClearBufferuiv", "GL_VERSION_3_0", glClearBufferuiv },
12887   { "glClearColorIiEXT", "GL_EXT_texture_integer", glClearColorIiEXT },
12888   { "glClearColorIuiEXT", "GL_EXT_texture_integer", glClearColorIuiEXT },
12889   { "glClearDepthdNV", "GL_NV_depth_buffer_float", glClearDepthdNV },
12890   { "glClearDepthf", "GL_ARB_ES2_compatibility", glClearDepthf },
12891   { "glClearNamedBufferDataEXT", "GL_ARB_clear_buffer_object", glClearNamedBufferDataEXT },
12892   { "glClearNamedBufferSubDataEXT", "GL_ARB_clear_buffer_object", glClearNamedBufferSubDataEXT },
12893   { "glClientActiveTexture", "GL_VERSION_1_3", glClientActiveTexture },
12894   { "glClientActiveTextureARB", "GL_ARB_multitexture", glClientActiveTextureARB },
12895   { "glClientActiveVertexStreamATI", "GL_ATI_vertex_streams", glClientActiveVertexStreamATI },
12896   { "glClientAttribDefaultEXT", "GL_EXT_direct_state_access", glClientAttribDefaultEXT },
12897   { "glClientWaitSync", "GL_ARB_sync", glClientWaitSync },
12898   { "glColor3fVertex3fSUN", "GL_SUN_vertex", glColor3fVertex3fSUN },
12899   { "glColor3fVertex3fvSUN", "GL_SUN_vertex", glColor3fVertex3fvSUN },
12900   { "glColor3hNV", "GL_NV_half_float", glColor3hNV },
12901   { "glColor3hvNV", "GL_NV_half_float", glColor3hvNV },
12902   { "glColor4fNormal3fVertex3fSUN", "GL_SUN_vertex", glColor4fNormal3fVertex3fSUN },
12903   { "glColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex", glColor4fNormal3fVertex3fvSUN },
12904   { "glColor4hNV", "GL_NV_half_float", glColor4hNV },
12905   { "glColor4hvNV", "GL_NV_half_float", glColor4hvNV },
12906   { "glColor4ubVertex2fSUN", "GL_SUN_vertex", glColor4ubVertex2fSUN },
12907   { "glColor4ubVertex2fvSUN", "GL_SUN_vertex", glColor4ubVertex2fvSUN },
12908   { "glColor4ubVertex3fSUN", "GL_SUN_vertex", glColor4ubVertex3fSUN },
12909   { "glColor4ubVertex3fvSUN", "GL_SUN_vertex", glColor4ubVertex3fvSUN },
12910   { "glColorFormatNV", "GL_NV_vertex_buffer_unified_memory", glColorFormatNV },
12911   { "glColorFragmentOp1ATI", "GL_ATI_fragment_shader", glColorFragmentOp1ATI },
12912   { "glColorFragmentOp2ATI", "GL_ATI_fragment_shader", glColorFragmentOp2ATI },
12913   { "glColorFragmentOp3ATI", "GL_ATI_fragment_shader", glColorFragmentOp3ATI },
12914   { "glColorMaskIndexedEXT", "GL_EXT_draw_buffers2", glColorMaskIndexedEXT },
12915   { "glColorMaski", "GL_VERSION_3_0", glColorMaski },
12916   { "glColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glColorP3ui },
12917   { "glColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glColorP3uiv },
12918   { "glColorP4ui", "GL_ARB_vertex_type_2_10_10_10_rev", glColorP4ui },
12919   { "glColorP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glColorP4uiv },
12920   { "glColorPointerEXT", "GL_EXT_vertex_array", glColorPointerEXT },
12921   { "glColorPointerListIBM", "GL_IBM_vertex_array_lists", glColorPointerListIBM },
12922   { "glColorPointervINTEL", "GL_INTEL_parallel_arrays", glColorPointervINTEL },
12923   { "glColorSubTable", "GL_VERSION_1_2", glColorSubTable },
12924   { "glColorSubTableEXT", "GL_EXT_color_subtable", glColorSubTableEXT },
12925   { "glColorTable", "GL_VERSION_1_2", glColorTable },
12926   { "glColorTableEXT", "GL_EXT_paletted_texture", glColorTableEXT },
12927   { "glColorTableParameterfv", "GL_VERSION_1_2", glColorTableParameterfv },
12928   { "glColorTableParameterfvSGI", "GL_SGI_color_table", glColorTableParameterfvSGI },
12929   { "glColorTableParameteriv", "GL_VERSION_1_2", glColorTableParameteriv },
12930   { "glColorTableParameterivSGI", "GL_SGI_color_table", glColorTableParameterivSGI },
12931   { "glColorTableSGI", "GL_SGI_color_table", glColorTableSGI },
12932   { "glCombinerInputNV", "GL_NV_register_combiners", glCombinerInputNV },
12933   { "glCombinerOutputNV", "GL_NV_register_combiners", glCombinerOutputNV },
12934   { "glCombinerParameterfNV", "GL_NV_register_combiners", glCombinerParameterfNV },
12935   { "glCombinerParameterfvNV", "GL_NV_register_combiners", glCombinerParameterfvNV },
12936   { "glCombinerParameteriNV", "GL_NV_register_combiners", glCombinerParameteriNV },
12937   { "glCombinerParameterivNV", "GL_NV_register_combiners", glCombinerParameterivNV },
12938   { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2", glCombinerStageParameterfvNV },
12939   { "glCompileShader", "GL_VERSION_2_0", glCompileShader },
12940   { "glCompileShaderARB", "GL_ARB_shader_objects", glCompileShaderARB },
12941   { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include", glCompileShaderIncludeARB },
12942   { "glCompressedMultiTexImage1DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexImage1DEXT },
12943   { "glCompressedMultiTexImage2DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexImage2DEXT },
12944   { "glCompressedMultiTexImage3DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexImage3DEXT },
12945   { "glCompressedMultiTexSubImage1DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexSubImage1DEXT },
12946   { "glCompressedMultiTexSubImage2DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexSubImage2DEXT },
12947   { "glCompressedMultiTexSubImage3DEXT", "GL_EXT_direct_state_access", glCompressedMultiTexSubImage3DEXT },
12948   { "glCompressedTexImage1D", "GL_VERSION_1_3", glCompressedTexImage1D },
12949   { "glCompressedTexImage1DARB", "GL_ARB_texture_compression", glCompressedTexImage1DARB },
12950   { "glCompressedTexImage2D", "GL_VERSION_1_3", glCompressedTexImage2D },
12951   { "glCompressedTexImage2DARB", "GL_ARB_texture_compression", glCompressedTexImage2DARB },
12952   { "glCompressedTexImage3D", "GL_VERSION_1_3", glCompressedTexImage3D },
12953   { "glCompressedTexImage3DARB", "GL_ARB_texture_compression", glCompressedTexImage3DARB },
12954   { "glCompressedTexSubImage1D", "GL_VERSION_1_3", glCompressedTexSubImage1D },
12955   { "glCompressedTexSubImage1DARB", "GL_ARB_texture_compression", glCompressedTexSubImage1DARB },
12956   { "glCompressedTexSubImage2D", "GL_VERSION_1_3", glCompressedTexSubImage2D },
12957   { "glCompressedTexSubImage2DARB", "GL_ARB_texture_compression", glCompressedTexSubImage2DARB },
12958   { "glCompressedTexSubImage3D", "GL_VERSION_1_3", glCompressedTexSubImage3D },
12959   { "glCompressedTexSubImage3DARB", "GL_ARB_texture_compression", glCompressedTexSubImage3DARB },
12960   { "glCompressedTextureImage1DEXT", "GL_EXT_direct_state_access", glCompressedTextureImage1DEXT },
12961   { "glCompressedTextureImage2DEXT", "GL_EXT_direct_state_access", glCompressedTextureImage2DEXT },
12962   { "glCompressedTextureImage3DEXT", "GL_EXT_direct_state_access", glCompressedTextureImage3DEXT },
12963   { "glCompressedTextureSubImage1DEXT", "GL_EXT_direct_state_access", glCompressedTextureSubImage1DEXT },
12964   { "glCompressedTextureSubImage2DEXT", "GL_EXT_direct_state_access", glCompressedTextureSubImage2DEXT },
12965   { "glCompressedTextureSubImage3DEXT", "GL_EXT_direct_state_access", glCompressedTextureSubImage3DEXT },
12966   { "glConvolutionFilter1D", "GL_VERSION_1_2", glConvolutionFilter1D },
12967   { "glConvolutionFilter1DEXT", "GL_EXT_convolution", glConvolutionFilter1DEXT },
12968   { "glConvolutionFilter2D", "GL_VERSION_1_2", glConvolutionFilter2D },
12969   { "glConvolutionFilter2DEXT", "GL_EXT_convolution", glConvolutionFilter2DEXT },
12970   { "glConvolutionParameterf", "GL_VERSION_1_2", glConvolutionParameterf },
12971   { "glConvolutionParameterfEXT", "GL_EXT_convolution", glConvolutionParameterfEXT },
12972   { "glConvolutionParameterfv", "GL_VERSION_1_2", glConvolutionParameterfv },
12973   { "glConvolutionParameterfvEXT", "GL_EXT_convolution", glConvolutionParameterfvEXT },
12974   { "glConvolutionParameteri", "GL_VERSION_1_2", glConvolutionParameteri },
12975   { "glConvolutionParameteriEXT", "GL_EXT_convolution", glConvolutionParameteriEXT },
12976   { "glConvolutionParameteriv", "GL_VERSION_1_2", glConvolutionParameteriv },
12977   { "glConvolutionParameterivEXT", "GL_EXT_convolution", glConvolutionParameterivEXT },
12978   { "glCopyBufferSubData", "GL_ARB_copy_buffer", glCopyBufferSubData },
12979   { "glCopyColorSubTable", "GL_VERSION_1_2", glCopyColorSubTable },
12980   { "glCopyColorSubTableEXT", "GL_EXT_color_subtable", glCopyColorSubTableEXT },
12981   { "glCopyColorTable", "GL_VERSION_1_2", glCopyColorTable },
12982   { "glCopyColorTableSGI", "GL_SGI_color_table", glCopyColorTableSGI },
12983   { "glCopyConvolutionFilter1D", "GL_VERSION_1_2", glCopyConvolutionFilter1D },
12984   { "glCopyConvolutionFilter1DEXT", "GL_EXT_convolution", glCopyConvolutionFilter1DEXT },
12985   { "glCopyConvolutionFilter2D", "GL_VERSION_1_2", glCopyConvolutionFilter2D },
12986   { "glCopyConvolutionFilter2DEXT", "GL_EXT_convolution", glCopyConvolutionFilter2DEXT },
12987   { "glCopyImageSubData", "GL_ARB_copy_image", glCopyImageSubData },
12988   { "glCopyImageSubDataNV", "GL_NV_copy_image", glCopyImageSubDataNV },
12989   { "glCopyMultiTexImage1DEXT", "GL_EXT_direct_state_access", glCopyMultiTexImage1DEXT },
12990   { "glCopyMultiTexImage2DEXT", "GL_EXT_direct_state_access", glCopyMultiTexImage2DEXT },
12991   { "glCopyMultiTexSubImage1DEXT", "GL_EXT_direct_state_access", glCopyMultiTexSubImage1DEXT },
12992   { "glCopyMultiTexSubImage2DEXT", "GL_EXT_direct_state_access", glCopyMultiTexSubImage2DEXT },
12993   { "glCopyMultiTexSubImage3DEXT", "GL_EXT_direct_state_access", glCopyMultiTexSubImage3DEXT },
12994   { "glCopyPathNV", "GL_NV_path_rendering", glCopyPathNV },
12995   { "glCopyTexImage1DEXT", "GL_EXT_copy_texture", glCopyTexImage1DEXT },
12996   { "glCopyTexImage2DEXT", "GL_EXT_copy_texture", glCopyTexImage2DEXT },
12997   { "glCopyTexSubImage1DEXT", "GL_EXT_copy_texture", glCopyTexSubImage1DEXT },
12998   { "glCopyTexSubImage2DEXT", "GL_EXT_copy_texture", glCopyTexSubImage2DEXT },
12999   { "glCopyTexSubImage3D", "GL_VERSION_1_2", glCopyTexSubImage3D },
13000   { "glCopyTexSubImage3DEXT", "GL_EXT_copy_texture", glCopyTexSubImage3DEXT },
13001   { "glCopyTextureImage1DEXT", "GL_EXT_direct_state_access", glCopyTextureImage1DEXT },
13002   { "glCopyTextureImage2DEXT", "GL_EXT_direct_state_access", glCopyTextureImage2DEXT },
13003   { "glCopyTextureSubImage1DEXT", "GL_EXT_direct_state_access", glCopyTextureSubImage1DEXT },
13004   { "glCopyTextureSubImage2DEXT", "GL_EXT_direct_state_access", glCopyTextureSubImage2DEXT },
13005   { "glCopyTextureSubImage3DEXT", "GL_EXT_direct_state_access", glCopyTextureSubImage3DEXT },
13006   { "glCoverFillPathInstancedNV", "GL_NV_path_rendering", glCoverFillPathInstancedNV },
13007   { "glCoverFillPathNV", "GL_NV_path_rendering", glCoverFillPathNV },
13008   { "glCoverStrokePathInstancedNV", "GL_NV_path_rendering", glCoverStrokePathInstancedNV },
13009   { "glCoverStrokePathNV", "GL_NV_path_rendering", glCoverStrokePathNV },
13010   { "glCreateProgram", "GL_VERSION_2_0", glCreateProgram },
13011   { "glCreateProgramObjectARB", "GL_ARB_shader_objects", glCreateProgramObjectARB },
13012   { "glCreateShader", "GL_VERSION_2_0", glCreateShader },
13013   { "glCreateShaderObjectARB", "GL_ARB_shader_objects", glCreateShaderObjectARB },
13014   { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects", glCreateShaderProgramEXT },
13015   { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects", glCreateShaderProgramv },
13016   { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event", glCreateSyncFromCLeventARB },
13017   { "glCullParameterdvEXT", "GL_EXT_cull_vertex", glCullParameterdvEXT },
13018   { "glCullParameterfvEXT", "GL_EXT_cull_vertex", glCullParameterfvEXT },
13019   { "glCurrentPaletteMatrixARB", "GL_ARB_matrix_palette", glCurrentPaletteMatrixARB },
13020   { "glDebugMessageCallback", "GL_KHR_debug", glDebugMessageCallback },
13021   { "glDebugMessageCallbackAMD", "GL_AMD_debug_output", glDebugMessageCallbackAMD },
13022   { "glDebugMessageCallbackARB", "GL_ARB_debug_output", glDebugMessageCallbackARB },
13023   { "glDebugMessageControl", "GL_KHR_debug", glDebugMessageControl },
13024   { "glDebugMessageControlARB", "GL_ARB_debug_output", glDebugMessageControlARB },
13025   { "glDebugMessageEnableAMD", "GL_AMD_debug_output", glDebugMessageEnableAMD },
13026   { "glDebugMessageInsert", "GL_KHR_debug", glDebugMessageInsert },
13027   { "glDebugMessageInsertAMD", "GL_AMD_debug_output", glDebugMessageInsertAMD },
13028   { "glDebugMessageInsertARB", "GL_ARB_debug_output", glDebugMessageInsertARB },
13029   { "glDeformSGIX", "GL_SGIX_polynomial_ffd", glDeformSGIX },
13030   { "glDeformationMap3dSGIX", "GL_SGIX_polynomial_ffd", glDeformationMap3dSGIX },
13031   { "glDeformationMap3fSGIX", "GL_SGIX_polynomial_ffd", glDeformationMap3fSGIX },
13032   { "glDeleteAsyncMarkersSGIX", "GL_SGIX_async", glDeleteAsyncMarkersSGIX },
13033   { "glDeleteBufferRegion", "GL_KTX_buffer_region", glDeleteBufferRegion },
13034   { "glDeleteBuffers", "GL_VERSION_1_5", glDeleteBuffers },
13035   { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object", glDeleteBuffersARB },
13036   { "glDeleteFencesAPPLE", "GL_APPLE_fence", glDeleteFencesAPPLE },
13037   { "glDeleteFencesNV", "GL_NV_fence", glDeleteFencesNV },
13038   { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader", glDeleteFragmentShaderATI },
13039   { "glDeleteFramebuffers", "GL_ARB_framebuffer_object", glDeleteFramebuffers },
13040   { "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object", glDeleteFramebuffersEXT },
13041   { "glDeleteNamedStringARB", "GL_ARB_shading_language_include", glDeleteNamedStringARB },
13042   { "glDeleteNamesAMD", "GL_AMD_name_gen_delete", glDeleteNamesAMD },
13043   { "glDeleteObjectARB", "GL_ARB_shader_objects", glDeleteObjectARB },
13044   { "glDeleteObjectBufferATI", "GL_ATI_vertex_array_object", glDeleteObjectBufferATI },
13045   { "glDeleteOcclusionQueriesNV", "GL_NV_occlusion_query", glDeleteOcclusionQueriesNV },
13046   { "glDeletePathsNV", "GL_NV_path_rendering", glDeletePathsNV },
13047   { "glDeletePerfMonitorsAMD", "GL_AMD_performance_monitor", glDeletePerfMonitorsAMD },
13048   { "glDeleteProgram", "GL_VERSION_2_0", glDeleteProgram },
13049   { "glDeleteProgramPipelines", "GL_ARB_separate_shader_objects", glDeleteProgramPipelines },
13050   { "glDeleteProgramsARB", "GL_ARB_vertex_program", glDeleteProgramsARB },
13051   { "glDeleteProgramsNV", "GL_NV_vertex_program", glDeleteProgramsNV },
13052   { "glDeleteQueries", "GL_VERSION_1_5", glDeleteQueries },
13053   { "glDeleteQueriesARB", "GL_ARB_occlusion_query", glDeleteQueriesARB },
13054   { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object", glDeleteRenderbuffers },
13055   { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object", glDeleteRenderbuffersEXT },
13056   { "glDeleteSamplers", "GL_ARB_sampler_objects", glDeleteSamplers },
13057   { "glDeleteShader", "GL_VERSION_2_0", glDeleteShader },
13058   { "glDeleteSync", "GL_ARB_sync", glDeleteSync },
13059   { "glDeleteTexturesEXT", "GL_EXT_texture_object", glDeleteTexturesEXT },
13060   { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2", glDeleteTransformFeedbacks },
13061   { "glDeleteTransformFeedbacksNV", "GL_NV_transform_feedback2", glDeleteTransformFeedbacksNV },
13062   { "glDeleteVertexArrays", "GL_ARB_vertex_array_object", glDeleteVertexArrays },
13063   { "glDeleteVertexArraysAPPLE", "GL_APPLE_vertex_array_object", glDeleteVertexArraysAPPLE },
13064   { "glDeleteVertexShaderEXT", "GL_EXT_vertex_shader", glDeleteVertexShaderEXT },
13065   { "glDepthBoundsEXT", "GL_EXT_depth_bounds_test", glDepthBoundsEXT },
13066   { "glDepthBoundsdNV", "GL_NV_depth_buffer_float", glDepthBoundsdNV },
13067   { "glDepthRangeArrayv", "GL_ARB_viewport_array", glDepthRangeArrayv },
13068   { "glDepthRangeIndexed", "GL_ARB_viewport_array", glDepthRangeIndexed },
13069   { "glDepthRangedNV", "GL_NV_depth_buffer_float", glDepthRangedNV },
13070   { "glDepthRangef", "GL_ARB_ES2_compatibility", glDepthRangef },
13071   { "glDetachObjectARB", "GL_ARB_shader_objects", glDetachObjectARB },
13072   { "glDetachShader", "GL_VERSION_2_0", glDetachShader },
13073   { "glDetailTexFuncSGIS", "GL_SGIS_detail_texture", glDetailTexFuncSGIS },
13074   { "glDisableClientStateIndexedEXT", "GL_EXT_direct_state_access", glDisableClientStateIndexedEXT },
13075   { "glDisableIndexedEXT", "GL_EXT_draw_buffers2", glDisableIndexedEXT },
13076   { "glDisableVariantClientStateEXT", "GL_EXT_vertex_shader", glDisableVariantClientStateEXT },
13077   { "glDisableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators", glDisableVertexAttribAPPLE },
13078   { "glDisableVertexAttribArray", "GL_VERSION_2_0", glDisableVertexAttribArray },
13079   { "glDisableVertexAttribArrayARB", "GL_ARB_vertex_program", glDisableVertexAttribArrayARB },
13080   { "glDisablei", "GL_VERSION_3_0", glDisablei },
13081   { "glDispatchCompute", "GL_ARB_compute_shader", glDispatchCompute },
13082   { "glDispatchComputeIndirect", "GL_ARB_compute_shader", glDispatchComputeIndirect },
13083   { "glDrawArraysEXT", "GL_EXT_vertex_array", glDrawArraysEXT },
13084   { "glDrawArraysIndirect", "GL_ARB_draw_indirect", glDrawArraysIndirect },
13085   { "glDrawArraysInstanced", "GL_VERSION_3_1", glDrawArraysInstanced },
13086   { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced", glDrawArraysInstancedARB },
13087   { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance", glDrawArraysInstancedBaseInstance },
13088   { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced", glDrawArraysInstancedEXT },
13089   { "glDrawBufferRegion", "GL_KTX_buffer_region", glDrawBufferRegion },
13090   { "glDrawBuffers", "GL_VERSION_2_0", glDrawBuffers },
13091   { "glDrawBuffersARB", "GL_ARB_draw_buffers", glDrawBuffersARB },
13092   { "glDrawBuffersATI", "GL_ATI_draw_buffers", glDrawBuffersATI },
13093   { "glDrawElementArrayAPPLE", "GL_APPLE_element_array", glDrawElementArrayAPPLE },
13094   { "glDrawElementArrayATI", "GL_ATI_element_array", glDrawElementArrayATI },
13095   { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex", glDrawElementsBaseVertex },
13096   { "glDrawElementsIndirect", "GL_ARB_draw_indirect", glDrawElementsIndirect },
13097   { "glDrawElementsInstanced", "GL_VERSION_3_1", glDrawElementsInstanced },
13098   { "glDrawElementsInstancedARB", "GL_ARB_draw_instanced", glDrawElementsInstancedARB },
13099   { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance", glDrawElementsInstancedBaseInstance },
13100   { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex", glDrawElementsInstancedBaseVertex },
13101   { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance", glDrawElementsInstancedBaseVertexBaseInstance },
13102   { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced", glDrawElementsInstancedEXT },
13103   { "glDrawMeshArraysSUN", "GL_SUN_mesh_array", glDrawMeshArraysSUN },
13104   { "glDrawRangeElementArrayAPPLE", "GL_APPLE_element_array", glDrawRangeElementArrayAPPLE },
13105   { "glDrawRangeElementArrayATI", "GL_ATI_element_array", glDrawRangeElementArrayATI },
13106   { "glDrawRangeElements", "GL_VERSION_1_2", glDrawRangeElements },
13107   { "glDrawRangeElementsBaseVertex", "GL_ARB_draw_elements_base_vertex", glDrawRangeElementsBaseVertex },
13108   { "glDrawRangeElementsEXT", "GL_EXT_draw_range_elements", glDrawRangeElementsEXT },
13109   { "glDrawTransformFeedback", "GL_ARB_transform_feedback2", glDrawTransformFeedback },
13110   { "glDrawTransformFeedbackInstanced", "GL_ARB_transform_feedback_instanced", glDrawTransformFeedbackInstanced },
13111   { "glDrawTransformFeedbackNV", "GL_NV_transform_feedback2", glDrawTransformFeedbackNV },
13112   { "glDrawTransformFeedbackStream", "GL_ARB_transform_feedback3", glDrawTransformFeedbackStream },
13113   { "glDrawTransformFeedbackStreamInstanced", "GL_ARB_transform_feedback_instanced", glDrawTransformFeedbackStreamInstanced },
13114   { "glEdgeFlagFormatNV", "GL_NV_vertex_buffer_unified_memory", glEdgeFlagFormatNV },
13115   { "glEdgeFlagPointerEXT", "GL_EXT_vertex_array", glEdgeFlagPointerEXT },
13116   { "glEdgeFlagPointerListIBM", "GL_IBM_vertex_array_lists", glEdgeFlagPointerListIBM },
13117   { "glElementPointerAPPLE", "GL_APPLE_element_array", glElementPointerAPPLE },
13118   { "glElementPointerATI", "GL_ATI_element_array", glElementPointerATI },
13119   { "glEnableClientStateIndexedEXT", "GL_EXT_direct_state_access", glEnableClientStateIndexedEXT },
13120   { "glEnableIndexedEXT", "GL_EXT_draw_buffers2", glEnableIndexedEXT },
13121   { "glEnableVariantClientStateEXT", "GL_EXT_vertex_shader", glEnableVariantClientStateEXT },
13122   { "glEnableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators", glEnableVertexAttribAPPLE },
13123   { "glEnableVertexAttribArray", "GL_VERSION_2_0", glEnableVertexAttribArray },
13124   { "glEnableVertexAttribArrayARB", "GL_ARB_vertex_program", glEnableVertexAttribArrayARB },
13125   { "glEnablei", "GL_VERSION_3_0", glEnablei },
13126   { "glEndConditionalRender", "GL_VERSION_3_0", glEndConditionalRender },
13127   { "glEndConditionalRenderNV", "GL_NV_conditional_render", glEndConditionalRenderNV },
13128   { "glEndFragmentShaderATI", "GL_ATI_fragment_shader", glEndFragmentShaderATI },
13129   { "glEndOcclusionQueryNV", "GL_NV_occlusion_query", glEndOcclusionQueryNV },
13130   { "glEndPerfMonitorAMD", "GL_AMD_performance_monitor", glEndPerfMonitorAMD },
13131   { "glEndQuery", "GL_VERSION_1_5", glEndQuery },
13132   { "glEndQueryARB", "GL_ARB_occlusion_query", glEndQueryARB },
13133   { "glEndQueryIndexed", "GL_ARB_transform_feedback3", glEndQueryIndexed },
13134   { "glEndTransformFeedback", "GL_VERSION_3_0", glEndTransformFeedback },
13135   { "glEndTransformFeedbackEXT", "GL_EXT_transform_feedback", glEndTransformFeedbackEXT },
13136   { "glEndTransformFeedbackNV", "GL_NV_transform_feedback", glEndTransformFeedbackNV },
13137   { "glEndVertexShaderEXT", "GL_EXT_vertex_shader", glEndVertexShaderEXT },
13138   { "glEndVideoCaptureNV", "GL_NV_video_capture", glEndVideoCaptureNV },
13139   { "glEvalMapsNV", "GL_NV_evaluators", glEvalMapsNV },
13140   { "glExecuteProgramNV", "GL_NV_vertex_program", glExecuteProgramNV },
13141   { "glExtractComponentEXT", "GL_EXT_vertex_shader", glExtractComponentEXT },
13142   { "glFenceSync", "GL_ARB_sync", glFenceSync },
13143   { "glFinalCombinerInputNV", "GL_NV_register_combiners", glFinalCombinerInputNV },
13144   { "glFinishAsyncSGIX", "GL_SGIX_async", glFinishAsyncSGIX },
13145   { "glFinishFenceAPPLE", "GL_APPLE_fence", glFinishFenceAPPLE },
13146   { "glFinishFenceNV", "GL_NV_fence", glFinishFenceNV },
13147   { "glFinishObjectAPPLE", "GL_APPLE_fence", glFinishObjectAPPLE },
13148   { "glFinishTextureSUNX", "GL_SUNX_constant_data", glFinishTextureSUNX },
13149   { "glFlushMappedBufferRange", "GL_ARB_map_buffer_range", glFlushMappedBufferRange },
13150   { "glFlushMappedBufferRangeAPPLE", "GL_APPLE_flush_buffer_range", glFlushMappedBufferRangeAPPLE },
13151   { "glFlushMappedNamedBufferRangeEXT", "GL_EXT_direct_state_access", glFlushMappedNamedBufferRangeEXT },
13152   { "glFlushPixelDataRangeNV", "GL_NV_pixel_data_range", glFlushPixelDataRangeNV },
13153   { "glFlushRasterSGIX", "GL_SGIX_flush_raster", glFlushRasterSGIX },
13154   { "glFlushVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range", glFlushVertexArrayRangeAPPLE },
13155   { "glFlushVertexArrayRangeNV", "GL_NV_vertex_array_range", glFlushVertexArrayRangeNV },
13156   { "glFogCoordFormatNV", "GL_NV_vertex_buffer_unified_memory", glFogCoordFormatNV },
13157   { "glFogCoordPointer", "GL_VERSION_1_4", glFogCoordPointer },
13158   { "glFogCoordPointerEXT", "GL_EXT_fog_coord", glFogCoordPointerEXT },
13159   { "glFogCoordPointerListIBM", "GL_IBM_vertex_array_lists", glFogCoordPointerListIBM },
13160   { "glFogCoordd", "GL_VERSION_1_4", glFogCoordd },
13161   { "glFogCoorddEXT", "GL_EXT_fog_coord", glFogCoorddEXT },
13162   { "glFogCoorddv", "GL_VERSION_1_4", glFogCoorddv },
13163   { "glFogCoorddvEXT", "GL_EXT_fog_coord", glFogCoorddvEXT },
13164   { "glFogCoordf", "GL_VERSION_1_4", glFogCoordf },
13165   { "glFogCoordfEXT", "GL_EXT_fog_coord", glFogCoordfEXT },
13166   { "glFogCoordfv", "GL_VERSION_1_4", glFogCoordfv },
13167   { "glFogCoordfvEXT", "GL_EXT_fog_coord", glFogCoordfvEXT },
13168   { "glFogCoordhNV", "GL_NV_half_float", glFogCoordhNV },
13169   { "glFogCoordhvNV", "GL_NV_half_float", glFogCoordhvNV },
13170   { "glFogFuncSGIS", "GL_SGIS_fog_function", glFogFuncSGIS },
13171   { "glFragmentColorMaterialSGIX", "GL_SGIX_fragment_lighting", glFragmentColorMaterialSGIX },
13172   { "glFragmentLightModelfSGIX", "GL_SGIX_fragment_lighting", glFragmentLightModelfSGIX },
13173   { "glFragmentLightModelfvSGIX", "GL_SGIX_fragment_lighting", glFragmentLightModelfvSGIX },
13174   { "glFragmentLightModeliSGIX", "GL_SGIX_fragment_lighting", glFragmentLightModeliSGIX },
13175   { "glFragmentLightModelivSGIX", "GL_SGIX_fragment_lighting", glFragmentLightModelivSGIX },
13176   { "glFragmentLightfSGIX", "GL_SGIX_fragment_lighting", glFragmentLightfSGIX },
13177   { "glFragmentLightfvSGIX", "GL_SGIX_fragment_lighting", glFragmentLightfvSGIX },
13178   { "glFragmentLightiSGIX", "GL_SGIX_fragment_lighting", glFragmentLightiSGIX },
13179   { "glFragmentLightivSGIX", "GL_SGIX_fragment_lighting", glFragmentLightivSGIX },
13180   { "glFragmentMaterialfSGIX", "GL_SGIX_fragment_lighting", glFragmentMaterialfSGIX },
13181   { "glFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting", glFragmentMaterialfvSGIX },
13182   { "glFragmentMaterialiSGIX", "GL_SGIX_fragment_lighting", glFragmentMaterialiSGIX },
13183   { "glFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting", glFragmentMaterialivSGIX },
13184   { "glFrameTerminatorGREMEDY", "GL_GREMEDY_frame_terminator", glFrameTerminatorGREMEDY },
13185   { "glFrameZoomSGIX", "GL_SGIX_framezoom", glFrameZoomSGIX },
13186   { "glFramebufferDrawBufferEXT", "GL_EXT_direct_state_access", glFramebufferDrawBufferEXT },
13187   { "glFramebufferDrawBuffersEXT", "GL_EXT_direct_state_access", glFramebufferDrawBuffersEXT },
13188   { "glFramebufferParameteri", "GL_ARB_framebuffer_no_attachments", glFramebufferParameteri },
13189   { "glFramebufferReadBufferEXT", "GL_EXT_direct_state_access", glFramebufferReadBufferEXT },
13190   { "glFramebufferRenderbuffer", "GL_ARB_framebuffer_object", glFramebufferRenderbuffer },
13191   { "glFramebufferRenderbufferEXT", "GL_EXT_framebuffer_object", glFramebufferRenderbufferEXT },
13192   { "glFramebufferTexture", "GL_VERSION_3_2", glFramebufferTexture },
13193   { "glFramebufferTexture1D", "GL_ARB_framebuffer_object", glFramebufferTexture1D },
13194   { "glFramebufferTexture1DEXT", "GL_EXT_framebuffer_object", glFramebufferTexture1DEXT },
13195   { "glFramebufferTexture2D", "GL_ARB_framebuffer_object", glFramebufferTexture2D },
13196   { "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object", glFramebufferTexture2DEXT },
13197   { "glFramebufferTexture3D", "GL_ARB_framebuffer_object", glFramebufferTexture3D },
13198   { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object", glFramebufferTexture3DEXT },
13199   { "glFramebufferTextureARB", "GL_ARB_geometry_shader4", glFramebufferTextureARB },
13200   { "glFramebufferTextureEXT", "GL_NV_geometry_program4", glFramebufferTextureEXT },
13201   { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4", glFramebufferTextureFaceARB },
13202   { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4", glFramebufferTextureFaceEXT },
13203   { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object", glFramebufferTextureLayer },
13204   { "glFramebufferTextureLayerARB", "GL_ARB_geometry_shader4", glFramebufferTextureLayerARB },
13205   { "glFramebufferTextureLayerEXT", "GL_NV_geometry_program4", glFramebufferTextureLayerEXT },
13206   { "glFreeObjectBufferATI", "GL_ATI_vertex_array_object", glFreeObjectBufferATI },
13207   { "glGenAsyncMarkersSGIX", "GL_SGIX_async", glGenAsyncMarkersSGIX },
13208   { "glGenBuffers", "GL_VERSION_1_5", glGenBuffers },
13209   { "glGenBuffersARB", "GL_ARB_vertex_buffer_object", glGenBuffersARB },
13210   { "glGenFencesAPPLE", "GL_APPLE_fence", glGenFencesAPPLE },
13211   { "glGenFencesNV", "GL_NV_fence", glGenFencesNV },
13212   { "glGenFragmentShadersATI", "GL_ATI_fragment_shader", glGenFragmentShadersATI },
13213   { "glGenFramebuffers", "GL_ARB_framebuffer_object", glGenFramebuffers },
13214   { "glGenFramebuffersEXT", "GL_EXT_framebuffer_object", glGenFramebuffersEXT },
13215   { "glGenNamesAMD", "GL_AMD_name_gen_delete", glGenNamesAMD },
13216   { "glGenOcclusionQueriesNV", "GL_NV_occlusion_query", glGenOcclusionQueriesNV },
13217   { "glGenPathsNV", "GL_NV_path_rendering", glGenPathsNV },
13218   { "glGenPerfMonitorsAMD", "GL_AMD_performance_monitor", glGenPerfMonitorsAMD },
13219   { "glGenProgramPipelines", "GL_ARB_separate_shader_objects", glGenProgramPipelines },
13220   { "glGenProgramsARB", "GL_ARB_vertex_program", glGenProgramsARB },
13221   { "glGenProgramsNV", "GL_NV_vertex_program", glGenProgramsNV },
13222   { "glGenQueries", "GL_VERSION_1_5", glGenQueries },
13223   { "glGenQueriesARB", "GL_ARB_occlusion_query", glGenQueriesARB },
13224   { "glGenRenderbuffers", "GL_ARB_framebuffer_object", glGenRenderbuffers },
13225   { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object", glGenRenderbuffersEXT },
13226   { "glGenSamplers", "GL_ARB_sampler_objects", glGenSamplers },
13227   { "glGenSymbolsEXT", "GL_EXT_vertex_shader", glGenSymbolsEXT },
13228   { "glGenTexturesEXT", "GL_EXT_texture_object", glGenTexturesEXT },
13229   { "glGenTransformFeedbacks", "GL_ARB_transform_feedback2", glGenTransformFeedbacks },
13230   { "glGenTransformFeedbacksNV", "GL_NV_transform_feedback2", glGenTransformFeedbacksNV },
13231   { "glGenVertexArrays", "GL_ARB_vertex_array_object", glGenVertexArrays },
13232   { "glGenVertexArraysAPPLE", "GL_APPLE_vertex_array_object", glGenVertexArraysAPPLE },
13233   { "glGenVertexShadersEXT", "GL_EXT_vertex_shader", glGenVertexShadersEXT },
13234   { "glGenerateMipmap", "GL_ARB_framebuffer_object", glGenerateMipmap },
13235   { "glGenerateMipmapEXT", "GL_EXT_framebuffer_object", glGenerateMipmapEXT },
13236   { "glGenerateMultiTexMipmapEXT", "GL_EXT_direct_state_access", glGenerateMultiTexMipmapEXT },
13237   { "glGenerateTextureMipmapEXT", "GL_EXT_direct_state_access", glGenerateTextureMipmapEXT },
13238   { "glGetActiveAtomicCounterBufferiv", "GL_ARB_shader_atomic_counters", glGetActiveAtomicCounterBufferiv },
13239   { "glGetActiveAttrib", "GL_VERSION_2_0", glGetActiveAttrib },
13240   { "glGetActiveAttribARB", "GL_ARB_vertex_shader", glGetActiveAttribARB },
13241   { "glGetActiveSubroutineName", "GL_ARB_shader_subroutine", glGetActiveSubroutineName },
13242   { "glGetActiveSubroutineUniformName", "GL_ARB_shader_subroutine", glGetActiveSubroutineUniformName },
13243   { "glGetActiveSubroutineUniformiv", "GL_ARB_shader_subroutine", glGetActiveSubroutineUniformiv },
13244   { "glGetActiveUniform", "GL_VERSION_2_0", glGetActiveUniform },
13245   { "glGetActiveUniformARB", "GL_ARB_shader_objects", glGetActiveUniformARB },
13246   { "glGetActiveUniformBlockName", "GL_ARB_uniform_buffer_object", glGetActiveUniformBlockName },
13247   { "glGetActiveUniformBlockiv", "GL_ARB_uniform_buffer_object", glGetActiveUniformBlockiv },
13248   { "glGetActiveUniformName", "GL_ARB_uniform_buffer_object", glGetActiveUniformName },
13249   { "glGetActiveUniformsiv", "GL_ARB_uniform_buffer_object", glGetActiveUniformsiv },
13250   { "glGetActiveVaryingNV", "GL_NV_transform_feedback", glGetActiveVaryingNV },
13251   { "glGetArrayObjectfvATI", "GL_ATI_vertex_array_object", glGetArrayObjectfvATI },
13252   { "glGetArrayObjectivATI", "GL_ATI_vertex_array_object", glGetArrayObjectivATI },
13253   { "glGetAttachedObjectsARB", "GL_ARB_shader_objects", glGetAttachedObjectsARB },
13254   { "glGetAttachedShaders", "GL_VERSION_2_0", glGetAttachedShaders },
13255   { "glGetAttribLocation", "GL_VERSION_2_0", glGetAttribLocation },
13256   { "glGetAttribLocationARB", "GL_ARB_vertex_shader", glGetAttribLocationARB },
13257   { "glGetBooleanIndexedvEXT", "GL_EXT_draw_buffers2", glGetBooleanIndexedvEXT },
13258   { "glGetBooleani_v", "GL_VERSION_3_0", glGetBooleani_v },
13259   { "glGetBufferParameteri64v", "GL_VERSION_3_2", glGetBufferParameteri64v },
13260   { "glGetBufferParameteriv", "GL_VERSION_1_5", glGetBufferParameteriv },
13261   { "glGetBufferParameterivARB", "GL_ARB_vertex_buffer_object", glGetBufferParameterivARB },
13262   { "glGetBufferParameterui64vNV", "GL_NV_shader_buffer_load", glGetBufferParameterui64vNV },
13263   { "glGetBufferPointerv", "GL_VERSION_1_5", glGetBufferPointerv },
13264   { "glGetBufferPointervARB", "GL_ARB_vertex_buffer_object", glGetBufferPointervARB },
13265   { "glGetBufferSubData", "GL_VERSION_1_5", glGetBufferSubData },
13266   { "glGetBufferSubDataARB", "GL_ARB_vertex_buffer_object", glGetBufferSubDataARB },
13267   { "glGetColorTable", "GL_VERSION_1_2", glGetColorTable },
13268   { "glGetColorTableEXT", "GL_EXT_paletted_texture", glGetColorTableEXT },
13269   { "glGetColorTableParameterfv", "GL_VERSION_1_2", glGetColorTableParameterfv },
13270   { "glGetColorTableParameterfvEXT", "GL_EXT_paletted_texture", glGetColorTableParameterfvEXT },
13271   { "glGetColorTableParameterfvSGI", "GL_SGI_color_table", glGetColorTableParameterfvSGI },
13272   { "glGetColorTableParameteriv", "GL_VERSION_1_2", glGetColorTableParameteriv },
13273   { "glGetColorTableParameterivEXT", "GL_EXT_paletted_texture", glGetColorTableParameterivEXT },
13274   { "glGetColorTableParameterivSGI", "GL_SGI_color_table", glGetColorTableParameterivSGI },
13275   { "glGetColorTableSGI", "GL_SGI_color_table", glGetColorTableSGI },
13276   { "glGetCombinerInputParameterfvNV", "GL_NV_register_combiners", glGetCombinerInputParameterfvNV },
13277   { "glGetCombinerInputParameterivNV", "GL_NV_register_combiners", glGetCombinerInputParameterivNV },
13278   { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners", glGetCombinerOutputParameterfvNV },
13279   { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners", glGetCombinerOutputParameterivNV },
13280   { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2", glGetCombinerStageParameterfvNV },
13281   { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access", glGetCompressedMultiTexImageEXT },
13282   { "glGetCompressedTexImage", "GL_VERSION_1_3", glGetCompressedTexImage },
13283   { "glGetCompressedTexImageARB", "GL_ARB_texture_compression", glGetCompressedTexImageARB },
13284   { "glGetCompressedTextureImageEXT", "GL_EXT_direct_state_access", glGetCompressedTextureImageEXT },
13285   { "glGetConvolutionFilter", "GL_VERSION_1_2", glGetConvolutionFilter },
13286   { "glGetConvolutionFilterEXT", "GL_EXT_convolution", glGetConvolutionFilterEXT },
13287   { "glGetConvolutionParameterfv", "GL_VERSION_1_2", glGetConvolutionParameterfv },
13288   { "glGetConvolutionParameterfvEXT", "GL_EXT_convolution", glGetConvolutionParameterfvEXT },
13289   { "glGetConvolutionParameteriv", "GL_VERSION_1_2", glGetConvolutionParameteriv },
13290   { "glGetConvolutionParameterivEXT", "GL_EXT_convolution", glGetConvolutionParameterivEXT },
13291   { "glGetDebugMessageLog", "GL_KHR_debug", glGetDebugMessageLog },
13292   { "glGetDebugMessageLogAMD", "GL_AMD_debug_output", glGetDebugMessageLogAMD },
13293   { "glGetDebugMessageLogARB", "GL_ARB_debug_output", glGetDebugMessageLogARB },
13294   { "glGetDetailTexFuncSGIS", "GL_SGIS_detail_texture", glGetDetailTexFuncSGIS },
13295   { "glGetDoubleIndexedvEXT", "GL_EXT_direct_state_access", glGetDoubleIndexedvEXT },
13296   { "glGetDoublei_v", "GL_ARB_viewport_array", glGetDoublei_v },
13297   { "glGetFenceivNV", "GL_NV_fence", glGetFenceivNV },
13298   { "glGetFinalCombinerInputParameterfvNV", "GL_NV_register_combiners", glGetFinalCombinerInputParameterfvNV },
13299   { "glGetFinalCombinerInputParameterivNV", "GL_NV_register_combiners", glGetFinalCombinerInputParameterivNV },
13300   { "glGetFloatIndexedvEXT", "GL_EXT_direct_state_access", glGetFloatIndexedvEXT },
13301   { "glGetFloati_v", "GL_ARB_viewport_array", glGetFloati_v },
13302   { "glGetFogFuncSGIS", "GL_SGIS_fog_function", glGetFogFuncSGIS },
13303   { "glGetFragDataIndex", "GL_ARB_blend_func_extended", glGetFragDataIndex },
13304   { "glGetFragDataLocation", "GL_VERSION_3_0", glGetFragDataLocation },
13305   { "glGetFragDataLocationEXT", "GL_EXT_gpu_shader4", glGetFragDataLocationEXT },
13306   { "glGetFragmentLightfvSGIX", "GL_SGIX_fragment_lighting", glGetFragmentLightfvSGIX },
13307   { "glGetFragmentLightivSGIX", "GL_SGIX_fragment_lighting", glGetFragmentLightivSGIX },
13308   { "glGetFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting", glGetFragmentMaterialfvSGIX },
13309   { "glGetFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting", glGetFragmentMaterialivSGIX },
13310   { "glGetFramebufferAttachmentParameteriv", "GL_ARB_framebuffer_object", glGetFramebufferAttachmentParameteriv },
13311   { "glGetFramebufferAttachmentParameterivEXT", "GL_EXT_framebuffer_object", glGetFramebufferAttachmentParameterivEXT },
13312   { "glGetFramebufferParameteriv", "GL_ARB_framebuffer_no_attachments", glGetFramebufferParameteriv },
13313   { "glGetFramebufferParameterivEXT", "GL_EXT_direct_state_access", glGetFramebufferParameterivEXT },
13314   { "glGetGraphicsResetStatusARB", "GL_ARB_robustness", glGetGraphicsResetStatusARB },
13315   { "glGetHandleARB", "GL_ARB_shader_objects", glGetHandleARB },
13316   { "glGetHistogram", "GL_VERSION_1_2", glGetHistogram },
13317   { "glGetHistogramEXT", "GL_EXT_histogram", glGetHistogramEXT },
13318   { "glGetHistogramParameterfv", "GL_VERSION_1_2", glGetHistogramParameterfv },
13319   { "glGetHistogramParameterfvEXT", "GL_EXT_histogram", glGetHistogramParameterfvEXT },
13320   { "glGetHistogramParameteriv", "GL_VERSION_1_2", glGetHistogramParameteriv },
13321   { "glGetHistogramParameterivEXT", "GL_EXT_histogram", glGetHistogramParameterivEXT },
13322   { "glGetImageHandleNV", "GL_NV_bindless_texture", glGetImageHandleNV },
13323   { "glGetImageTransformParameterfvHP", "GL_HP_image_transform", glGetImageTransformParameterfvHP },
13324   { "glGetImageTransformParameterivHP", "GL_HP_image_transform", glGetImageTransformParameterivHP },
13325   { "glGetInfoLogARB", "GL_ARB_shader_objects", glGetInfoLogARB },
13326   { "glGetInstrumentsSGIX", "GL_SGIX_instruments", glGetInstrumentsSGIX },
13327   { "glGetInteger64i_v", "GL_VERSION_3_2", glGetInteger64i_v },
13328   { "glGetInteger64v", "GL_ARB_sync", glGetInteger64v },
13329   { "glGetIntegerIndexedvEXT", "GL_EXT_draw_buffers2", glGetIntegerIndexedvEXT },
13330   { "glGetIntegeri_v", "GL_VERSION_3_0", glGetIntegeri_v },
13331   { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory", glGetIntegerui64i_vNV },
13332   { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load", glGetIntegerui64vNV },
13333   { "glGetInternalformati64v", "GL_ARB_internalformat_query2", glGetInternalformati64v },
13334   { "glGetInternalformativ", "GL_ARB_internalformat_query", glGetInternalformativ },
13335   { "glGetInvariantBooleanvEXT", "GL_EXT_vertex_shader", glGetInvariantBooleanvEXT },
13336   { "glGetInvariantFloatvEXT", "GL_EXT_vertex_shader", glGetInvariantFloatvEXT },
13337   { "glGetInvariantIntegervEXT", "GL_EXT_vertex_shader", glGetInvariantIntegervEXT },
13338   { "glGetListParameterfvSGIX", "GL_SGIX_list_priority", glGetListParameterfvSGIX },
13339   { "glGetListParameterivSGIX", "GL_SGIX_list_priority", glGetListParameterivSGIX },
13340   { "glGetLocalConstantBooleanvEXT", "GL_EXT_vertex_shader", glGetLocalConstantBooleanvEXT },
13341   { "glGetLocalConstantFloatvEXT", "GL_EXT_vertex_shader", glGetLocalConstantFloatvEXT },
13342   { "glGetLocalConstantIntegervEXT", "GL_EXT_vertex_shader", glGetLocalConstantIntegervEXT },
13343   { "glGetMapAttribParameterfvNV", "GL_NV_evaluators", glGetMapAttribParameterfvNV },
13344   { "glGetMapAttribParameterivNV", "GL_NV_evaluators", glGetMapAttribParameterivNV },
13345   { "glGetMapControlPointsNV", "GL_NV_evaluators", glGetMapControlPointsNV },
13346   { "glGetMapParameterfvNV", "GL_NV_evaluators", glGetMapParameterfvNV },
13347   { "glGetMapParameterivNV", "GL_NV_evaluators", glGetMapParameterivNV },
13348   { "glGetMinmax", "GL_VERSION_1_2", glGetMinmax },
13349   { "glGetMinmaxEXT", "GL_EXT_histogram", glGetMinmaxEXT },
13350   { "glGetMinmaxParameterfv", "GL_VERSION_1_2", glGetMinmaxParameterfv },
13351   { "glGetMinmaxParameterfvEXT", "GL_EXT_histogram", glGetMinmaxParameterfvEXT },
13352   { "glGetMinmaxParameteriv", "GL_VERSION_1_2", glGetMinmaxParameteriv },
13353   { "glGetMinmaxParameterivEXT", "GL_EXT_histogram", glGetMinmaxParameterivEXT },
13354   { "glGetMultiTexEnvfvEXT", "GL_EXT_direct_state_access", glGetMultiTexEnvfvEXT },
13355   { "glGetMultiTexEnvivEXT", "GL_EXT_direct_state_access", glGetMultiTexEnvivEXT },
13356   { "glGetMultiTexGendvEXT", "GL_EXT_direct_state_access", glGetMultiTexGendvEXT },
13357   { "glGetMultiTexGenfvEXT", "GL_EXT_direct_state_access", glGetMultiTexGenfvEXT },
13358   { "glGetMultiTexGenivEXT", "GL_EXT_direct_state_access", glGetMultiTexGenivEXT },
13359   { "glGetMultiTexImageEXT", "GL_EXT_direct_state_access", glGetMultiTexImageEXT },
13360   { "glGetMultiTexLevelParameterfvEXT", "GL_EXT_direct_state_access", glGetMultiTexLevelParameterfvEXT },
13361   { "glGetMultiTexLevelParameterivEXT", "GL_EXT_direct_state_access", glGetMultiTexLevelParameterivEXT },
13362   { "glGetMultiTexParameterIivEXT", "GL_EXT_direct_state_access", glGetMultiTexParameterIivEXT },
13363   { "glGetMultiTexParameterIuivEXT", "GL_EXT_direct_state_access", glGetMultiTexParameterIuivEXT },
13364   { "glGetMultiTexParameterfvEXT", "GL_EXT_direct_state_access", glGetMultiTexParameterfvEXT },
13365   { "glGetMultiTexParameterivEXT", "GL_EXT_direct_state_access", glGetMultiTexParameterivEXT },
13366   { "glGetMultisamplefv", "GL_ARB_texture_multisample", glGetMultisamplefv },
13367   { "glGetMultisamplefvNV", "GL_NV_explicit_multisample", glGetMultisamplefvNV },
13368   { "glGetNamedBufferParameterivEXT", "GL_EXT_direct_state_access", glGetNamedBufferParameterivEXT },
13369   { "glGetNamedBufferParameterui64vNV", "GL_NV_shader_buffer_load", glGetNamedBufferParameterui64vNV },
13370   { "glGetNamedBufferPointervEXT", "GL_EXT_direct_state_access", glGetNamedBufferPointervEXT },
13371   { "glGetNamedBufferSubDataEXT", "GL_EXT_direct_state_access", glGetNamedBufferSubDataEXT },
13372   { "glGetNamedFramebufferAttachmentParameterivEXT", "GL_EXT_direct_state_access", glGetNamedFramebufferAttachmentParameterivEXT },
13373   { "glGetNamedFramebufferParameterivEXT", "GL_ARB_framebuffer_no_attachments", glGetNamedFramebufferParameterivEXT },
13374   { "glGetNamedProgramLocalParameterIivEXT", "GL_EXT_direct_state_access", glGetNamedProgramLocalParameterIivEXT },
13375   { "glGetNamedProgramLocalParameterIuivEXT", "GL_EXT_direct_state_access", glGetNamedProgramLocalParameterIuivEXT },
13376   { "glGetNamedProgramLocalParameterdvEXT", "GL_EXT_direct_state_access", glGetNamedProgramLocalParameterdvEXT },
13377   { "glGetNamedProgramLocalParameterfvEXT", "GL_EXT_direct_state_access", glGetNamedProgramLocalParameterfvEXT },
13378   { "glGetNamedProgramStringEXT", "GL_EXT_direct_state_access", glGetNamedProgramStringEXT },
13379   { "glGetNamedProgramivEXT", "GL_EXT_direct_state_access", glGetNamedProgramivEXT },
13380   { "glGetNamedRenderbufferParameterivEXT", "GL_EXT_direct_state_access", glGetNamedRenderbufferParameterivEXT },
13381   { "glGetNamedStringARB", "GL_ARB_shading_language_include", glGetNamedStringARB },
13382   { "glGetNamedStringivARB", "GL_ARB_shading_language_include", glGetNamedStringivARB },
13383   { "glGetObjectBufferfvATI", "GL_ATI_vertex_array_object", glGetObjectBufferfvATI },
13384   { "glGetObjectBufferivATI", "GL_ATI_vertex_array_object", glGetObjectBufferivATI },
13385   { "glGetObjectLabel", "GL_KHR_debug", glGetObjectLabel },
13386   { "glGetObjectParameterfvARB", "GL_ARB_shader_objects", glGetObjectParameterfvARB },
13387   { "glGetObjectParameterivAPPLE", "GL_APPLE_object_purgeable", glGetObjectParameterivAPPLE },
13388   { "glGetObjectParameterivARB", "GL_ARB_shader_objects", glGetObjectParameterivARB },
13389   { "glGetObjectPtrLabel", "GL_KHR_debug", glGetObjectPtrLabel },
13390   { "glGetOcclusionQueryivNV", "GL_NV_occlusion_query", glGetOcclusionQueryivNV },
13391   { "glGetOcclusionQueryuivNV", "GL_NV_occlusion_query", glGetOcclusionQueryuivNV },
13392   { "glGetPathColorGenfvNV", "GL_NV_path_rendering", glGetPathColorGenfvNV },
13393   { "glGetPathColorGenivNV", "GL_NV_path_rendering", glGetPathColorGenivNV },
13394   { "glGetPathCommandsNV", "GL_NV_path_rendering", glGetPathCommandsNV },
13395   { "glGetPathCoordsNV", "GL_NV_path_rendering", glGetPathCoordsNV },
13396   { "glGetPathDashArrayNV", "GL_NV_path_rendering", glGetPathDashArrayNV },
13397   { "glGetPathLengthNV", "GL_NV_path_rendering", glGetPathLengthNV },
13398   { "glGetPathMetricRangeNV", "GL_NV_path_rendering", glGetPathMetricRangeNV },
13399   { "glGetPathMetricsNV", "GL_NV_path_rendering", glGetPathMetricsNV },
13400   { "glGetPathParameterfvNV", "GL_NV_path_rendering", glGetPathParameterfvNV },
13401   { "glGetPathParameterivNV", "GL_NV_path_rendering", glGetPathParameterivNV },
13402   { "glGetPathSpacingNV", "GL_NV_path_rendering", glGetPathSpacingNV },
13403   { "glGetPathTexGenfvNV", "GL_NV_path_rendering", glGetPathTexGenfvNV },
13404   { "glGetPathTexGenivNV", "GL_NV_path_rendering", glGetPathTexGenivNV },
13405   { "glGetPerfMonitorCounterDataAMD", "GL_AMD_performance_monitor", glGetPerfMonitorCounterDataAMD },
13406   { "glGetPerfMonitorCounterInfoAMD", "GL_AMD_performance_monitor", glGetPerfMonitorCounterInfoAMD },
13407   { "glGetPerfMonitorCounterStringAMD", "GL_AMD_performance_monitor", glGetPerfMonitorCounterStringAMD },
13408   { "glGetPerfMonitorCountersAMD", "GL_AMD_performance_monitor", glGetPerfMonitorCountersAMD },
13409   { "glGetPerfMonitorGroupStringAMD", "GL_AMD_performance_monitor", glGetPerfMonitorGroupStringAMD },
13410   { "glGetPerfMonitorGroupsAMD", "GL_AMD_performance_monitor", glGetPerfMonitorGroupsAMD },
13411   { "glGetPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture", glGetPixelTexGenParameterfvSGIS },
13412   { "glGetPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture", glGetPixelTexGenParameterivSGIS },
13413   { "glGetPixelTransformParameterfvEXT", "GL_EXT_pixel_transform", glGetPixelTransformParameterfvEXT },
13414   { "glGetPixelTransformParameterivEXT", "GL_EXT_pixel_transform", glGetPixelTransformParameterivEXT },
13415   { "glGetPointerIndexedvEXT", "GL_EXT_direct_state_access", glGetPointerIndexedvEXT },
13416   { "glGetPointervEXT", "GL_EXT_vertex_array", glGetPointervEXT },
13417   { "glGetProgramBinary", "GL_ARB_get_program_binary", glGetProgramBinary },
13418   { "glGetProgramEnvParameterIivNV", "GL_NV_gpu_program4", glGetProgramEnvParameterIivNV },
13419   { "glGetProgramEnvParameterIuivNV", "GL_NV_gpu_program4", glGetProgramEnvParameterIuivNV },
13420   { "glGetProgramEnvParameterdvARB", "GL_ARB_vertex_program", glGetProgramEnvParameterdvARB },
13421   { "glGetProgramEnvParameterfvARB", "GL_ARB_vertex_program", glGetProgramEnvParameterfvARB },
13422   { "glGetProgramInfoLog", "GL_VERSION_2_0", glGetProgramInfoLog },
13423   { "glGetProgramInterfaceiv", "GL_ARB_program_interface_query", glGetProgramInterfaceiv },
13424   { "glGetProgramLocalParameterIivNV", "GL_NV_gpu_program4", glGetProgramLocalParameterIivNV },
13425   { "glGetProgramLocalParameterIuivNV", "GL_NV_gpu_program4", glGetProgramLocalParameterIuivNV },
13426   { "glGetProgramLocalParameterdvARB", "GL_ARB_vertex_program", glGetProgramLocalParameterdvARB },
13427   { "glGetProgramLocalParameterfvARB", "GL_ARB_vertex_program", glGetProgramLocalParameterfvARB },
13428   { "glGetProgramNamedParameterdvNV", "GL_NV_fragment_program", glGetProgramNamedParameterdvNV },
13429   { "glGetProgramNamedParameterfvNV", "GL_NV_fragment_program", glGetProgramNamedParameterfvNV },
13430   { "glGetProgramParameterdvNV", "GL_NV_vertex_program", glGetProgramParameterdvNV },
13431   { "glGetProgramParameterfvNV", "GL_NV_vertex_program", glGetProgramParameterfvNV },
13432   { "glGetProgramPipelineInfoLog", "GL_ARB_separate_shader_objects", glGetProgramPipelineInfoLog },
13433   { "glGetProgramPipelineiv", "GL_ARB_separate_shader_objects", glGetProgramPipelineiv },
13434   { "glGetProgramResourceIndex", "GL_ARB_program_interface_query", glGetProgramResourceIndex },
13435   { "glGetProgramResourceLocation", "GL_ARB_program_interface_query", glGetProgramResourceLocation },
13436   { "glGetProgramResourceLocationIndex", "GL_ARB_program_interface_query", glGetProgramResourceLocationIndex },
13437   { "glGetProgramResourceName", "GL_ARB_program_interface_query", glGetProgramResourceName },
13438   { "glGetProgramResourceiv", "GL_ARB_program_interface_query", glGetProgramResourceiv },
13439   { "glGetProgramStageiv", "GL_ARB_shader_subroutine", glGetProgramStageiv },
13440   { "glGetProgramStringARB", "GL_ARB_vertex_program", glGetProgramStringARB },
13441   { "glGetProgramStringNV", "GL_NV_vertex_program", glGetProgramStringNV },
13442   { "glGetProgramSubroutineParameteruivNV", "GL_NV_gpu_program5", glGetProgramSubroutineParameteruivNV },
13443   { "glGetProgramiv", "GL_VERSION_2_0", glGetProgramiv },
13444   { "glGetProgramivARB", "GL_ARB_vertex_program", glGetProgramivARB },
13445   { "glGetProgramivNV", "GL_NV_vertex_program", glGetProgramivNV },
13446   { "glGetQueryIndexediv", "GL_ARB_transform_feedback3", glGetQueryIndexediv },
13447   { "glGetQueryObjecti64v", "GL_ARB_timer_query", glGetQueryObjecti64v },
13448   { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query", glGetQueryObjecti64vEXT },
13449   { "glGetQueryObjectiv", "GL_VERSION_1_5", glGetQueryObjectiv },
13450   { "glGetQueryObjectivARB", "GL_ARB_occlusion_query", glGetQueryObjectivARB },
13451   { "glGetQueryObjectui64v", "GL_ARB_timer_query", glGetQueryObjectui64v },
13452   { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query", glGetQueryObjectui64vEXT },
13453   { "glGetQueryObjectuiv", "GL_VERSION_1_5", glGetQueryObjectuiv },
13454   { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query", glGetQueryObjectuivARB },
13455   { "glGetQueryiv", "GL_VERSION_1_5", glGetQueryiv },
13456   { "glGetQueryivARB", "GL_ARB_occlusion_query", glGetQueryivARB },
13457   { "glGetRenderbufferParameteriv", "GL_ARB_framebuffer_object", glGetRenderbufferParameteriv },
13458   { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object", glGetRenderbufferParameterivEXT },
13459   { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects", glGetSamplerParameterIiv },
13460   { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects", glGetSamplerParameterIuiv },
13461   { "glGetSamplerParameterfv", "GL_ARB_sampler_objects", glGetSamplerParameterfv },
13462   { "glGetSamplerParameteriv", "GL_ARB_sampler_objects", glGetSamplerParameteriv },
13463   { "glGetSeparableFilter", "GL_VERSION_1_2", glGetSeparableFilter },
13464   { "glGetSeparableFilterEXT", "GL_EXT_convolution", glGetSeparableFilterEXT },
13465   { "glGetShaderInfoLog", "GL_VERSION_2_0", glGetShaderInfoLog },
13466   { "glGetShaderPrecisionFormat", "GL_ARB_ES2_compatibility", glGetShaderPrecisionFormat },
13467   { "glGetShaderSource", "GL_VERSION_2_0", glGetShaderSource },
13468   { "glGetShaderSourceARB", "GL_ARB_shader_objects", glGetShaderSourceARB },
13469   { "glGetShaderiv", "GL_VERSION_2_0", glGetShaderiv },
13470   { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture", glGetSharpenTexFuncSGIS },
13471   { "glGetStringi", "GL_VERSION_3_0", glGetStringi },
13472   { "glGetSubroutineIndex", "GL_ARB_shader_subroutine", glGetSubroutineIndex },
13473   { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine", glGetSubroutineUniformLocation },
13474   { "glGetSynciv", "GL_ARB_sync", glGetSynciv },
13475   { "glGetTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap", glGetTexBumpParameterfvATI },
13476   { "glGetTexBumpParameterivATI", "GL_ATI_envmap_bumpmap", glGetTexBumpParameterivATI },
13477   { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4", glGetTexFilterFuncSGIS },
13478   { "glGetTexParameterIiv", "GL_VERSION_3_0", glGetTexParameterIiv },
13479   { "glGetTexParameterIivEXT", "GL_EXT_texture_integer", glGetTexParameterIivEXT },
13480   { "glGetTexParameterIuiv", "GL_VERSION_3_0", glGetTexParameterIuiv },
13481   { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer", glGetTexParameterIuivEXT },
13482   { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range", glGetTexParameterPointervAPPLE },
13483   { "glGetTextureHandleNV", "GL_NV_bindless_texture", glGetTextureHandleNV },
13484   { "glGetTextureImageEXT", "GL_EXT_direct_state_access", glGetTextureImageEXT },
13485   { "glGetTextureLevelParameterfvEXT", "GL_EXT_direct_state_access", glGetTextureLevelParameterfvEXT },
13486   { "glGetTextureLevelParameterivEXT", "GL_EXT_direct_state_access", glGetTextureLevelParameterivEXT },
13487   { "glGetTextureParameterIivEXT", "GL_EXT_direct_state_access", glGetTextureParameterIivEXT },
13488   { "glGetTextureParameterIuivEXT", "GL_EXT_direct_state_access", glGetTextureParameterIuivEXT },
13489   { "glGetTextureParameterfvEXT", "GL_EXT_direct_state_access", glGetTextureParameterfvEXT },
13490   { "glGetTextureParameterivEXT", "GL_EXT_direct_state_access", glGetTextureParameterivEXT },
13491   { "glGetTextureSamplerHandleNV", "GL_NV_bindless_texture", glGetTextureSamplerHandleNV },
13492   { "glGetTrackMatrixivNV", "GL_NV_vertex_program", glGetTrackMatrixivNV },
13493   { "glGetTransformFeedbackVarying", "GL_VERSION_3_0", glGetTransformFeedbackVarying },
13494   { "glGetTransformFeedbackVaryingEXT", "GL_EXT_transform_feedback", glGetTransformFeedbackVaryingEXT },
13495   { "glGetTransformFeedbackVaryingNV", "GL_NV_transform_feedback", glGetTransformFeedbackVaryingNV },
13496   { "glGetUniformBlockIndex", "GL_ARB_uniform_buffer_object", glGetUniformBlockIndex },
13497   { "glGetUniformBufferSizeEXT", "GL_EXT_bindable_uniform", glGetUniformBufferSizeEXT },
13498   { "glGetUniformIndices", "GL_ARB_uniform_buffer_object", glGetUniformIndices },
13499   { "glGetUniformLocation", "GL_VERSION_2_0", glGetUniformLocation },
13500   { "glGetUniformLocationARB", "GL_ARB_shader_objects", glGetUniformLocationARB },
13501   { "glGetUniformOffsetEXT", "GL_EXT_bindable_uniform", glGetUniformOffsetEXT },
13502   { "glGetUniformSubroutineuiv", "GL_ARB_shader_subroutine", glGetUniformSubroutineuiv },
13503   { "glGetUniformdv", "GL_ARB_gpu_shader_fp64", glGetUniformdv },
13504   { "glGetUniformfv", "GL_VERSION_2_0", glGetUniformfv },
13505   { "glGetUniformfvARB", "GL_ARB_shader_objects", glGetUniformfvARB },
13506   { "glGetUniformi64vNV", "GL_NV_gpu_shader5", glGetUniformi64vNV },
13507   { "glGetUniformiv", "GL_VERSION_2_0", glGetUniformiv },
13508   { "glGetUniformivARB", "GL_ARB_shader_objects", glGetUniformivARB },
13509   { "glGetUniformui64vNV", "GL_NV_shader_buffer_load", glGetUniformui64vNV },
13510   { "glGetUniformuiv", "GL_VERSION_3_0", glGetUniformuiv },
13511   { "glGetUniformuivEXT", "GL_EXT_gpu_shader4", glGetUniformuivEXT },
13512   { "glGetVariantArrayObjectfvATI", "GL_ATI_vertex_array_object", glGetVariantArrayObjectfvATI },
13513   { "glGetVariantArrayObjectivATI", "GL_ATI_vertex_array_object", glGetVariantArrayObjectivATI },
13514   { "glGetVariantBooleanvEXT", "GL_EXT_vertex_shader", glGetVariantBooleanvEXT },
13515   { "glGetVariantFloatvEXT", "GL_EXT_vertex_shader", glGetVariantFloatvEXT },
13516   { "glGetVariantIntegervEXT", "GL_EXT_vertex_shader", glGetVariantIntegervEXT },
13517   { "glGetVariantPointervEXT", "GL_EXT_vertex_shader", glGetVariantPointervEXT },
13518   { "glGetVaryingLocationNV", "GL_NV_transform_feedback", glGetVaryingLocationNV },
13519   { "glGetVertexAttribArrayObjectfvATI", "GL_ATI_vertex_attrib_array_object", glGetVertexAttribArrayObjectfvATI },
13520   { "glGetVertexAttribArrayObjectivATI", "GL_ATI_vertex_attrib_array_object", glGetVertexAttribArrayObjectivATI },
13521   { "glGetVertexAttribIiv", "GL_VERSION_3_0", glGetVertexAttribIiv },
13522   { "glGetVertexAttribIivEXT", "GL_NV_vertex_program4", glGetVertexAttribIivEXT },
13523   { "glGetVertexAttribIuiv", "GL_VERSION_3_0", glGetVertexAttribIuiv },
13524   { "glGetVertexAttribIuivEXT", "GL_NV_vertex_program4", glGetVertexAttribIuivEXT },
13525   { "glGetVertexAttribLdv", "GL_ARB_vertex_attrib_64bit", glGetVertexAttribLdv },
13526   { "glGetVertexAttribLdvEXT", "GL_EXT_vertex_attrib_64bit", glGetVertexAttribLdvEXT },
13527   { "glGetVertexAttribLi64vNV", "GL_NV_vertex_attrib_integer_64bit", glGetVertexAttribLi64vNV },
13528   { "glGetVertexAttribLui64vNV", "GL_NV_vertex_attrib_integer_64bit", glGetVertexAttribLui64vNV },
13529   { "glGetVertexAttribPointerv", "GL_VERSION_2_0", glGetVertexAttribPointerv },
13530   { "glGetVertexAttribPointervARB", "GL_ARB_vertex_program", glGetVertexAttribPointervARB },
13531   { "glGetVertexAttribPointervNV", "GL_NV_vertex_program", glGetVertexAttribPointervNV },
13532   { "glGetVertexAttribdv", "GL_VERSION_2_0", glGetVertexAttribdv },
13533   { "glGetVertexAttribdvARB", "GL_ARB_vertex_program", glGetVertexAttribdvARB },
13534   { "glGetVertexAttribdvNV", "GL_NV_vertex_program", glGetVertexAttribdvNV },
13535   { "glGetVertexAttribfv", "GL_VERSION_2_0", glGetVertexAttribfv },
13536   { "glGetVertexAttribfvARB", "GL_ARB_vertex_program", glGetVertexAttribfvARB },
13537   { "glGetVertexAttribfvNV", "GL_NV_vertex_program", glGetVertexAttribfvNV },
13538   { "glGetVertexAttribiv", "GL_VERSION_2_0", glGetVertexAttribiv },
13539   { "glGetVertexAttribivARB", "GL_ARB_vertex_program", glGetVertexAttribivARB },
13540   { "glGetVertexAttribivNV", "GL_NV_vertex_program", glGetVertexAttribivNV },
13541   { "glGetVideoCaptureStreamdvNV", "GL_NV_video_capture", glGetVideoCaptureStreamdvNV },
13542   { "glGetVideoCaptureStreamfvNV", "GL_NV_video_capture", glGetVideoCaptureStreamfvNV },
13543   { "glGetVideoCaptureStreamivNV", "GL_NV_video_capture", glGetVideoCaptureStreamivNV },
13544   { "glGetVideoCaptureivNV", "GL_NV_video_capture", glGetVideoCaptureivNV },
13545   { "glGetVideoi64vNV", "GL_NV_present_video", glGetVideoi64vNV },
13546   { "glGetVideoivNV", "GL_NV_present_video", glGetVideoivNV },
13547   { "glGetVideoui64vNV", "GL_NV_present_video", glGetVideoui64vNV },
13548   { "glGetVideouivNV", "GL_NV_present_video", glGetVideouivNV },
13549   { "glGetnColorTableARB", "GL_ARB_robustness", glGetnColorTableARB },
13550   { "glGetnCompressedTexImageARB", "GL_ARB_robustness", glGetnCompressedTexImageARB },
13551   { "glGetnConvolutionFilterARB", "GL_ARB_robustness", glGetnConvolutionFilterARB },
13552   { "glGetnHistogramARB", "GL_ARB_robustness", glGetnHistogramARB },
13553   { "glGetnMapdvARB", "GL_ARB_robustness", glGetnMapdvARB },
13554   { "glGetnMapfvARB", "GL_ARB_robustness", glGetnMapfvARB },
13555   { "glGetnMapivARB", "GL_ARB_robustness", glGetnMapivARB },
13556   { "glGetnMinmaxARB", "GL_ARB_robustness", glGetnMinmaxARB },
13557   { "glGetnPixelMapfvARB", "GL_ARB_robustness", glGetnPixelMapfvARB },
13558   { "glGetnPixelMapuivARB", "GL_ARB_robustness", glGetnPixelMapuivARB },
13559   { "glGetnPixelMapusvARB", "GL_ARB_robustness", glGetnPixelMapusvARB },
13560   { "glGetnPolygonStippleARB", "GL_ARB_robustness", glGetnPolygonStippleARB },
13561   { "glGetnSeparableFilterARB", "GL_ARB_robustness", glGetnSeparableFilterARB },
13562   { "glGetnTexImageARB", "GL_ARB_robustness", glGetnTexImageARB },
13563   { "glGetnUniformdvARB", "GL_ARB_robustness", glGetnUniformdvARB },
13564   { "glGetnUniformfvARB", "GL_ARB_robustness", glGetnUniformfvARB },
13565   { "glGetnUniformivARB", "GL_ARB_robustness", glGetnUniformivARB },
13566   { "glGetnUniformuivARB", "GL_ARB_robustness", glGetnUniformuivARB },
13567   { "glGlobalAlphaFactorbSUN", "GL_SUN_global_alpha", glGlobalAlphaFactorbSUN },
13568   { "glGlobalAlphaFactordSUN", "GL_SUN_global_alpha", glGlobalAlphaFactordSUN },
13569   { "glGlobalAlphaFactorfSUN", "GL_SUN_global_alpha", glGlobalAlphaFactorfSUN },
13570   { "glGlobalAlphaFactoriSUN", "GL_SUN_global_alpha", glGlobalAlphaFactoriSUN },
13571   { "glGlobalAlphaFactorsSUN", "GL_SUN_global_alpha", glGlobalAlphaFactorsSUN },
13572   { "glGlobalAlphaFactorubSUN", "GL_SUN_global_alpha", glGlobalAlphaFactorubSUN },
13573   { "glGlobalAlphaFactoruiSUN", "GL_SUN_global_alpha", glGlobalAlphaFactoruiSUN },
13574   { "glGlobalAlphaFactorusSUN", "GL_SUN_global_alpha", glGlobalAlphaFactorusSUN },
13575   { "glHintPGI", "GL_PGI_misc_hints", glHintPGI },
13576   { "glHistogram", "GL_VERSION_1_2", glHistogram },
13577   { "glHistogramEXT", "GL_EXT_histogram", glHistogramEXT },
13578   { "glIglooInterfaceSGIX", "GL_SGIX_igloo_interface", glIglooInterfaceSGIX },
13579   { "glImageTransformParameterfHP", "GL_HP_image_transform", glImageTransformParameterfHP },
13580   { "glImageTransformParameterfvHP", "GL_HP_image_transform", glImageTransformParameterfvHP },
13581   { "glImageTransformParameteriHP", "GL_HP_image_transform", glImageTransformParameteriHP },
13582   { "glImageTransformParameterivHP", "GL_HP_image_transform", glImageTransformParameterivHP },
13583   { "glImportSyncEXT", "GL_EXT_x11_sync_object", glImportSyncEXT },
13584   { "glIndexFormatNV", "GL_NV_vertex_buffer_unified_memory", glIndexFormatNV },
13585   { "glIndexFuncEXT", "GL_EXT_index_func", glIndexFuncEXT },
13586   { "glIndexMaterialEXT", "GL_EXT_index_material", glIndexMaterialEXT },
13587   { "glIndexPointerEXT", "GL_EXT_vertex_array", glIndexPointerEXT },
13588   { "glIndexPointerListIBM", "GL_IBM_vertex_array_lists", glIndexPointerListIBM },
13589   { "glInsertComponentEXT", "GL_EXT_vertex_shader", glInsertComponentEXT },
13590   { "glInstrumentsBufferSGIX", "GL_SGIX_instruments", glInstrumentsBufferSGIX },
13591   { "glInterpolatePathsNV", "GL_NV_path_rendering", glInterpolatePathsNV },
13592   { "glInvalidateBufferData", "GL_ARB_invalidate_subdata", glInvalidateBufferData },
13593   { "glInvalidateBufferSubData", "GL_ARB_invalidate_subdata", glInvalidateBufferSubData },
13594   { "glInvalidateFramebuffer", "GL_ARB_invalidate_subdata", glInvalidateFramebuffer },
13595   { "glInvalidateSubFramebuffer", "GL_ARB_invalidate_subdata", glInvalidateSubFramebuffer },
13596   { "glInvalidateTexImage", "GL_ARB_invalidate_subdata", glInvalidateTexImage },
13597   { "glInvalidateTexSubImage", "GL_ARB_invalidate_subdata", glInvalidateTexSubImage },
13598   { "glIsAsyncMarkerSGIX", "GL_SGIX_async", glIsAsyncMarkerSGIX },
13599   { "glIsBuffer", "GL_VERSION_1_5", glIsBuffer },
13600   { "glIsBufferARB", "GL_ARB_vertex_buffer_object", glIsBufferARB },
13601   { "glIsBufferResidentNV", "GL_NV_shader_buffer_load", glIsBufferResidentNV },
13602   { "glIsEnabledIndexedEXT", "GL_EXT_draw_buffers2", glIsEnabledIndexedEXT },
13603   { "glIsEnabledi", "GL_VERSION_3_0", glIsEnabledi },
13604   { "glIsFenceAPPLE", "GL_APPLE_fence", glIsFenceAPPLE },
13605   { "glIsFenceNV", "GL_NV_fence", glIsFenceNV },
13606   { "glIsFramebuffer", "GL_ARB_framebuffer_object", glIsFramebuffer },
13607   { "glIsFramebufferEXT", "GL_EXT_framebuffer_object", glIsFramebufferEXT },
13608   { "glIsImageHandleResidentNV", "GL_NV_bindless_texture", glIsImageHandleResidentNV },
13609   { "glIsNameAMD", "GL_AMD_name_gen_delete", glIsNameAMD },
13610   { "glIsNamedBufferResidentNV", "GL_NV_shader_buffer_load", glIsNamedBufferResidentNV },
13611   { "glIsNamedStringARB", "GL_ARB_shading_language_include", glIsNamedStringARB },
13612   { "glIsObjectBufferATI", "GL_ATI_vertex_array_object", glIsObjectBufferATI },
13613   { "glIsOcclusionQueryNV", "GL_NV_occlusion_query", glIsOcclusionQueryNV },
13614   { "glIsPathNV", "GL_NV_path_rendering", glIsPathNV },
13615   { "glIsPointInFillPathNV", "GL_NV_path_rendering", glIsPointInFillPathNV },
13616   { "glIsPointInStrokePathNV", "GL_NV_path_rendering", glIsPointInStrokePathNV },
13617   { "glIsProgram", "GL_VERSION_2_0", glIsProgram },
13618   { "glIsProgramARB", "GL_ARB_vertex_program", glIsProgramARB },
13619   { "glIsProgramNV", "GL_NV_vertex_program", glIsProgramNV },
13620   { "glIsProgramPipeline", "GL_ARB_separate_shader_objects", glIsProgramPipeline },
13621   { "glIsQuery", "GL_VERSION_1_5", glIsQuery },
13622   { "glIsQueryARB", "GL_ARB_occlusion_query", glIsQueryARB },
13623   { "glIsRenderbuffer", "GL_ARB_framebuffer_object", glIsRenderbuffer },
13624   { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object", glIsRenderbufferEXT },
13625   { "glIsSampler", "GL_ARB_sampler_objects", glIsSampler },
13626   { "glIsShader", "GL_VERSION_2_0", glIsShader },
13627   { "glIsSync", "GL_ARB_sync", glIsSync },
13628   { "glIsTextureEXT", "GL_EXT_texture_object", glIsTextureEXT },
13629   { "glIsTextureHandleResidentNV", "GL_NV_bindless_texture", glIsTextureHandleResidentNV },
13630   { "glIsTransformFeedback", "GL_ARB_transform_feedback2", glIsTransformFeedback },
13631   { "glIsTransformFeedbackNV", "GL_NV_transform_feedback2", glIsTransformFeedbackNV },
13632   { "glIsVariantEnabledEXT", "GL_EXT_vertex_shader", glIsVariantEnabledEXT },
13633   { "glIsVertexArray", "GL_ARB_vertex_array_object", glIsVertexArray },
13634   { "glIsVertexArrayAPPLE", "GL_APPLE_vertex_array_object", glIsVertexArrayAPPLE },
13635   { "glIsVertexAttribEnabledAPPLE", "GL_APPLE_vertex_program_evaluators", glIsVertexAttribEnabledAPPLE },
13636   { "glLightEnviSGIX", "GL_SGIX_fragment_lighting", glLightEnviSGIX },
13637   { "glLinkProgram", "GL_VERSION_2_0", glLinkProgram },
13638   { "glLinkProgramARB", "GL_ARB_shader_objects", glLinkProgramARB },
13639   { "glListParameterfSGIX", "GL_SGIX_list_priority", glListParameterfSGIX },
13640   { "glListParameterfvSGIX", "GL_SGIX_list_priority", glListParameterfvSGIX },
13641   { "glListParameteriSGIX", "GL_SGIX_list_priority", glListParameteriSGIX },
13642   { "glListParameterivSGIX", "GL_SGIX_list_priority", glListParameterivSGIX },
13643   { "glLoadIdentityDeformationMapSGIX", "GL_SGIX_polynomial_ffd", glLoadIdentityDeformationMapSGIX },
13644   { "glLoadProgramNV", "GL_NV_vertex_program", glLoadProgramNV },
13645   { "glLoadTransposeMatrixd", "GL_VERSION_1_3", glLoadTransposeMatrixd },
13646   { "glLoadTransposeMatrixdARB", "GL_ARB_transpose_matrix", glLoadTransposeMatrixdARB },
13647   { "glLoadTransposeMatrixf", "GL_VERSION_1_3", glLoadTransposeMatrixf },
13648   { "glLoadTransposeMatrixfARB", "GL_ARB_transpose_matrix", glLoadTransposeMatrixfARB },
13649   { "glLockArraysEXT", "GL_EXT_compiled_vertex_array", glLockArraysEXT },
13650   { "glMTexCoord2fSGIS", "GL_SGIS_multitexture", glMTexCoord2fSGIS },
13651   { "glMTexCoord2fvSGIS", "GL_SGIS_multitexture", glMTexCoord2fvSGIS },
13652   { "glMakeBufferNonResidentNV", "GL_NV_shader_buffer_load", glMakeBufferNonResidentNV },
13653   { "glMakeBufferResidentNV", "GL_NV_shader_buffer_load", glMakeBufferResidentNV },
13654   { "glMakeImageHandleNonResidentNV", "GL_NV_bindless_texture", glMakeImageHandleNonResidentNV },
13655   { "glMakeImageHandleResidentNV", "GL_NV_bindless_texture", glMakeImageHandleResidentNV },
13656   { "glMakeNamedBufferNonResidentNV", "GL_NV_shader_buffer_load", glMakeNamedBufferNonResidentNV },
13657   { "glMakeNamedBufferResidentNV", "GL_NV_shader_buffer_load", glMakeNamedBufferResidentNV },
13658   { "glMakeTextureHandleNonResidentNV", "GL_NV_bindless_texture", glMakeTextureHandleNonResidentNV },
13659   { "glMakeTextureHandleResidentNV", "GL_NV_bindless_texture", glMakeTextureHandleResidentNV },
13660   { "glMapBuffer", "GL_VERSION_1_5", glMapBuffer },
13661   { "glMapBufferARB", "GL_ARB_vertex_buffer_object", glMapBufferARB },
13662   { "glMapBufferRange", "GL_ARB_map_buffer_range", glMapBufferRange },
13663   { "glMapControlPointsNV", "GL_NV_evaluators", glMapControlPointsNV },
13664   { "glMapNamedBufferEXT", "GL_EXT_direct_state_access", glMapNamedBufferEXT },
13665   { "glMapNamedBufferRangeEXT", "GL_EXT_direct_state_access", glMapNamedBufferRangeEXT },
13666   { "glMapObjectBufferATI", "GL_ATI_map_object_buffer", glMapObjectBufferATI },
13667   { "glMapParameterfvNV", "GL_NV_evaluators", glMapParameterfvNV },
13668   { "glMapParameterivNV", "GL_NV_evaluators", glMapParameterivNV },
13669   { "glMapVertexAttrib1dAPPLE", "GL_APPLE_vertex_program_evaluators", glMapVertexAttrib1dAPPLE },
13670   { "glMapVertexAttrib1fAPPLE", "GL_APPLE_vertex_program_evaluators", glMapVertexAttrib1fAPPLE },
13671   { "glMapVertexAttrib2dAPPLE", "GL_APPLE_vertex_program_evaluators", glMapVertexAttrib2dAPPLE },
13672   { "glMapVertexAttrib2fAPPLE", "GL_APPLE_vertex_program_evaluators", glMapVertexAttrib2fAPPLE },
13673   { "glMatrixFrustumEXT", "GL_EXT_direct_state_access", glMatrixFrustumEXT },
13674   { "glMatrixIndexPointerARB", "GL_ARB_matrix_palette", glMatrixIndexPointerARB },
13675   { "glMatrixIndexubvARB", "GL_ARB_matrix_palette", glMatrixIndexubvARB },
13676   { "glMatrixIndexuivARB", "GL_ARB_matrix_palette", glMatrixIndexuivARB },
13677   { "glMatrixIndexusvARB", "GL_ARB_matrix_palette", glMatrixIndexusvARB },
13678   { "glMatrixLoadIdentityEXT", "GL_EXT_direct_state_access", glMatrixLoadIdentityEXT },
13679   { "glMatrixLoadTransposedEXT", "GL_EXT_direct_state_access", glMatrixLoadTransposedEXT },
13680   { "glMatrixLoadTransposefEXT", "GL_EXT_direct_state_access", glMatrixLoadTransposefEXT },
13681   { "glMatrixLoaddEXT", "GL_EXT_direct_state_access", glMatrixLoaddEXT },
13682   { "glMatrixLoadfEXT", "GL_EXT_direct_state_access", glMatrixLoadfEXT },
13683   { "glMatrixMultTransposedEXT", "GL_EXT_direct_state_access", glMatrixMultTransposedEXT },
13684   { "glMatrixMultTransposefEXT", "GL_EXT_direct_state_access", glMatrixMultTransposefEXT },
13685   { "glMatrixMultdEXT", "GL_EXT_direct_state_access", glMatrixMultdEXT },
13686   { "glMatrixMultfEXT", "GL_EXT_direct_state_access", glMatrixMultfEXT },
13687   { "glMatrixOrthoEXT", "GL_EXT_direct_state_access", glMatrixOrthoEXT },
13688   { "glMatrixPopEXT", "GL_EXT_direct_state_access", glMatrixPopEXT },
13689   { "glMatrixPushEXT", "GL_EXT_direct_state_access", glMatrixPushEXT },
13690   { "glMatrixRotatedEXT", "GL_EXT_direct_state_access", glMatrixRotatedEXT },
13691   { "glMatrixRotatefEXT", "GL_EXT_direct_state_access", glMatrixRotatefEXT },
13692   { "glMatrixScaledEXT", "GL_EXT_direct_state_access", glMatrixScaledEXT },
13693   { "glMatrixScalefEXT", "GL_EXT_direct_state_access", glMatrixScalefEXT },
13694   { "glMatrixTranslatedEXT", "GL_EXT_direct_state_access", glMatrixTranslatedEXT },
13695   { "glMatrixTranslatefEXT", "GL_EXT_direct_state_access", glMatrixTranslatefEXT },
13696   { "glMemoryBarrier", "GL_ARB_shader_image_load_store", glMemoryBarrier },
13697   { "glMemoryBarrierEXT", "GL_EXT_shader_image_load_store", glMemoryBarrierEXT },
13698   { "glMinSampleShading", "GL_VERSION_4_0", glMinSampleShading },
13699   { "glMinSampleShadingARB", "GL_ARB_sample_shading", glMinSampleShadingARB },
13700   { "glMinmax", "GL_VERSION_1_2", glMinmax },
13701   { "glMinmaxEXT", "GL_EXT_histogram", glMinmaxEXT },
13702   { "glMultTransposeMatrixd", "GL_VERSION_1_3", glMultTransposeMatrixd },
13703   { "glMultTransposeMatrixdARB", "GL_ARB_transpose_matrix", glMultTransposeMatrixdARB },
13704   { "glMultTransposeMatrixf", "GL_VERSION_1_3", glMultTransposeMatrixf },
13705   { "glMultTransposeMatrixfARB", "GL_ARB_transpose_matrix", glMultTransposeMatrixfARB },
13706   { "glMultiDrawArrays", "GL_VERSION_1_4", glMultiDrawArrays },
13707   { "glMultiDrawArraysEXT", "GL_EXT_multi_draw_arrays", glMultiDrawArraysEXT },
13708   { "glMultiDrawArraysIndirect", "GL_ARB_multi_draw_indirect", glMultiDrawArraysIndirect },
13709   { "glMultiDrawArraysIndirectAMD", "GL_AMD_multi_draw_indirect", glMultiDrawArraysIndirectAMD },
13710   { "glMultiDrawElementArrayAPPLE", "GL_APPLE_element_array", glMultiDrawElementArrayAPPLE },
13711   { "glMultiDrawElements", "GL_VERSION_1_4", glMultiDrawElements },
13712   { "glMultiDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex", glMultiDrawElementsBaseVertex },
13713   { "glMultiDrawElementsEXT", "GL_EXT_multi_draw_arrays", glMultiDrawElementsEXT },
13714   { "glMultiDrawElementsIndirect", "GL_ARB_multi_draw_indirect", glMultiDrawElementsIndirect },
13715   { "glMultiDrawElementsIndirectAMD", "GL_AMD_multi_draw_indirect", glMultiDrawElementsIndirectAMD },
13716   { "glMultiDrawRangeElementArrayAPPLE", "GL_APPLE_element_array", glMultiDrawRangeElementArrayAPPLE },
13717   { "glMultiModeDrawArraysIBM", "GL_IBM_multimode_draw_arrays", glMultiModeDrawArraysIBM },
13718   { "glMultiModeDrawElementsIBM", "GL_IBM_multimode_draw_arrays", glMultiModeDrawElementsIBM },
13719   { "glMultiTexBufferEXT", "GL_EXT_direct_state_access", glMultiTexBufferEXT },
13720   { "glMultiTexCoord1d", "GL_VERSION_1_3", glMultiTexCoord1d },
13721   { "glMultiTexCoord1dARB", "GL_ARB_multitexture", glMultiTexCoord1dARB },
13722   { "glMultiTexCoord1dSGIS", "GL_SGIS_multitexture", glMultiTexCoord1dSGIS },
13723   { "glMultiTexCoord1dv", "GL_VERSION_1_3", glMultiTexCoord1dv },
13724   { "glMultiTexCoord1dvARB", "GL_ARB_multitexture", glMultiTexCoord1dvARB },
13725   { "glMultiTexCoord1dvSGIS", "GL_SGIS_multitexture", glMultiTexCoord1dvSGIS },
13726   { "glMultiTexCoord1f", "GL_VERSION_1_3", glMultiTexCoord1f },
13727   { "glMultiTexCoord1fARB", "GL_ARB_multitexture", glMultiTexCoord1fARB },
13728   { "glMultiTexCoord1fSGIS", "GL_SGIS_multitexture", glMultiTexCoord1fSGIS },
13729   { "glMultiTexCoord1fv", "GL_VERSION_1_3", glMultiTexCoord1fv },
13730   { "glMultiTexCoord1fvARB", "GL_ARB_multitexture", glMultiTexCoord1fvARB },
13731   { "glMultiTexCoord1fvSGIS", "GL_SGIS_multitexture", glMultiTexCoord1fvSGIS },
13732   { "glMultiTexCoord1hNV", "GL_NV_half_float", glMultiTexCoord1hNV },
13733   { "glMultiTexCoord1hvNV", "GL_NV_half_float", glMultiTexCoord1hvNV },
13734   { "glMultiTexCoord1i", "GL_VERSION_1_3", glMultiTexCoord1i },
13735   { "glMultiTexCoord1iARB", "GL_ARB_multitexture", glMultiTexCoord1iARB },
13736   { "glMultiTexCoord1iSGIS", "GL_SGIS_multitexture", glMultiTexCoord1iSGIS },
13737   { "glMultiTexCoord1iv", "GL_VERSION_1_3", glMultiTexCoord1iv },
13738   { "glMultiTexCoord1ivARB", "GL_ARB_multitexture", glMultiTexCoord1ivARB },
13739   { "glMultiTexCoord1ivSGIS", "GL_SGIS_multitexture", glMultiTexCoord1ivSGIS },
13740   { "glMultiTexCoord1s", "GL_VERSION_1_3", glMultiTexCoord1s },
13741   { "glMultiTexCoord1sARB", "GL_ARB_multitexture", glMultiTexCoord1sARB },
13742   { "glMultiTexCoord1sSGIS", "GL_SGIS_multitexture", glMultiTexCoord1sSGIS },
13743   { "glMultiTexCoord1sv", "GL_VERSION_1_3", glMultiTexCoord1sv },
13744   { "glMultiTexCoord1svARB", "GL_ARB_multitexture", glMultiTexCoord1svARB },
13745   { "glMultiTexCoord1svSGIS", "GL_SGIS_multitexture", glMultiTexCoord1svSGIS },
13746   { "glMultiTexCoord2d", "GL_VERSION_1_3", glMultiTexCoord2d },
13747   { "glMultiTexCoord2dARB", "GL_ARB_multitexture", glMultiTexCoord2dARB },
13748   { "glMultiTexCoord2dSGIS", "GL_SGIS_multitexture", glMultiTexCoord2dSGIS },
13749   { "glMultiTexCoord2dv", "GL_VERSION_1_3", glMultiTexCoord2dv },
13750   { "glMultiTexCoord2dvARB", "GL_ARB_multitexture", glMultiTexCoord2dvARB },
13751   { "glMultiTexCoord2dvSGIS", "GL_SGIS_multitexture", glMultiTexCoord2dvSGIS },
13752   { "glMultiTexCoord2f", "GL_VERSION_1_3", glMultiTexCoord2f },
13753   { "glMultiTexCoord2fARB", "GL_ARB_multitexture", glMultiTexCoord2fARB },
13754   { "glMultiTexCoord2fSGIS", "GL_SGIS_multitexture", glMultiTexCoord2fSGIS },
13755   { "glMultiTexCoord2fv", "GL_VERSION_1_3", glMultiTexCoord2fv },
13756   { "glMultiTexCoord2fvARB", "GL_ARB_multitexture", glMultiTexCoord2fvARB },
13757   { "glMultiTexCoord2fvSGIS", "GL_SGIS_multitexture", glMultiTexCoord2fvSGIS },
13758   { "glMultiTexCoord2hNV", "GL_NV_half_float", glMultiTexCoord2hNV },
13759   { "glMultiTexCoord2hvNV", "GL_NV_half_float", glMultiTexCoord2hvNV },
13760   { "glMultiTexCoord2i", "GL_VERSION_1_3", glMultiTexCoord2i },
13761   { "glMultiTexCoord2iARB", "GL_ARB_multitexture", glMultiTexCoord2iARB },
13762   { "glMultiTexCoord2iSGIS", "GL_SGIS_multitexture", glMultiTexCoord2iSGIS },
13763   { "glMultiTexCoord2iv", "GL_VERSION_1_3", glMultiTexCoord2iv },
13764   { "glMultiTexCoord2ivARB", "GL_ARB_multitexture", glMultiTexCoord2ivARB },
13765   { "glMultiTexCoord2ivSGIS", "GL_SGIS_multitexture", glMultiTexCoord2ivSGIS },
13766   { "glMultiTexCoord2s", "GL_VERSION_1_3", glMultiTexCoord2s },
13767   { "glMultiTexCoord2sARB", "GL_ARB_multitexture", glMultiTexCoord2sARB },
13768   { "glMultiTexCoord2sSGIS", "GL_SGIS_multitexture", glMultiTexCoord2sSGIS },
13769   { "glMultiTexCoord2sv", "GL_VERSION_1_3", glMultiTexCoord2sv },
13770   { "glMultiTexCoord2svARB", "GL_ARB_multitexture", glMultiTexCoord2svARB },
13771   { "glMultiTexCoord2svSGIS", "GL_SGIS_multitexture", glMultiTexCoord2svSGIS },
13772   { "glMultiTexCoord3d", "GL_VERSION_1_3", glMultiTexCoord3d },
13773   { "glMultiTexCoord3dARB", "GL_ARB_multitexture", glMultiTexCoord3dARB },
13774   { "glMultiTexCoord3dSGIS", "GL_SGIS_multitexture", glMultiTexCoord3dSGIS },
13775   { "glMultiTexCoord3dv", "GL_VERSION_1_3", glMultiTexCoord3dv },
13776   { "glMultiTexCoord3dvARB", "GL_ARB_multitexture", glMultiTexCoord3dvARB },
13777   { "glMultiTexCoord3dvSGIS", "GL_SGIS_multitexture", glMultiTexCoord3dvSGIS },
13778   { "glMultiTexCoord3f", "GL_VERSION_1_3", glMultiTexCoord3f },
13779   { "glMultiTexCoord3fARB", "GL_ARB_multitexture", glMultiTexCoord3fARB },
13780   { "glMultiTexCoord3fSGIS", "GL_SGIS_multitexture", glMultiTexCoord3fSGIS },
13781   { "glMultiTexCoord3fv", "GL_VERSION_1_3", glMultiTexCoord3fv },
13782   { "glMultiTexCoord3fvARB", "GL_ARB_multitexture", glMultiTexCoord3fvARB },
13783   { "glMultiTexCoord3fvSGIS", "GL_SGIS_multitexture", glMultiTexCoord3fvSGIS },
13784   { "glMultiTexCoord3hNV", "GL_NV_half_float", glMultiTexCoord3hNV },
13785   { "glMultiTexCoord3hvNV", "GL_NV_half_float", glMultiTexCoord3hvNV },
13786   { "glMultiTexCoord3i", "GL_VERSION_1_3", glMultiTexCoord3i },
13787   { "glMultiTexCoord3iARB", "GL_ARB_multitexture", glMultiTexCoord3iARB },
13788   { "glMultiTexCoord3iSGIS", "GL_SGIS_multitexture", glMultiTexCoord3iSGIS },
13789   { "glMultiTexCoord3iv", "GL_VERSION_1_3", glMultiTexCoord3iv },
13790   { "glMultiTexCoord3ivARB", "GL_ARB_multitexture", glMultiTexCoord3ivARB },
13791   { "glMultiTexCoord3ivSGIS", "GL_SGIS_multitexture", glMultiTexCoord3ivSGIS },
13792   { "glMultiTexCoord3s", "GL_VERSION_1_3", glMultiTexCoord3s },
13793   { "glMultiTexCoord3sARB", "GL_ARB_multitexture", glMultiTexCoord3sARB },
13794   { "glMultiTexCoord3sSGIS", "GL_SGIS_multitexture", glMultiTexCoord3sSGIS },
13795   { "glMultiTexCoord3sv", "GL_VERSION_1_3", glMultiTexCoord3sv },
13796   { "glMultiTexCoord3svARB", "GL_ARB_multitexture", glMultiTexCoord3svARB },
13797   { "glMultiTexCoord3svSGIS", "GL_SGIS_multitexture", glMultiTexCoord3svSGIS },
13798   { "glMultiTexCoord4d", "GL_VERSION_1_3", glMultiTexCoord4d },
13799   { "glMultiTexCoord4dARB", "GL_ARB_multitexture", glMultiTexCoord4dARB },
13800   { "glMultiTexCoord4dSGIS", "GL_SGIS_multitexture", glMultiTexCoord4dSGIS },
13801   { "glMultiTexCoord4dv", "GL_VERSION_1_3", glMultiTexCoord4dv },
13802   { "glMultiTexCoord4dvARB", "GL_ARB_multitexture", glMultiTexCoord4dvARB },
13803   { "glMultiTexCoord4dvSGIS", "GL_SGIS_multitexture", glMultiTexCoord4dvSGIS },
13804   { "glMultiTexCoord4f", "GL_VERSION_1_3", glMultiTexCoord4f },
13805   { "glMultiTexCoord4fARB", "GL_ARB_multitexture", glMultiTexCoord4fARB },
13806   { "glMultiTexCoord4fSGIS", "GL_SGIS_multitexture", glMultiTexCoord4fSGIS },
13807   { "glMultiTexCoord4fv", "GL_VERSION_1_3", glMultiTexCoord4fv },
13808   { "glMultiTexCoord4fvARB", "GL_ARB_multitexture", glMultiTexCoord4fvARB },
13809   { "glMultiTexCoord4fvSGIS", "GL_SGIS_multitexture", glMultiTexCoord4fvSGIS },
13810   { "glMultiTexCoord4hNV", "GL_NV_half_float", glMultiTexCoord4hNV },
13811   { "glMultiTexCoord4hvNV", "GL_NV_half_float", glMultiTexCoord4hvNV },
13812   { "glMultiTexCoord4i", "GL_VERSION_1_3", glMultiTexCoord4i },
13813   { "glMultiTexCoord4iARB", "GL_ARB_multitexture", glMultiTexCoord4iARB },
13814   { "glMultiTexCoord4iSGIS", "GL_SGIS_multitexture", glMultiTexCoord4iSGIS },
13815   { "glMultiTexCoord4iv", "GL_VERSION_1_3", glMultiTexCoord4iv },
13816   { "glMultiTexCoord4ivARB", "GL_ARB_multitexture", glMultiTexCoord4ivARB },
13817   { "glMultiTexCoord4ivSGIS", "GL_SGIS_multitexture", glMultiTexCoord4ivSGIS },
13818   { "glMultiTexCoord4s", "GL_VERSION_1_3", glMultiTexCoord4s },
13819   { "glMultiTexCoord4sARB", "GL_ARB_multitexture", glMultiTexCoord4sARB },
13820   { "glMultiTexCoord4sSGIS", "GL_SGIS_multitexture", glMultiTexCoord4sSGIS },
13821   { "glMultiTexCoord4sv", "GL_VERSION_1_3", glMultiTexCoord4sv },
13822   { "glMultiTexCoord4svARB", "GL_ARB_multitexture", glMultiTexCoord4svARB },
13823   { "glMultiTexCoord4svSGIS", "GL_SGIS_multitexture", glMultiTexCoord4svSGIS },
13824   { "glMultiTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP1ui },
13825   { "glMultiTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP1uiv },
13826   { "glMultiTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP2ui },
13827   { "glMultiTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP2uiv },
13828   { "glMultiTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP3ui },
13829   { "glMultiTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP3uiv },
13830   { "glMultiTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP4ui },
13831   { "glMultiTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glMultiTexCoordP4uiv },
13832   { "glMultiTexCoordPointerEXT", "GL_EXT_direct_state_access", glMultiTexCoordPointerEXT },
13833   { "glMultiTexCoordPointerSGIS", "GL_SGIS_multitexture", glMultiTexCoordPointerSGIS },
13834   { "glMultiTexEnvfEXT", "GL_EXT_direct_state_access", glMultiTexEnvfEXT },
13835   { "glMultiTexEnvfvEXT", "GL_EXT_direct_state_access", glMultiTexEnvfvEXT },
13836   { "glMultiTexEnviEXT", "GL_EXT_direct_state_access", glMultiTexEnviEXT },
13837   { "glMultiTexEnvivEXT", "GL_EXT_direct_state_access", glMultiTexEnvivEXT },
13838   { "glMultiTexGendEXT", "GL_EXT_direct_state_access", glMultiTexGendEXT },
13839   { "glMultiTexGendvEXT", "GL_EXT_direct_state_access", glMultiTexGendvEXT },
13840   { "glMultiTexGenfEXT", "GL_EXT_direct_state_access", glMultiTexGenfEXT },
13841   { "glMultiTexGenfvEXT", "GL_EXT_direct_state_access", glMultiTexGenfvEXT },
13842   { "glMultiTexGeniEXT", "GL_EXT_direct_state_access", glMultiTexGeniEXT },
13843   { "glMultiTexGenivEXT", "GL_EXT_direct_state_access", glMultiTexGenivEXT },
13844   { "glMultiTexImage1DEXT", "GL_EXT_direct_state_access", glMultiTexImage1DEXT },
13845   { "glMultiTexImage2DEXT", "GL_EXT_direct_state_access", glMultiTexImage2DEXT },
13846   { "glMultiTexImage3DEXT", "GL_EXT_direct_state_access", glMultiTexImage3DEXT },
13847   { "glMultiTexParameterIivEXT", "GL_EXT_direct_state_access", glMultiTexParameterIivEXT },
13848   { "glMultiTexParameterIuivEXT", "GL_EXT_direct_state_access", glMultiTexParameterIuivEXT },
13849   { "glMultiTexParameterfEXT", "GL_EXT_direct_state_access", glMultiTexParameterfEXT },
13850   { "glMultiTexParameterfvEXT", "GL_EXT_direct_state_access", glMultiTexParameterfvEXT },
13851   { "glMultiTexParameteriEXT", "GL_EXT_direct_state_access", glMultiTexParameteriEXT },
13852   { "glMultiTexParameterivEXT", "GL_EXT_direct_state_access", glMultiTexParameterivEXT },
13853   { "glMultiTexRenderbufferEXT", "GL_EXT_direct_state_access", glMultiTexRenderbufferEXT },
13854   { "glMultiTexSubImage1DEXT", "GL_EXT_direct_state_access", glMultiTexSubImage1DEXT },
13855   { "glMultiTexSubImage2DEXT", "GL_EXT_direct_state_access", glMultiTexSubImage2DEXT },
13856   { "glMultiTexSubImage3DEXT", "GL_EXT_direct_state_access", glMultiTexSubImage3DEXT },
13857   { "glNamedBufferDataEXT", "GL_EXT_direct_state_access", glNamedBufferDataEXT },
13858   { "glNamedBufferSubDataEXT", "GL_EXT_direct_state_access", glNamedBufferSubDataEXT },
13859   { "glNamedCopyBufferSubDataEXT", "GL_EXT_direct_state_access", glNamedCopyBufferSubDataEXT },
13860   { "glNamedFramebufferParameteriEXT", "GL_ARB_framebuffer_no_attachments", glNamedFramebufferParameteriEXT },
13861   { "glNamedFramebufferRenderbufferEXT", "GL_EXT_direct_state_access", glNamedFramebufferRenderbufferEXT },
13862   { "glNamedFramebufferTexture1DEXT", "GL_EXT_direct_state_access", glNamedFramebufferTexture1DEXT },
13863   { "glNamedFramebufferTexture2DEXT", "GL_EXT_direct_state_access", glNamedFramebufferTexture2DEXT },
13864   { "glNamedFramebufferTexture3DEXT", "GL_EXT_direct_state_access", glNamedFramebufferTexture3DEXT },
13865   { "glNamedFramebufferTextureEXT", "GL_EXT_direct_state_access", glNamedFramebufferTextureEXT },
13866   { "glNamedFramebufferTextureFaceEXT", "GL_EXT_direct_state_access", glNamedFramebufferTextureFaceEXT },
13867   { "glNamedFramebufferTextureLayerEXT", "GL_EXT_direct_state_access", glNamedFramebufferTextureLayerEXT },
13868   { "glNamedProgramLocalParameter4dEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameter4dEXT },
13869   { "glNamedProgramLocalParameter4dvEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameter4dvEXT },
13870   { "glNamedProgramLocalParameter4fEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameter4fEXT },
13871   { "glNamedProgramLocalParameter4fvEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameter4fvEXT },
13872   { "glNamedProgramLocalParameterI4iEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameterI4iEXT },
13873   { "glNamedProgramLocalParameterI4ivEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameterI4ivEXT },
13874   { "glNamedProgramLocalParameterI4uiEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameterI4uiEXT },
13875   { "glNamedProgramLocalParameterI4uivEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameterI4uivEXT },
13876   { "glNamedProgramLocalParameters4fvEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParameters4fvEXT },
13877   { "glNamedProgramLocalParametersI4ivEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParametersI4ivEXT },
13878   { "glNamedProgramLocalParametersI4uivEXT", "GL_EXT_direct_state_access", glNamedProgramLocalParametersI4uivEXT },
13879   { "glNamedProgramStringEXT", "GL_EXT_direct_state_access", glNamedProgramStringEXT },
13880   { "glNamedRenderbufferStorageEXT", "GL_EXT_direct_state_access", glNamedRenderbufferStorageEXT },
13881   { "glNamedRenderbufferStorageMultisampleCoverageEXT", "GL_EXT_direct_state_access", glNamedRenderbufferStorageMultisampleCoverageEXT },
13882   { "glNamedRenderbufferStorageMultisampleEXT", "GL_EXT_direct_state_access", glNamedRenderbufferStorageMultisampleEXT },
13883   { "glNamedStringARB", "GL_ARB_shading_language_include", glNamedStringARB },
13884   { "glNewBufferRegion", "GL_KTX_buffer_region", glNewBufferRegion },
13885   { "glNewObjectBufferATI", "GL_ATI_vertex_array_object", glNewObjectBufferATI },
13886   { "glNormal3fVertex3fSUN", "GL_SUN_vertex", glNormal3fVertex3fSUN },
13887   { "glNormal3fVertex3fvSUN", "GL_SUN_vertex", glNormal3fVertex3fvSUN },
13888   { "glNormal3hNV", "GL_NV_half_float", glNormal3hNV },
13889   { "glNormal3hvNV", "GL_NV_half_float", glNormal3hvNV },
13890   { "glNormalFormatNV", "GL_NV_vertex_buffer_unified_memory", glNormalFormatNV },
13891   { "glNormalP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glNormalP3ui },
13892   { "glNormalP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glNormalP3uiv },
13893   { "glNormalPointerEXT", "GL_EXT_vertex_array", glNormalPointerEXT },
13894   { "glNormalPointerListIBM", "GL_IBM_vertex_array_lists", glNormalPointerListIBM },
13895   { "glNormalPointervINTEL", "GL_INTEL_parallel_arrays", glNormalPointervINTEL },
13896   { "glNormalStream3bATI", "GL_ATI_vertex_streams", glNormalStream3bATI },
13897   { "glNormalStream3bvATI", "GL_ATI_vertex_streams", glNormalStream3bvATI },
13898   { "glNormalStream3dATI", "GL_ATI_vertex_streams", glNormalStream3dATI },
13899   { "glNormalStream3dvATI", "GL_ATI_vertex_streams", glNormalStream3dvATI },
13900   { "glNormalStream3fATI", "GL_ATI_vertex_streams", glNormalStream3fATI },
13901   { "glNormalStream3fvATI", "GL_ATI_vertex_streams", glNormalStream3fvATI },
13902   { "glNormalStream3iATI", "GL_ATI_vertex_streams", glNormalStream3iATI },
13903   { "glNormalStream3ivATI", "GL_ATI_vertex_streams", glNormalStream3ivATI },
13904   { "glNormalStream3sATI", "GL_ATI_vertex_streams", glNormalStream3sATI },
13905   { "glNormalStream3svATI", "GL_ATI_vertex_streams", glNormalStream3svATI },
13906   { "glObjectLabel", "GL_KHR_debug", glObjectLabel },
13907   { "glObjectPtrLabel", "GL_KHR_debug", glObjectPtrLabel },
13908   { "glObjectPurgeableAPPLE", "GL_APPLE_object_purgeable", glObjectPurgeableAPPLE },
13909   { "glObjectUnpurgeableAPPLE", "GL_APPLE_object_purgeable", glObjectUnpurgeableAPPLE },
13910   { "glPNTrianglesfATI", "GL_ATI_pn_triangles", glPNTrianglesfATI },
13911   { "glPNTrianglesiATI", "GL_ATI_pn_triangles", glPNTrianglesiATI },
13912   { "glPassTexCoordATI", "GL_ATI_fragment_shader", glPassTexCoordATI },
13913   { "glPatchParameterfv", "GL_ARB_tessellation_shader", glPatchParameterfv },
13914   { "glPatchParameteri", "GL_ARB_tessellation_shader", glPatchParameteri },
13915   { "glPathColorGenNV", "GL_NV_path_rendering", glPathColorGenNV },
13916   { "glPathCommandsNV", "GL_NV_path_rendering", glPathCommandsNV },
13917   { "glPathCoordsNV", "GL_NV_path_rendering", glPathCoordsNV },
13918   { "glPathCoverDepthFuncNV", "GL_NV_path_rendering", glPathCoverDepthFuncNV },
13919   { "glPathDashArrayNV", "GL_NV_path_rendering", glPathDashArrayNV },
13920   { "glPathFogGenNV", "GL_NV_path_rendering", glPathFogGenNV },
13921   { "glPathGlyphRangeNV", "GL_NV_path_rendering", glPathGlyphRangeNV },
13922   { "glPathGlyphsNV", "GL_NV_path_rendering", glPathGlyphsNV },
13923   { "glPathParameterfNV", "GL_NV_path_rendering", glPathParameterfNV },
13924   { "glPathParameterfvNV", "GL_NV_path_rendering", glPathParameterfvNV },
13925   { "glPathParameteriNV", "GL_NV_path_rendering", glPathParameteriNV },
13926   { "glPathParameterivNV", "GL_NV_path_rendering", glPathParameterivNV },
13927   { "glPathStencilDepthOffsetNV", "GL_NV_path_rendering", glPathStencilDepthOffsetNV },
13928   { "glPathStencilFuncNV", "GL_NV_path_rendering", glPathStencilFuncNV },
13929   { "glPathStringNV", "GL_NV_path_rendering", glPathStringNV },
13930   { "glPathSubCommandsNV", "GL_NV_path_rendering", glPathSubCommandsNV },
13931   { "glPathSubCoordsNV", "GL_NV_path_rendering", glPathSubCoordsNV },
13932   { "glPathTexGenNV", "GL_NV_path_rendering", glPathTexGenNV },
13933   { "glPauseTransformFeedback", "GL_ARB_transform_feedback2", glPauseTransformFeedback },
13934   { "glPauseTransformFeedbackNV", "GL_NV_transform_feedback2", glPauseTransformFeedbackNV },
13935   { "glPixelDataRangeNV", "GL_NV_pixel_data_range", glPixelDataRangeNV },
13936   { "glPixelTexGenParameterfSGIS", "GL_SGIS_pixel_texture", glPixelTexGenParameterfSGIS },
13937   { "glPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture", glPixelTexGenParameterfvSGIS },
13938   { "glPixelTexGenParameteriSGIS", "GL_SGIS_pixel_texture", glPixelTexGenParameteriSGIS },
13939   { "glPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture", glPixelTexGenParameterivSGIS },
13940   { "glPixelTexGenSGIX", "GL_SGIX_pixel_texture", glPixelTexGenSGIX },
13941   { "glPixelTransformParameterfEXT", "GL_EXT_pixel_transform", glPixelTransformParameterfEXT },
13942   { "glPixelTransformParameterfvEXT", "GL_EXT_pixel_transform", glPixelTransformParameterfvEXT },
13943   { "glPixelTransformParameteriEXT", "GL_EXT_pixel_transform", glPixelTransformParameteriEXT },
13944   { "glPixelTransformParameterivEXT", "GL_EXT_pixel_transform", glPixelTransformParameterivEXT },
13945   { "glPointAlongPathNV", "GL_NV_path_rendering", glPointAlongPathNV },
13946   { "glPointParameterf", "GL_VERSION_1_4", glPointParameterf },
13947   { "glPointParameterfARB", "GL_ARB_point_parameters", glPointParameterfARB },
13948   { "glPointParameterfEXT", "GL_EXT_point_parameters", glPointParameterfEXT },
13949   { "glPointParameterfSGIS", "GL_SGIS_point_parameters", glPointParameterfSGIS },
13950   { "glPointParameterfv", "GL_VERSION_1_4", glPointParameterfv },
13951   { "glPointParameterfvARB", "GL_ARB_point_parameters", glPointParameterfvARB },
13952   { "glPointParameterfvEXT", "GL_EXT_point_parameters", glPointParameterfvEXT },
13953   { "glPointParameterfvSGIS", "GL_SGIS_point_parameters", glPointParameterfvSGIS },
13954   { "glPointParameteri", "GL_VERSION_1_4", glPointParameteri },
13955   { "glPointParameteriNV", "GL_NV_point_sprite", glPointParameteriNV },
13956   { "glPointParameteriv", "GL_VERSION_1_4", glPointParameteriv },
13957   { "glPointParameterivNV", "GL_NV_point_sprite", glPointParameterivNV },
13958   { "glPollAsyncSGIX", "GL_SGIX_async", glPollAsyncSGIX },
13959   { "glPollInstrumentsSGIX", "GL_SGIX_instruments", glPollInstrumentsSGIX },
13960   { "glPolygonOffsetEXT", "GL_EXT_polygon_offset", glPolygonOffsetEXT },
13961   { "glPopDebugGroup", "GL_KHR_debug", glPopDebugGroup },
13962   { "glPresentFrameDualFillNV", "GL_NV_present_video", glPresentFrameDualFillNV },
13963   { "glPresentFrameKeyedNV", "GL_NV_present_video", glPresentFrameKeyedNV },
13964   { "glPrimitiveRestartIndex", "GL_VERSION_3_1", glPrimitiveRestartIndex },
13965   { "glPrimitiveRestartIndexNV", "GL_NV_primitive_restart", glPrimitiveRestartIndexNV },
13966   { "glPrimitiveRestartNV", "GL_NV_primitive_restart", glPrimitiveRestartNV },
13967   { "glPrioritizeTexturesEXT", "GL_EXT_texture_object", glPrioritizeTexturesEXT },
13968   { "glProgramBinary", "GL_ARB_get_program_binary", glProgramBinary },
13969   { "glProgramBufferParametersIivNV", "GL_NV_parameter_buffer_object", glProgramBufferParametersIivNV },
13970   { "glProgramBufferParametersIuivNV", "GL_NV_parameter_buffer_object", glProgramBufferParametersIuivNV },
13971   { "glProgramBufferParametersfvNV", "GL_NV_parameter_buffer_object", glProgramBufferParametersfvNV },
13972   { "glProgramEnvParameter4dARB", "GL_ARB_vertex_program", glProgramEnvParameter4dARB },
13973   { "glProgramEnvParameter4dvARB", "GL_ARB_vertex_program", glProgramEnvParameter4dvARB },
13974   { "glProgramEnvParameter4fARB", "GL_ARB_vertex_program", glProgramEnvParameter4fARB },
13975   { "glProgramEnvParameter4fvARB", "GL_ARB_vertex_program", glProgramEnvParameter4fvARB },
13976   { "glProgramEnvParameterI4iNV", "GL_NV_gpu_program4", glProgramEnvParameterI4iNV },
13977   { "glProgramEnvParameterI4ivNV", "GL_NV_gpu_program4", glProgramEnvParameterI4ivNV },
13978   { "glProgramEnvParameterI4uiNV", "GL_NV_gpu_program4", glProgramEnvParameterI4uiNV },
13979   { "glProgramEnvParameterI4uivNV", "GL_NV_gpu_program4", glProgramEnvParameterI4uivNV },
13980   { "glProgramEnvParameters4fvEXT", "GL_EXT_gpu_program_parameters", glProgramEnvParameters4fvEXT },
13981   { "glProgramEnvParametersI4ivNV", "GL_NV_gpu_program4", glProgramEnvParametersI4ivNV },
13982   { "glProgramEnvParametersI4uivNV", "GL_NV_gpu_program4", glProgramEnvParametersI4uivNV },
13983   { "glProgramLocalParameter4dARB", "GL_ARB_vertex_program", glProgramLocalParameter4dARB },
13984   { "glProgramLocalParameter4dvARB", "GL_ARB_vertex_program", glProgramLocalParameter4dvARB },
13985   { "glProgramLocalParameter4fARB", "GL_ARB_vertex_program", glProgramLocalParameter4fARB },
13986   { "glProgramLocalParameter4fvARB", "GL_ARB_vertex_program", glProgramLocalParameter4fvARB },
13987   { "glProgramLocalParameterI4iNV", "GL_NV_gpu_program4", glProgramLocalParameterI4iNV },
13988   { "glProgramLocalParameterI4ivNV", "GL_NV_gpu_program4", glProgramLocalParameterI4ivNV },
13989   { "glProgramLocalParameterI4uiNV", "GL_NV_gpu_program4", glProgramLocalParameterI4uiNV },
13990   { "glProgramLocalParameterI4uivNV", "GL_NV_gpu_program4", glProgramLocalParameterI4uivNV },
13991   { "glProgramLocalParameters4fvEXT", "GL_EXT_gpu_program_parameters", glProgramLocalParameters4fvEXT },
13992   { "glProgramLocalParametersI4ivNV", "GL_NV_gpu_program4", glProgramLocalParametersI4ivNV },
13993   { "glProgramLocalParametersI4uivNV", "GL_NV_gpu_program4", glProgramLocalParametersI4uivNV },
13994   { "glProgramNamedParameter4dNV", "GL_NV_fragment_program", glProgramNamedParameter4dNV },
13995   { "glProgramNamedParameter4dvNV", "GL_NV_fragment_program", glProgramNamedParameter4dvNV },
13996   { "glProgramNamedParameter4fNV", "GL_NV_fragment_program", glProgramNamedParameter4fNV },
13997   { "glProgramNamedParameter4fvNV", "GL_NV_fragment_program", glProgramNamedParameter4fvNV },
13998   { "glProgramParameter4dNV", "GL_NV_vertex_program", glProgramParameter4dNV },
13999   { "glProgramParameter4dvNV", "GL_NV_vertex_program", glProgramParameter4dvNV },
14000   { "glProgramParameter4fNV", "GL_NV_vertex_program", glProgramParameter4fNV },
14001   { "glProgramParameter4fvNV", "GL_NV_vertex_program", glProgramParameter4fvNV },
14002   { "glProgramParameteri", "GL_ARB_get_program_binary", glProgramParameteri },
14003   { "glProgramParameteriARB", "GL_ARB_geometry_shader4", glProgramParameteriARB },
14004   { "glProgramParameteriEXT", "GL_EXT_geometry_shader4", glProgramParameteriEXT },
14005   { "glProgramParameters4dvNV", "GL_NV_vertex_program", glProgramParameters4dvNV },
14006   { "glProgramParameters4fvNV", "GL_NV_vertex_program", glProgramParameters4fvNV },
14007   { "glProgramStringARB", "GL_ARB_vertex_program", glProgramStringARB },
14008   { "glProgramSubroutineParametersuivNV", "GL_NV_gpu_program5", glProgramSubroutineParametersuivNV },
14009   { "glProgramUniform1d", "GL_ARB_separate_shader_objects", glProgramUniform1d },
14010   { "glProgramUniform1dEXT", "GL_EXT_direct_state_access", glProgramUniform1dEXT },
14011   { "glProgramUniform1dv", "GL_ARB_separate_shader_objects", glProgramUniform1dv },
14012   { "glProgramUniform1dvEXT", "GL_EXT_direct_state_access", glProgramUniform1dvEXT },
14013   { "glProgramUniform1f", "GL_ARB_separate_shader_objects", glProgramUniform1f },
14014   { "glProgramUniform1fEXT", "GL_EXT_direct_state_access", glProgramUniform1fEXT },
14015   { "glProgramUniform1fv", "GL_ARB_separate_shader_objects", glProgramUniform1fv },
14016   { "glProgramUniform1fvEXT", "GL_EXT_direct_state_access", glProgramUniform1fvEXT },
14017   { "glProgramUniform1i", "GL_ARB_separate_shader_objects", glProgramUniform1i },
14018   { "glProgramUniform1i64NV", "GL_NV_gpu_shader5", glProgramUniform1i64NV },
14019   { "glProgramUniform1i64vNV", "GL_NV_gpu_shader5", glProgramUniform1i64vNV },
14020   { "glProgramUniform1iEXT", "GL_EXT_direct_state_access", glProgramUniform1iEXT },
14021   { "glProgramUniform1iv", "GL_ARB_separate_shader_objects", glProgramUniform1iv },
14022   { "glProgramUniform1ivEXT", "GL_EXT_direct_state_access", glProgramUniform1ivEXT },
14023   { "glProgramUniform1ui", "GL_ARB_separate_shader_objects", glProgramUniform1ui },
14024   { "glProgramUniform1ui64NV", "GL_NV_gpu_shader5", glProgramUniform1ui64NV },
14025   { "glProgramUniform1ui64vNV", "GL_NV_gpu_shader5", glProgramUniform1ui64vNV },
14026   { "glProgramUniform1uiEXT", "GL_EXT_direct_state_access", glProgramUniform1uiEXT },
14027   { "glProgramUniform1uiv", "GL_ARB_separate_shader_objects", glProgramUniform1uiv },
14028   { "glProgramUniform1uivEXT", "GL_EXT_direct_state_access", glProgramUniform1uivEXT },
14029   { "glProgramUniform2d", "GL_ARB_separate_shader_objects", glProgramUniform2d },
14030   { "glProgramUniform2dEXT", "GL_EXT_direct_state_access", glProgramUniform2dEXT },
14031   { "glProgramUniform2dv", "GL_ARB_separate_shader_objects", glProgramUniform2dv },
14032   { "glProgramUniform2dvEXT", "GL_EXT_direct_state_access", glProgramUniform2dvEXT },
14033   { "glProgramUniform2f", "GL_ARB_separate_shader_objects", glProgramUniform2f },
14034   { "glProgramUniform2fEXT", "GL_EXT_direct_state_access", glProgramUniform2fEXT },
14035   { "glProgramUniform2fv", "GL_ARB_separate_shader_objects", glProgramUniform2fv },
14036   { "glProgramUniform2fvEXT", "GL_EXT_direct_state_access", glProgramUniform2fvEXT },
14037   { "glProgramUniform2i", "GL_ARB_separate_shader_objects", glProgramUniform2i },
14038   { "glProgramUniform2i64NV", "GL_NV_gpu_shader5", glProgramUniform2i64NV },
14039   { "glProgramUniform2i64vNV", "GL_NV_gpu_shader5", glProgramUniform2i64vNV },
14040   { "glProgramUniform2iEXT", "GL_EXT_direct_state_access", glProgramUniform2iEXT },
14041   { "glProgramUniform2iv", "GL_ARB_separate_shader_objects", glProgramUniform2iv },
14042   { "glProgramUniform2ivEXT", "GL_EXT_direct_state_access", glProgramUniform2ivEXT },
14043   { "glProgramUniform2ui", "GL_ARB_separate_shader_objects", glProgramUniform2ui },
14044   { "glProgramUniform2ui64NV", "GL_NV_gpu_shader5", glProgramUniform2ui64NV },
14045   { "glProgramUniform2ui64vNV", "GL_NV_gpu_shader5", glProgramUniform2ui64vNV },
14046   { "glProgramUniform2uiEXT", "GL_EXT_direct_state_access", glProgramUniform2uiEXT },
14047   { "glProgramUniform2uiv", "GL_ARB_separate_shader_objects", glProgramUniform2uiv },
14048   { "glProgramUniform2uivEXT", "GL_EXT_direct_state_access", glProgramUniform2uivEXT },
14049   { "glProgramUniform3d", "GL_ARB_separate_shader_objects", glProgramUniform3d },
14050   { "glProgramUniform3dEXT", "GL_EXT_direct_state_access", glProgramUniform3dEXT },
14051   { "glProgramUniform3dv", "GL_ARB_separate_shader_objects", glProgramUniform3dv },
14052   { "glProgramUniform3dvEXT", "GL_EXT_direct_state_access", glProgramUniform3dvEXT },
14053   { "glProgramUniform3f", "GL_ARB_separate_shader_objects", glProgramUniform3f },
14054   { "glProgramUniform3fEXT", "GL_EXT_direct_state_access", glProgramUniform3fEXT },
14055   { "glProgramUniform3fv", "GL_ARB_separate_shader_objects", glProgramUniform3fv },
14056   { "glProgramUniform3fvEXT", "GL_EXT_direct_state_access", glProgramUniform3fvEXT },
14057   { "glProgramUniform3i", "GL_ARB_separate_shader_objects", glProgramUniform3i },
14058   { "glProgramUniform3i64NV", "GL_NV_gpu_shader5", glProgramUniform3i64NV },
14059   { "glProgramUniform3i64vNV", "GL_NV_gpu_shader5", glProgramUniform3i64vNV },
14060   { "glProgramUniform3iEXT", "GL_EXT_direct_state_access", glProgramUniform3iEXT },
14061   { "glProgramUniform3iv", "GL_ARB_separate_shader_objects", glProgramUniform3iv },
14062   { "glProgramUniform3ivEXT", "GL_EXT_direct_state_access", glProgramUniform3ivEXT },
14063   { "glProgramUniform3ui", "GL_ARB_separate_shader_objects", glProgramUniform3ui },
14064   { "glProgramUniform3ui64NV", "GL_NV_gpu_shader5", glProgramUniform3ui64NV },
14065   { "glProgramUniform3ui64vNV", "GL_NV_gpu_shader5", glProgramUniform3ui64vNV },
14066   { "glProgramUniform3uiEXT", "GL_EXT_direct_state_access", glProgramUniform3uiEXT },
14067   { "glProgramUniform3uiv", "GL_ARB_separate_shader_objects", glProgramUniform3uiv },
14068   { "glProgramUniform3uivEXT", "GL_EXT_direct_state_access", glProgramUniform3uivEXT },
14069   { "glProgramUniform4d", "GL_ARB_separate_shader_objects", glProgramUniform4d },
14070   { "glProgramUniform4dEXT", "GL_EXT_direct_state_access", glProgramUniform4dEXT },
14071   { "glProgramUniform4dv", "GL_ARB_separate_shader_objects", glProgramUniform4dv },
14072   { "glProgramUniform4dvEXT", "GL_EXT_direct_state_access", glProgramUniform4dvEXT },
14073   { "glProgramUniform4f", "GL_ARB_separate_shader_objects", glProgramUniform4f },
14074   { "glProgramUniform4fEXT", "GL_EXT_direct_state_access", glProgramUniform4fEXT },
14075   { "glProgramUniform4fv", "GL_ARB_separate_shader_objects", glProgramUniform4fv },
14076   { "glProgramUniform4fvEXT", "GL_EXT_direct_state_access", glProgramUniform4fvEXT },
14077   { "glProgramUniform4i", "GL_ARB_separate_shader_objects", glProgramUniform4i },
14078   { "glProgramUniform4i64NV", "GL_NV_gpu_shader5", glProgramUniform4i64NV },
14079   { "glProgramUniform4i64vNV", "GL_NV_gpu_shader5", glProgramUniform4i64vNV },
14080   { "glProgramUniform4iEXT", "GL_EXT_direct_state_access", glProgramUniform4iEXT },
14081   { "glProgramUniform4iv", "GL_ARB_separate_shader_objects", glProgramUniform4iv },
14082   { "glProgramUniform4ivEXT", "GL_EXT_direct_state_access", glProgramUniform4ivEXT },
14083   { "glProgramUniform4ui", "GL_ARB_separate_shader_objects", glProgramUniform4ui },
14084   { "glProgramUniform4ui64NV", "GL_NV_gpu_shader5", glProgramUniform4ui64NV },
14085   { "glProgramUniform4ui64vNV", "GL_NV_gpu_shader5", glProgramUniform4ui64vNV },
14086   { "glProgramUniform4uiEXT", "GL_EXT_direct_state_access", glProgramUniform4uiEXT },
14087   { "glProgramUniform4uiv", "GL_ARB_separate_shader_objects", glProgramUniform4uiv },
14088   { "glProgramUniform4uivEXT", "GL_EXT_direct_state_access", glProgramUniform4uivEXT },
14089   { "glProgramUniformHandleui64NV", "GL_NV_bindless_texture", glProgramUniformHandleui64NV },
14090   { "glProgramUniformHandleui64vNV", "GL_NV_bindless_texture", glProgramUniformHandleui64vNV },
14091   { "glProgramUniformMatrix2dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2dv },
14092   { "glProgramUniformMatrix2dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2dvEXT },
14093   { "glProgramUniformMatrix2fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2fv },
14094   { "glProgramUniformMatrix2fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2fvEXT },
14095   { "glProgramUniformMatrix2x3dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2x3dv },
14096   { "glProgramUniformMatrix2x3dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2x3dvEXT },
14097   { "glProgramUniformMatrix2x3fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2x3fv },
14098   { "glProgramUniformMatrix2x3fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2x3fvEXT },
14099   { "glProgramUniformMatrix2x4dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2x4dv },
14100   { "glProgramUniformMatrix2x4dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2x4dvEXT },
14101   { "glProgramUniformMatrix2x4fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix2x4fv },
14102   { "glProgramUniformMatrix2x4fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix2x4fvEXT },
14103   { "glProgramUniformMatrix3dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3dv },
14104   { "glProgramUniformMatrix3dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3dvEXT },
14105   { "glProgramUniformMatrix3fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3fv },
14106   { "glProgramUniformMatrix3fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3fvEXT },
14107   { "glProgramUniformMatrix3x2dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3x2dv },
14108   { "glProgramUniformMatrix3x2dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3x2dvEXT },
14109   { "glProgramUniformMatrix3x2fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3x2fv },
14110   { "glProgramUniformMatrix3x2fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3x2fvEXT },
14111   { "glProgramUniformMatrix3x4dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3x4dv },
14112   { "glProgramUniformMatrix3x4dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3x4dvEXT },
14113   { "glProgramUniformMatrix3x4fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix3x4fv },
14114   { "glProgramUniformMatrix3x4fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix3x4fvEXT },
14115   { "glProgramUniformMatrix4dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4dv },
14116   { "glProgramUniformMatrix4dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4dvEXT },
14117   { "glProgramUniformMatrix4fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4fv },
14118   { "glProgramUniformMatrix4fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4fvEXT },
14119   { "glProgramUniformMatrix4x2dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4x2dv },
14120   { "glProgramUniformMatrix4x2dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4x2dvEXT },
14121   { "glProgramUniformMatrix4x2fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4x2fv },
14122   { "glProgramUniformMatrix4x2fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4x2fvEXT },
14123   { "glProgramUniformMatrix4x3dv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4x3dv },
14124   { "glProgramUniformMatrix4x3dvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4x3dvEXT },
14125   { "glProgramUniformMatrix4x3fv", "GL_ARB_separate_shader_objects", glProgramUniformMatrix4x3fv },
14126   { "glProgramUniformMatrix4x3fvEXT", "GL_EXT_direct_state_access", glProgramUniformMatrix4x3fvEXT },
14127   { "glProgramUniformui64NV", "GL_NV_shader_buffer_load", glProgramUniformui64NV },
14128   { "glProgramUniformui64vNV", "GL_NV_shader_buffer_load", glProgramUniformui64vNV },
14129   { "glProgramVertexLimitNV", "GL_NV_geometry_program4", glProgramVertexLimitNV },
14130   { "glProvokingVertex", "GL_ARB_provoking_vertex", glProvokingVertex },
14131   { "glProvokingVertexEXT", "GL_EXT_provoking_vertex", glProvokingVertexEXT },
14132   { "glPushClientAttribDefaultEXT", "GL_EXT_direct_state_access", glPushClientAttribDefaultEXT },
14133   { "glPushDebugGroup", "GL_KHR_debug", glPushDebugGroup },
14134   { "glQueryCounter", "GL_ARB_timer_query", glQueryCounter },
14135   { "glReadBufferRegion", "GL_KTX_buffer_region", glReadBufferRegion },
14136   { "glReadInstrumentsSGIX", "GL_SGIX_instruments", glReadInstrumentsSGIX },
14137   { "glReadnPixelsARB", "GL_ARB_robustness", glReadnPixelsARB },
14138   { "glReferencePlaneSGIX", "GL_SGIX_reference_plane", glReferencePlaneSGIX },
14139   { "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility", glReleaseShaderCompiler },
14140   { "glRenderbufferStorage", "GL_ARB_framebuffer_object", glRenderbufferStorage },
14141   { "glRenderbufferStorageEXT", "GL_EXT_framebuffer_object", glRenderbufferStorageEXT },
14142   { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object", glRenderbufferStorageMultisample },
14143   { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage", glRenderbufferStorageMultisampleCoverageNV },
14144   { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample", glRenderbufferStorageMultisampleEXT },
14145   { "glReplacementCodePointerSUN", "GL_SUN_triangle_list", glReplacementCodePointerSUN },
14146   { "glReplacementCodeubSUN", "GL_SUN_triangle_list", glReplacementCodeubSUN },
14147   { "glReplacementCodeubvSUN", "GL_SUN_triangle_list", glReplacementCodeubvSUN },
14148   { "glReplacementCodeuiColor3fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiColor3fVertex3fSUN },
14149   { "glReplacementCodeuiColor3fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiColor3fVertex3fvSUN },
14150   { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiColor4fNormal3fVertex3fSUN },
14151   { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiColor4fNormal3fVertex3fvSUN },
14152   { "glReplacementCodeuiColor4ubVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiColor4ubVertex3fSUN },
14153   { "glReplacementCodeuiColor4ubVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiColor4ubVertex3fvSUN },
14154   { "glReplacementCodeuiNormal3fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiNormal3fVertex3fSUN },
14155   { "glReplacementCodeuiNormal3fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiNormal3fVertex3fvSUN },
14156   { "glReplacementCodeuiSUN", "GL_SUN_triangle_list", glReplacementCodeuiSUN },
14157   { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN },
14158   { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN },
14159   { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN },
14160   { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN },
14161   { "glReplacementCodeuiTexCoord2fVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fVertex3fSUN },
14162   { "glReplacementCodeuiTexCoord2fVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiTexCoord2fVertex3fvSUN },
14163   { "glReplacementCodeuiVertex3fSUN", "GL_SUN_vertex", glReplacementCodeuiVertex3fSUN },
14164   { "glReplacementCodeuiVertex3fvSUN", "GL_SUN_vertex", glReplacementCodeuiVertex3fvSUN },
14165   { "glReplacementCodeuivSUN", "GL_SUN_triangle_list", glReplacementCodeuivSUN },
14166   { "glReplacementCodeusSUN", "GL_SUN_triangle_list", glReplacementCodeusSUN },
14167   { "glReplacementCodeusvSUN", "GL_SUN_triangle_list", glReplacementCodeusvSUN },
14168   { "glRequestResidentProgramsNV", "GL_NV_vertex_program", glRequestResidentProgramsNV },
14169   { "glResetHistogram", "GL_VERSION_1_2", glResetHistogram },
14170   { "glResetHistogramEXT", "GL_EXT_histogram", glResetHistogramEXT },
14171   { "glResetMinmax", "GL_VERSION_1_2", glResetMinmax },
14172   { "glResetMinmaxEXT", "GL_EXT_histogram", glResetMinmaxEXT },
14173   { "glResizeBuffersMESA", "GL_MESA_resize_buffers", glResizeBuffersMESA },
14174   { "glResumeTransformFeedback", "GL_ARB_transform_feedback2", glResumeTransformFeedback },
14175   { "glResumeTransformFeedbackNV", "GL_NV_transform_feedback2", glResumeTransformFeedbackNV },
14176   { "glSampleCoverage", "GL_VERSION_1_3", glSampleCoverage },
14177   { "glSampleCoverageARB", "GL_ARB_multisample", glSampleCoverageARB },
14178   { "glSampleMapATI", "GL_ATI_fragment_shader", glSampleMapATI },
14179   { "glSampleMaskEXT", "GL_EXT_multisample", glSampleMaskEXT },
14180   { "glSampleMaskIndexedNV", "GL_NV_explicit_multisample", glSampleMaskIndexedNV },
14181   { "glSampleMaskSGIS", "GL_SGIS_multisample", glSampleMaskSGIS },
14182   { "glSampleMaski", "GL_ARB_texture_multisample", glSampleMaski },
14183   { "glSamplePatternEXT", "GL_EXT_multisample", glSamplePatternEXT },
14184   { "glSamplePatternSGIS", "GL_SGIS_multisample", glSamplePatternSGIS },
14185   { "glSamplerParameterIiv", "GL_ARB_sampler_objects", glSamplerParameterIiv },
14186   { "glSamplerParameterIuiv", "GL_ARB_sampler_objects", glSamplerParameterIuiv },
14187   { "glSamplerParameterf", "GL_ARB_sampler_objects", glSamplerParameterf },
14188   { "glSamplerParameterfv", "GL_ARB_sampler_objects", glSamplerParameterfv },
14189   { "glSamplerParameteri", "GL_ARB_sampler_objects", glSamplerParameteri },
14190   { "glSamplerParameteriv", "GL_ARB_sampler_objects", glSamplerParameteriv },
14191   { "glScissorArrayv", "GL_ARB_viewport_array", glScissorArrayv },
14192   { "glScissorIndexed", "GL_ARB_viewport_array", glScissorIndexed },
14193   { "glScissorIndexedv", "GL_ARB_viewport_array", glScissorIndexedv },
14194   { "glSecondaryColor3b", "GL_VERSION_1_4", glSecondaryColor3b },
14195   { "glSecondaryColor3bEXT", "GL_EXT_secondary_color", glSecondaryColor3bEXT },
14196   { "glSecondaryColor3bv", "GL_VERSION_1_4", glSecondaryColor3bv },
14197   { "glSecondaryColor3bvEXT", "GL_EXT_secondary_color", glSecondaryColor3bvEXT },
14198   { "glSecondaryColor3d", "GL_VERSION_1_4", glSecondaryColor3d },
14199   { "glSecondaryColor3dEXT", "GL_EXT_secondary_color", glSecondaryColor3dEXT },
14200   { "glSecondaryColor3dv", "GL_VERSION_1_4", glSecondaryColor3dv },
14201   { "glSecondaryColor3dvEXT", "GL_EXT_secondary_color", glSecondaryColor3dvEXT },
14202   { "glSecondaryColor3f", "GL_VERSION_1_4", glSecondaryColor3f },
14203   { "glSecondaryColor3fEXT", "GL_EXT_secondary_color", glSecondaryColor3fEXT },
14204   { "glSecondaryColor3fv", "GL_VERSION_1_4", glSecondaryColor3fv },
14205   { "glSecondaryColor3fvEXT", "GL_EXT_secondary_color", glSecondaryColor3fvEXT },
14206   { "glSecondaryColor3hNV", "GL_NV_half_float", glSecondaryColor3hNV },
14207   { "glSecondaryColor3hvNV", "GL_NV_half_float", glSecondaryColor3hvNV },
14208   { "glSecondaryColor3i", "GL_VERSION_1_4", glSecondaryColor3i },
14209   { "glSecondaryColor3iEXT", "GL_EXT_secondary_color", glSecondaryColor3iEXT },
14210   { "glSecondaryColor3iv", "GL_VERSION_1_4", glSecondaryColor3iv },
14211   { "glSecondaryColor3ivEXT", "GL_EXT_secondary_color", glSecondaryColor3ivEXT },
14212   { "glSecondaryColor3s", "GL_VERSION_1_4", glSecondaryColor3s },
14213   { "glSecondaryColor3sEXT", "GL_EXT_secondary_color", glSecondaryColor3sEXT },
14214   { "glSecondaryColor3sv", "GL_VERSION_1_4", glSecondaryColor3sv },
14215   { "glSecondaryColor3svEXT", "GL_EXT_secondary_color", glSecondaryColor3svEXT },
14216   { "glSecondaryColor3ub", "GL_VERSION_1_4", glSecondaryColor3ub },
14217   { "glSecondaryColor3ubEXT", "GL_EXT_secondary_color", glSecondaryColor3ubEXT },
14218   { "glSecondaryColor3ubv", "GL_VERSION_1_4", glSecondaryColor3ubv },
14219   { "glSecondaryColor3ubvEXT", "GL_EXT_secondary_color", glSecondaryColor3ubvEXT },
14220   { "glSecondaryColor3ui", "GL_VERSION_1_4", glSecondaryColor3ui },
14221   { "glSecondaryColor3uiEXT", "GL_EXT_secondary_color", glSecondaryColor3uiEXT },
14222   { "glSecondaryColor3uiv", "GL_VERSION_1_4", glSecondaryColor3uiv },
14223   { "glSecondaryColor3uivEXT", "GL_EXT_secondary_color", glSecondaryColor3uivEXT },
14224   { "glSecondaryColor3us", "GL_VERSION_1_4", glSecondaryColor3us },
14225   { "glSecondaryColor3usEXT", "GL_EXT_secondary_color", glSecondaryColor3usEXT },
14226   { "glSecondaryColor3usv", "GL_VERSION_1_4", glSecondaryColor3usv },
14227   { "glSecondaryColor3usvEXT", "GL_EXT_secondary_color", glSecondaryColor3usvEXT },
14228   { "glSecondaryColorFormatNV", "GL_NV_vertex_buffer_unified_memory", glSecondaryColorFormatNV },
14229   { "glSecondaryColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glSecondaryColorP3ui },
14230   { "glSecondaryColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glSecondaryColorP3uiv },
14231   { "glSecondaryColorPointer", "GL_VERSION_1_4", glSecondaryColorPointer },
14232   { "glSecondaryColorPointerEXT", "GL_EXT_secondary_color", glSecondaryColorPointerEXT },
14233   { "glSecondaryColorPointerListIBM", "GL_IBM_vertex_array_lists", glSecondaryColorPointerListIBM },
14234   { "glSelectPerfMonitorCountersAMD", "GL_AMD_performance_monitor", glSelectPerfMonitorCountersAMD },
14235   { "glSelectTextureCoordSetSGIS", "GL_SGIS_multitexture", glSelectTextureCoordSetSGIS },
14236   { "glSelectTextureSGIS", "GL_SGIS_multitexture", glSelectTextureSGIS },
14237   { "glSeparableFilter2D", "GL_VERSION_1_2", glSeparableFilter2D },
14238   { "glSeparableFilter2DEXT", "GL_EXT_convolution", glSeparableFilter2DEXT },
14239   { "glSetFenceAPPLE", "GL_APPLE_fence", glSetFenceAPPLE },
14240   { "glSetFenceNV", "GL_NV_fence", glSetFenceNV },
14241   { "glSetFragmentShaderConstantATI", "GL_ATI_fragment_shader", glSetFragmentShaderConstantATI },
14242   { "glSetInvariantEXT", "GL_EXT_vertex_shader", glSetInvariantEXT },
14243   { "glSetLocalConstantEXT", "GL_EXT_vertex_shader", glSetLocalConstantEXT },
14244   { "glSetMultisamplefvAMD", "GL_AMD_sample_positions", glSetMultisamplefvAMD },
14245   { "glShaderBinary", "GL_ARB_ES2_compatibility", glShaderBinary },
14246   { "glShaderOp1EXT", "GL_EXT_vertex_shader", glShaderOp1EXT },
14247   { "glShaderOp2EXT", "GL_EXT_vertex_shader", glShaderOp2EXT },
14248   { "glShaderOp3EXT", "GL_EXT_vertex_shader", glShaderOp3EXT },
14249   { "glShaderSource", "GL_VERSION_2_0", glShaderSource },
14250   { "glShaderSourceARB", "GL_ARB_shader_objects", glShaderSourceARB },
14251   { "glShaderStorageBlockBinding", "GL_ARB_shader_storage_buffer_object", glShaderStorageBlockBinding },
14252   { "glSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture", glSharpenTexFuncSGIS },
14253   { "glSpriteParameterfSGIX", "GL_SGIX_sprite", glSpriteParameterfSGIX },
14254   { "glSpriteParameterfvSGIX", "GL_SGIX_sprite", glSpriteParameterfvSGIX },
14255   { "glSpriteParameteriSGIX", "GL_SGIX_sprite", glSpriteParameteriSGIX },
14256   { "glSpriteParameterivSGIX", "GL_SGIX_sprite", glSpriteParameterivSGIX },
14257   { "glStartInstrumentsSGIX", "GL_SGIX_instruments", glStartInstrumentsSGIX },
14258   { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag", glStencilClearTagEXT },
14259   { "glStencilFillPathInstancedNV", "GL_NV_path_rendering", glStencilFillPathInstancedNV },
14260   { "glStencilFillPathNV", "GL_NV_path_rendering", glStencilFillPathNV },
14261   { "glStencilFuncSeparate", "GL_VERSION_2_0", glStencilFuncSeparate },
14262   { "glStencilFuncSeparateATI", "GL_ATI_separate_stencil", glStencilFuncSeparateATI },
14263   { "glStencilMaskSeparate", "GL_VERSION_2_0", glStencilMaskSeparate },
14264   { "glStencilOpSeparate", "GL_VERSION_2_0", glStencilOpSeparate },
14265   { "glStencilOpSeparateATI", "GL_ATI_separate_stencil", glStencilOpSeparateATI },
14266   { "glStencilOpValueAMD", "GL_AMD_stencil_operation_extended", glStencilOpValueAMD },
14267   { "glStencilStrokePathInstancedNV", "GL_NV_path_rendering", glStencilStrokePathInstancedNV },
14268   { "glStencilStrokePathNV", "GL_NV_path_rendering", glStencilStrokePathNV },
14269   { "glStopInstrumentsSGIX", "GL_SGIX_instruments", glStopInstrumentsSGIX },
14270   { "glStringMarkerGREMEDY", "GL_GREMEDY_string_marker", glStringMarkerGREMEDY },
14271   { "glSwizzleEXT", "GL_EXT_vertex_shader", glSwizzleEXT },
14272   { "glTagSampleBufferSGIX", "GL_SGIX_tag_sample_buffer", glTagSampleBufferSGIX },
14273   { "glTangent3bEXT", "GL_EXT_coordinate_frame", glTangent3bEXT },
14274   { "glTangent3bvEXT", "GL_EXT_coordinate_frame", glTangent3bvEXT },
14275   { "glTangent3dEXT", "GL_EXT_coordinate_frame", glTangent3dEXT },
14276   { "glTangent3dvEXT", "GL_EXT_coordinate_frame", glTangent3dvEXT },
14277   { "glTangent3fEXT", "GL_EXT_coordinate_frame", glTangent3fEXT },
14278   { "glTangent3fvEXT", "GL_EXT_coordinate_frame", glTangent3fvEXT },
14279   { "glTangent3iEXT", "GL_EXT_coordinate_frame", glTangent3iEXT },
14280   { "glTangent3ivEXT", "GL_EXT_coordinate_frame", glTangent3ivEXT },
14281   { "glTangent3sEXT", "GL_EXT_coordinate_frame", glTangent3sEXT },
14282   { "glTangent3svEXT", "GL_EXT_coordinate_frame", glTangent3svEXT },
14283   { "glTangentPointerEXT", "GL_EXT_coordinate_frame", glTangentPointerEXT },
14284   { "glTbufferMask3DFX", "GL_3DFX_tbuffer", glTbufferMask3DFX },
14285   { "glTessellationFactorAMD", "GL_AMD_vertex_shader_tesselator", glTessellationFactorAMD },
14286   { "glTessellationModeAMD", "GL_AMD_vertex_shader_tesselator", glTessellationModeAMD },
14287   { "glTestFenceAPPLE", "GL_APPLE_fence", glTestFenceAPPLE },
14288   { "glTestFenceNV", "GL_NV_fence", glTestFenceNV },
14289   { "glTestObjectAPPLE", "GL_APPLE_fence", glTestObjectAPPLE },
14290   { "glTexBuffer", "GL_VERSION_3_1", glTexBuffer },
14291   { "glTexBufferARB", "GL_ARB_texture_buffer_object", glTexBufferARB },
14292   { "glTexBufferEXT", "GL_EXT_texture_buffer_object", glTexBufferEXT },
14293   { "glTexBufferRange", "GL_ARB_texture_buffer_range", glTexBufferRange },
14294   { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap", glTexBumpParameterfvATI },
14295   { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap", glTexBumpParameterivATI },
14296   { "glTexCoord1hNV", "GL_NV_half_float", glTexCoord1hNV },
14297   { "glTexCoord1hvNV", "GL_NV_half_float", glTexCoord1hvNV },
14298   { "glTexCoord2fColor3fVertex3fSUN", "GL_SUN_vertex", glTexCoord2fColor3fVertex3fSUN },
14299   { "glTexCoord2fColor3fVertex3fvSUN", "GL_SUN_vertex", glTexCoord2fColor3fVertex3fvSUN },
14300   { "glTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex", glTexCoord2fColor4fNormal3fVertex3fSUN },
14301   { "glTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex", glTexCoord2fColor4fNormal3fVertex3fvSUN },
14302   { "glTexCoord2fColor4ubVertex3fSUN", "GL_SUN_vertex", glTexCoord2fColor4ubVertex3fSUN },
14303   { "glTexCoord2fColor4ubVertex3fvSUN", "GL_SUN_vertex", glTexCoord2fColor4ubVertex3fvSUN },
14304   { "glTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex", glTexCoord2fNormal3fVertex3fSUN },
14305   { "glTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex", glTexCoord2fNormal3fVertex3fvSUN },
14306   { "glTexCoord2fVertex3fSUN", "GL_SUN_vertex", glTexCoord2fVertex3fSUN },
14307   { "glTexCoord2fVertex3fvSUN", "GL_SUN_vertex", glTexCoord2fVertex3fvSUN },
14308   { "glTexCoord2hNV", "GL_NV_half_float", glTexCoord2hNV },
14309   { "glTexCoord2hvNV", "GL_NV_half_float", glTexCoord2hvNV },
14310   { "glTexCoord3hNV", "GL_NV_half_float", glTexCoord3hNV },
14311   { "glTexCoord3hvNV", "GL_NV_half_float", glTexCoord3hvNV },
14312   { "glTexCoord4fColor4fNormal3fVertex4fSUN", "GL_SUN_vertex", glTexCoord4fColor4fNormal3fVertex4fSUN },
14313   { "glTexCoord4fColor4fNormal3fVertex4fvSUN", "GL_SUN_vertex", glTexCoord4fColor4fNormal3fVertex4fvSUN },
14314   { "glTexCoord4fVertex4fSUN", "GL_SUN_vertex", glTexCoord4fVertex4fSUN },
14315   { "glTexCoord4fVertex4fvSUN", "GL_SUN_vertex", glTexCoord4fVertex4fvSUN },
14316   { "glTexCoord4hNV", "GL_NV_half_float", glTexCoord4hNV },
14317   { "glTexCoord4hvNV", "GL_NV_half_float", glTexCoord4hvNV },
14318   { "glTexCoordFormatNV", "GL_NV_vertex_buffer_unified_memory", glTexCoordFormatNV },
14319   { "glTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP1ui },
14320   { "glTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP1uiv },
14321   { "glTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP2ui },
14322   { "glTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP2uiv },
14323   { "glTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP3ui },
14324   { "glTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP3uiv },
14325   { "glTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP4ui },
14326   { "glTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glTexCoordP4uiv },
14327   { "glTexCoordPointerEXT", "GL_EXT_vertex_array", glTexCoordPointerEXT },
14328   { "glTexCoordPointerListIBM", "GL_IBM_vertex_array_lists", glTexCoordPointerListIBM },
14329   { "glTexCoordPointervINTEL", "GL_INTEL_parallel_arrays", glTexCoordPointervINTEL },
14330   { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4", glTexFilterFuncSGIS },
14331   { "glTexImage2DMultisample", "GL_ARB_texture_multisample", glTexImage2DMultisample },
14332   { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample", glTexImage2DMultisampleCoverageNV },
14333   { "glTexImage3D", "GL_VERSION_1_2", glTexImage3D },
14334   { "glTexImage3DEXT", "GL_EXT_texture3D", glTexImage3DEXT },
14335   { "glTexImage3DMultisample", "GL_ARB_texture_multisample", glTexImage3DMultisample },
14336   { "glTexImage3DMultisampleCoverageNV", "GL_NV_texture_multisample", glTexImage3DMultisampleCoverageNV },
14337   { "glTexImage4DSGIS", "GL_SGIS_texture4D", glTexImage4DSGIS },
14338   { "glTexParameterIiv", "GL_VERSION_3_0", glTexParameterIiv },
14339   { "glTexParameterIivEXT", "GL_EXT_texture_integer", glTexParameterIivEXT },
14340   { "glTexParameterIuiv", "GL_VERSION_3_0", glTexParameterIuiv },
14341   { "glTexParameterIuivEXT", "GL_EXT_texture_integer", glTexParameterIuivEXT },
14342   { "glTexRenderbufferNV", "GL_NV_explicit_multisample", glTexRenderbufferNV },
14343   { "glTexStorage1D", "GL_ARB_texture_storage", glTexStorage1D },
14344   { "glTexStorage2D", "GL_ARB_texture_storage", glTexStorage2D },
14345   { "glTexStorage2DMultisample", "GL_ARB_texture_storage_multisample", glTexStorage2DMultisample },
14346   { "glTexStorage3D", "GL_ARB_texture_storage", glTexStorage3D },
14347   { "glTexStorage3DMultisample", "GL_ARB_texture_storage_multisample", glTexStorage3DMultisample },
14348   { "glTexStorageSparseAMD", "GL_AMD_sparse_texture", glTexStorageSparseAMD },
14349   { "glTexSubImage1DEXT", "GL_EXT_subtexture", glTexSubImage1DEXT },
14350   { "glTexSubImage2DEXT", "GL_EXT_subtexture", glTexSubImage2DEXT },
14351   { "glTexSubImage3D", "GL_VERSION_1_2", glTexSubImage3D },
14352   { "glTexSubImage3DEXT", "GL_EXT_texture3D", glTexSubImage3DEXT },
14353   { "glTexSubImage4DSGIS", "GL_SGIS_texture4D", glTexSubImage4DSGIS },
14354   { "glTextureBarrierNV", "GL_NV_texture_barrier", glTextureBarrierNV },
14355   { "glTextureBufferEXT", "GL_EXT_direct_state_access", glTextureBufferEXT },
14356   { "glTextureBufferRangeEXT", "GL_ARB_texture_buffer_range", glTextureBufferRangeEXT },
14357   { "glTextureColorMaskSGIS", "GL_SGIS_texture_color_mask", glTextureColorMaskSGIS },
14358   { "glTextureImage1DEXT", "GL_EXT_direct_state_access", glTextureImage1DEXT },
14359   { "glTextureImage2DEXT", "GL_EXT_direct_state_access", glTextureImage2DEXT },
14360   { "glTextureImage2DMultisampleCoverageNV", "GL_NV_texture_multisample", glTextureImage2DMultisampleCoverageNV },
14361   { "glTextureImage2DMultisampleNV", "GL_NV_texture_multisample", glTextureImage2DMultisampleNV },
14362   { "glTextureImage3DEXT", "GL_EXT_direct_state_access", glTextureImage3DEXT },
14363   { "glTextureImage3DMultisampleCoverageNV", "GL_NV_texture_multisample", glTextureImage3DMultisampleCoverageNV },
14364   { "glTextureImage3DMultisampleNV", "GL_NV_texture_multisample", glTextureImage3DMultisampleNV },
14365   { "glTextureLightEXT", "GL_EXT_light_texture", glTextureLightEXT },
14366   { "glTextureMaterialEXT", "GL_EXT_light_texture", glTextureMaterialEXT },
14367   { "glTextureNormalEXT", "GL_EXT_texture_perturb_normal", glTextureNormalEXT },
14368   { "glTextureParameterIivEXT", "GL_EXT_direct_state_access", glTextureParameterIivEXT },
14369   { "glTextureParameterIuivEXT", "GL_EXT_direct_state_access", glTextureParameterIuivEXT },
14370   { "glTextureParameterfEXT", "GL_EXT_direct_state_access", glTextureParameterfEXT },
14371   { "glTextureParameterfvEXT", "GL_EXT_direct_state_access", glTextureParameterfvEXT },
14372   { "glTextureParameteriEXT", "GL_EXT_direct_state_access", glTextureParameteriEXT },
14373   { "glTextureParameterivEXT", "GL_EXT_direct_state_access", glTextureParameterivEXT },
14374   { "glTextureRangeAPPLE", "GL_APPLE_texture_range", glTextureRangeAPPLE },
14375   { "glTextureRenderbufferEXT", "GL_EXT_direct_state_access", glTextureRenderbufferEXT },
14376   { "glTextureStorage1DEXT", "GL_ARB_texture_storage", glTextureStorage1DEXT },
14377   { "glTextureStorage2DEXT", "GL_ARB_texture_storage", glTextureStorage2DEXT },
14378   { "glTextureStorage2DMultisampleEXT", "GL_ARB_texture_storage_multisample", glTextureStorage2DMultisampleEXT },
14379   { "glTextureStorage3DEXT", "GL_ARB_texture_storage", glTextureStorage3DEXT },
14380   { "glTextureStorage3DMultisampleEXT", "GL_ARB_texture_storage_multisample", glTextureStorage3DMultisampleEXT },
14381   { "glTextureStorageSparseAMD", "GL_AMD_sparse_texture", glTextureStorageSparseAMD },
14382   { "glTextureSubImage1DEXT", "GL_EXT_direct_state_access", glTextureSubImage1DEXT },
14383   { "glTextureSubImage2DEXT", "GL_EXT_direct_state_access", glTextureSubImage2DEXT },
14384   { "glTextureSubImage3DEXT", "GL_EXT_direct_state_access", glTextureSubImage3DEXT },
14385   { "glTextureView", "GL_ARB_texture_view", glTextureView },
14386   { "glTrackMatrixNV", "GL_NV_vertex_program", glTrackMatrixNV },
14387   { "glTransformFeedbackAttribsNV", "GL_NV_transform_feedback", glTransformFeedbackAttribsNV },
14388   { "glTransformFeedbackStreamAttribsNV", "GL_NV_transform_feedback", glTransformFeedbackStreamAttribsNV },
14389   { "glTransformFeedbackVaryings", "GL_VERSION_3_0", glTransformFeedbackVaryings },
14390   { "glTransformFeedbackVaryingsEXT", "GL_EXT_transform_feedback", glTransformFeedbackVaryingsEXT },
14391   { "glTransformFeedbackVaryingsNV", "GL_NV_transform_feedback", glTransformFeedbackVaryingsNV },
14392   { "glTransformPathNV", "GL_NV_path_rendering", glTransformPathNV },
14393   { "glUniform1d", "GL_ARB_gpu_shader_fp64", glUniform1d },
14394   { "glUniform1dv", "GL_ARB_gpu_shader_fp64", glUniform1dv },
14395   { "glUniform1f", "GL_VERSION_2_0", glUniform1f },
14396   { "glUniform1fARB", "GL_ARB_shader_objects", glUniform1fARB },
14397   { "glUniform1fv", "GL_VERSION_2_0", glUniform1fv },
14398   { "glUniform1fvARB", "GL_ARB_shader_objects", glUniform1fvARB },
14399   { "glUniform1i", "GL_VERSION_2_0", glUniform1i },
14400   { "glUniform1i64NV", "GL_NV_gpu_shader5", glUniform1i64NV },
14401   { "glUniform1i64vNV", "GL_NV_gpu_shader5", glUniform1i64vNV },
14402   { "glUniform1iARB", "GL_ARB_shader_objects", glUniform1iARB },
14403   { "glUniform1iv", "GL_VERSION_2_0", glUniform1iv },
14404   { "glUniform1ivARB", "GL_ARB_shader_objects", glUniform1ivARB },
14405   { "glUniform1ui", "GL_VERSION_3_0", glUniform1ui },
14406   { "glUniform1ui64NV", "GL_NV_gpu_shader5", glUniform1ui64NV },
14407   { "glUniform1ui64vNV", "GL_NV_gpu_shader5", glUniform1ui64vNV },
14408   { "glUniform1uiEXT", "GL_EXT_gpu_shader4", glUniform1uiEXT },
14409   { "glUniform1uiv", "GL_VERSION_3_0", glUniform1uiv },
14410   { "glUniform1uivEXT", "GL_EXT_gpu_shader4", glUniform1uivEXT },
14411   { "glUniform2d", "GL_ARB_gpu_shader_fp64", glUniform2d },
14412   { "glUniform2dv", "GL_ARB_gpu_shader_fp64", glUniform2dv },
14413   { "glUniform2f", "GL_VERSION_2_0", glUniform2f },
14414   { "glUniform2fARB", "GL_ARB_shader_objects", glUniform2fARB },
14415   { "glUniform2fv", "GL_VERSION_2_0", glUniform2fv },
14416   { "glUniform2fvARB", "GL_ARB_shader_objects", glUniform2fvARB },
14417   { "glUniform2i", "GL_VERSION_2_0", glUniform2i },
14418   { "glUniform2i64NV", "GL_NV_gpu_shader5", glUniform2i64NV },
14419   { "glUniform2i64vNV", "GL_NV_gpu_shader5", glUniform2i64vNV },
14420   { "glUniform2iARB", "GL_ARB_shader_objects", glUniform2iARB },
14421   { "glUniform2iv", "GL_VERSION_2_0", glUniform2iv },
14422   { "glUniform2ivARB", "GL_ARB_shader_objects", glUniform2ivARB },
14423   { "glUniform2ui", "GL_VERSION_3_0", glUniform2ui },
14424   { "glUniform2ui64NV", "GL_NV_gpu_shader5", glUniform2ui64NV },
14425   { "glUniform2ui64vNV", "GL_NV_gpu_shader5", glUniform2ui64vNV },
14426   { "glUniform2uiEXT", "GL_EXT_gpu_shader4", glUniform2uiEXT },
14427   { "glUniform2uiv", "GL_VERSION_3_0", glUniform2uiv },
14428   { "glUniform2uivEXT", "GL_EXT_gpu_shader4", glUniform2uivEXT },
14429   { "glUniform3d", "GL_ARB_gpu_shader_fp64", glUniform3d },
14430   { "glUniform3dv", "GL_ARB_gpu_shader_fp64", glUniform3dv },
14431   { "glUniform3f", "GL_VERSION_2_0", glUniform3f },
14432   { "glUniform3fARB", "GL_ARB_shader_objects", glUniform3fARB },
14433   { "glUniform3fv", "GL_VERSION_2_0", glUniform3fv },
14434   { "glUniform3fvARB", "GL_ARB_shader_objects", glUniform3fvARB },
14435   { "glUniform3i", "GL_VERSION_2_0", glUniform3i },
14436   { "glUniform3i64NV", "GL_NV_gpu_shader5", glUniform3i64NV },
14437   { "glUniform3i64vNV", "GL_NV_gpu_shader5", glUniform3i64vNV },
14438   { "glUniform3iARB", "GL_ARB_shader_objects", glUniform3iARB },
14439   { "glUniform3iv", "GL_VERSION_2_0", glUniform3iv },
14440   { "glUniform3ivARB", "GL_ARB_shader_objects", glUniform3ivARB },
14441   { "glUniform3ui", "GL_VERSION_3_0", glUniform3ui },
14442   { "glUniform3ui64NV", "GL_NV_gpu_shader5", glUniform3ui64NV },
14443   { "glUniform3ui64vNV", "GL_NV_gpu_shader5", glUniform3ui64vNV },
14444   { "glUniform3uiEXT", "GL_EXT_gpu_shader4", glUniform3uiEXT },
14445   { "glUniform3uiv", "GL_VERSION_3_0", glUniform3uiv },
14446   { "glUniform3uivEXT", "GL_EXT_gpu_shader4", glUniform3uivEXT },
14447   { "glUniform4d", "GL_ARB_gpu_shader_fp64", glUniform4d },
14448   { "glUniform4dv", "GL_ARB_gpu_shader_fp64", glUniform4dv },
14449   { "glUniform4f", "GL_VERSION_2_0", glUniform4f },
14450   { "glUniform4fARB", "GL_ARB_shader_objects", glUniform4fARB },
14451   { "glUniform4fv", "GL_VERSION_2_0", glUniform4fv },
14452   { "glUniform4fvARB", "GL_ARB_shader_objects", glUniform4fvARB },
14453   { "glUniform4i", "GL_VERSION_2_0", glUniform4i },
14454   { "glUniform4i64NV", "GL_NV_gpu_shader5", glUniform4i64NV },
14455   { "glUniform4i64vNV", "GL_NV_gpu_shader5", glUniform4i64vNV },
14456   { "glUniform4iARB", "GL_ARB_shader_objects", glUniform4iARB },
14457   { "glUniform4iv", "GL_VERSION_2_0", glUniform4iv },
14458   { "glUniform4ivARB", "GL_ARB_shader_objects", glUniform4ivARB },
14459   { "glUniform4ui", "GL_VERSION_3_0", glUniform4ui },
14460   { "glUniform4ui64NV", "GL_NV_gpu_shader5", glUniform4ui64NV },
14461   { "glUniform4ui64vNV", "GL_NV_gpu_shader5", glUniform4ui64vNV },
14462   { "glUniform4uiEXT", "GL_EXT_gpu_shader4", glUniform4uiEXT },
14463   { "glUniform4uiv", "GL_VERSION_3_0", glUniform4uiv },
14464   { "glUniform4uivEXT", "GL_EXT_gpu_shader4", glUniform4uivEXT },
14465   { "glUniformBlockBinding", "GL_ARB_uniform_buffer_object", glUniformBlockBinding },
14466   { "glUniformBufferEXT", "GL_EXT_bindable_uniform", glUniformBufferEXT },
14467   { "glUniformHandleui64NV", "GL_NV_bindless_texture", glUniformHandleui64NV },
14468   { "glUniformHandleui64vNV", "GL_NV_bindless_texture", glUniformHandleui64vNV },
14469   { "glUniformMatrix2dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix2dv },
14470   { "glUniformMatrix2fv", "GL_VERSION_2_0", glUniformMatrix2fv },
14471   { "glUniformMatrix2fvARB", "GL_ARB_shader_objects", glUniformMatrix2fvARB },
14472   { "glUniformMatrix2x3dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix2x3dv },
14473   { "glUniformMatrix2x3fv", "GL_VERSION_2_1", glUniformMatrix2x3fv },
14474   { "glUniformMatrix2x4dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix2x4dv },
14475   { "glUniformMatrix2x4fv", "GL_VERSION_2_1", glUniformMatrix2x4fv },
14476   { "glUniformMatrix3dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix3dv },
14477   { "glUniformMatrix3fv", "GL_VERSION_2_0", glUniformMatrix3fv },
14478   { "glUniformMatrix3fvARB", "GL_ARB_shader_objects", glUniformMatrix3fvARB },
14479   { "glUniformMatrix3x2dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix3x2dv },
14480   { "glUniformMatrix3x2fv", "GL_VERSION_2_1", glUniformMatrix3x2fv },
14481   { "glUniformMatrix3x4dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix3x4dv },
14482   { "glUniformMatrix3x4fv", "GL_VERSION_2_1", glUniformMatrix3x4fv },
14483   { "glUniformMatrix4dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix4dv },
14484   { "glUniformMatrix4fv", "GL_VERSION_2_0", glUniformMatrix4fv },
14485   { "glUniformMatrix4fvARB", "GL_ARB_shader_objects", glUniformMatrix4fvARB },
14486   { "glUniformMatrix4x2dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix4x2dv },
14487   { "glUniformMatrix4x2fv", "GL_VERSION_2_1", glUniformMatrix4x2fv },
14488   { "glUniformMatrix4x3dv", "GL_ARB_gpu_shader_fp64", glUniformMatrix4x3dv },
14489   { "glUniformMatrix4x3fv", "GL_VERSION_2_1", glUniformMatrix4x3fv },
14490   { "glUniformSubroutinesuiv", "GL_ARB_shader_subroutine", glUniformSubroutinesuiv },
14491   { "glUniformui64NV", "GL_NV_shader_buffer_load", glUniformui64NV },
14492   { "glUniformui64vNV", "GL_NV_shader_buffer_load", glUniformui64vNV },
14493   { "glUnlockArraysEXT", "GL_EXT_compiled_vertex_array", glUnlockArraysEXT },
14494   { "glUnmapBuffer", "GL_VERSION_1_5", glUnmapBuffer },
14495   { "glUnmapBufferARB", "GL_ARB_vertex_buffer_object", glUnmapBufferARB },
14496   { "glUnmapNamedBufferEXT", "GL_EXT_direct_state_access", glUnmapNamedBufferEXT },
14497   { "glUnmapObjectBufferATI", "GL_ATI_map_object_buffer", glUnmapObjectBufferATI },
14498   { "glUpdateObjectBufferATI", "GL_ATI_vertex_array_object", glUpdateObjectBufferATI },
14499   { "glUseProgram", "GL_VERSION_2_0", glUseProgram },
14500   { "glUseProgramObjectARB", "GL_ARB_shader_objects", glUseProgramObjectARB },
14501   { "glUseProgramStages", "GL_ARB_separate_shader_objects", glUseProgramStages },
14502   { "glUseShaderProgramEXT", "GL_EXT_separate_shader_objects", glUseShaderProgramEXT },
14503   { "glVDPAUFiniNV", "GL_NV_vdpau_interop", glVDPAUFiniNV },
14504   { "glVDPAUGetSurfaceivNV", "GL_NV_vdpau_interop", glVDPAUGetSurfaceivNV },
14505   { "glVDPAUInitNV", "GL_NV_vdpau_interop", glVDPAUInitNV },
14506   { "glVDPAUIsSurfaceNV", "GL_NV_vdpau_interop", glVDPAUIsSurfaceNV },
14507   { "glVDPAUMapSurfacesNV", "GL_NV_vdpau_interop", glVDPAUMapSurfacesNV },
14508   { "glVDPAURegisterOutputSurfaceNV", "GL_NV_vdpau_interop", glVDPAURegisterOutputSurfaceNV },
14509   { "glVDPAURegisterVideoSurfaceNV", "GL_NV_vdpau_interop", glVDPAURegisterVideoSurfaceNV },
14510   { "glVDPAUSurfaceAccessNV", "GL_NV_vdpau_interop", glVDPAUSurfaceAccessNV },
14511   { "glVDPAUUnmapSurfacesNV", "GL_NV_vdpau_interop", glVDPAUUnmapSurfacesNV },
14512   { "glVDPAUUnregisterSurfaceNV", "GL_NV_vdpau_interop", glVDPAUUnregisterSurfaceNV },
14513   { "glValidateProgram", "GL_VERSION_2_0", glValidateProgram },
14514   { "glValidateProgramARB", "GL_ARB_shader_objects", glValidateProgramARB },
14515   { "glValidateProgramPipeline", "GL_ARB_separate_shader_objects", glValidateProgramPipeline },
14516   { "glVariantArrayObjectATI", "GL_ATI_vertex_array_object", glVariantArrayObjectATI },
14517   { "glVariantPointerEXT", "GL_EXT_vertex_shader", glVariantPointerEXT },
14518   { "glVariantbvEXT", "GL_EXT_vertex_shader", glVariantbvEXT },
14519   { "glVariantdvEXT", "GL_EXT_vertex_shader", glVariantdvEXT },
14520   { "glVariantfvEXT", "GL_EXT_vertex_shader", glVariantfvEXT },
14521   { "glVariantivEXT", "GL_EXT_vertex_shader", glVariantivEXT },
14522   { "glVariantsvEXT", "GL_EXT_vertex_shader", glVariantsvEXT },
14523   { "glVariantubvEXT", "GL_EXT_vertex_shader", glVariantubvEXT },
14524   { "glVariantuivEXT", "GL_EXT_vertex_shader", glVariantuivEXT },
14525   { "glVariantusvEXT", "GL_EXT_vertex_shader", glVariantusvEXT },
14526   { "glVertex2hNV", "GL_NV_half_float", glVertex2hNV },
14527   { "glVertex2hvNV", "GL_NV_half_float", glVertex2hvNV },
14528   { "glVertex3hNV", "GL_NV_half_float", glVertex3hNV },
14529   { "glVertex3hvNV", "GL_NV_half_float", glVertex3hvNV },
14530   { "glVertex4hNV", "GL_NV_half_float", glVertex4hNV },
14531   { "glVertex4hvNV", "GL_NV_half_float", glVertex4hvNV },
14532   { "glVertexArrayBindVertexBufferEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayBindVertexBufferEXT },
14533   { "glVertexArrayParameteriAPPLE", "GL_APPLE_vertex_array_range", glVertexArrayParameteriAPPLE },
14534   { "glVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range", glVertexArrayRangeAPPLE },
14535   { "glVertexArrayRangeNV", "GL_NV_vertex_array_range", glVertexArrayRangeNV },
14536   { "glVertexArrayVertexAttribBindingEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayVertexAttribBindingEXT },
14537   { "glVertexArrayVertexAttribFormatEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayVertexAttribFormatEXT },
14538   { "glVertexArrayVertexAttribIFormatEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayVertexAttribIFormatEXT },
14539   { "glVertexArrayVertexAttribLFormatEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayVertexAttribLFormatEXT },
14540   { "glVertexArrayVertexAttribLOffsetEXT", "GL_EXT_vertex_attrib_64bit", glVertexArrayVertexAttribLOffsetEXT },
14541   { "glVertexArrayVertexBindingDivisorEXT", "GL_ARB_vertex_attrib_binding", glVertexArrayVertexBindingDivisorEXT },
14542   { "glVertexAttrib1d", "GL_VERSION_2_0", glVertexAttrib1d },
14543   { "glVertexAttrib1dARB", "GL_ARB_vertex_program", glVertexAttrib1dARB },
14544   { "glVertexAttrib1dNV", "GL_NV_vertex_program", glVertexAttrib1dNV },
14545   { "glVertexAttrib1dv", "GL_VERSION_2_0", glVertexAttrib1dv },
14546   { "glVertexAttrib1dvARB", "GL_ARB_vertex_program", glVertexAttrib1dvARB },
14547   { "glVertexAttrib1dvNV", "GL_NV_vertex_program", glVertexAttrib1dvNV },
14548   { "glVertexAttrib1f", "GL_VERSION_2_0", glVertexAttrib1f },
14549   { "glVertexAttrib1fARB", "GL_ARB_vertex_program", glVertexAttrib1fARB },
14550   { "glVertexAttrib1fNV", "GL_NV_vertex_program", glVertexAttrib1fNV },
14551   { "glVertexAttrib1fv", "GL_VERSION_2_0", glVertexAttrib1fv },
14552   { "glVertexAttrib1fvARB", "GL_ARB_vertex_program", glVertexAttrib1fvARB },
14553   { "glVertexAttrib1fvNV", "GL_NV_vertex_program", glVertexAttrib1fvNV },
14554   { "glVertexAttrib1hNV", "GL_NV_half_float", glVertexAttrib1hNV },
14555   { "glVertexAttrib1hvNV", "GL_NV_half_float", glVertexAttrib1hvNV },
14556   { "glVertexAttrib1s", "GL_VERSION_2_0", glVertexAttrib1s },
14557   { "glVertexAttrib1sARB", "GL_ARB_vertex_program", glVertexAttrib1sARB },
14558   { "glVertexAttrib1sNV", "GL_NV_vertex_program", glVertexAttrib1sNV },
14559   { "glVertexAttrib1sv", "GL_VERSION_2_0", glVertexAttrib1sv },
14560   { "glVertexAttrib1svARB", "GL_ARB_vertex_program", glVertexAttrib1svARB },
14561   { "glVertexAttrib1svNV", "GL_NV_vertex_program", glVertexAttrib1svNV },
14562   { "glVertexAttrib2d", "GL_VERSION_2_0", glVertexAttrib2d },
14563   { "glVertexAttrib2dARB", "GL_ARB_vertex_program", glVertexAttrib2dARB },
14564   { "glVertexAttrib2dNV", "GL_NV_vertex_program", glVertexAttrib2dNV },
14565   { "glVertexAttrib2dv", "GL_VERSION_2_0", glVertexAttrib2dv },
14566   { "glVertexAttrib2dvARB", "GL_ARB_vertex_program", glVertexAttrib2dvARB },
14567   { "glVertexAttrib2dvNV", "GL_NV_vertex_program", glVertexAttrib2dvNV },
14568   { "glVertexAttrib2f", "GL_VERSION_2_0", glVertexAttrib2f },
14569   { "glVertexAttrib2fARB", "GL_ARB_vertex_program", glVertexAttrib2fARB },
14570   { "glVertexAttrib2fNV", "GL_NV_vertex_program", glVertexAttrib2fNV },
14571   { "glVertexAttrib2fv", "GL_VERSION_2_0", glVertexAttrib2fv },
14572   { "glVertexAttrib2fvARB", "GL_ARB_vertex_program", glVertexAttrib2fvARB },
14573   { "glVertexAttrib2fvNV", "GL_NV_vertex_program", glVertexAttrib2fvNV },
14574   { "glVertexAttrib2hNV", "GL_NV_half_float", glVertexAttrib2hNV },
14575   { "glVertexAttrib2hvNV", "GL_NV_half_float", glVertexAttrib2hvNV },
14576   { "glVertexAttrib2s", "GL_VERSION_2_0", glVertexAttrib2s },
14577   { "glVertexAttrib2sARB", "GL_ARB_vertex_program", glVertexAttrib2sARB },
14578   { "glVertexAttrib2sNV", "GL_NV_vertex_program", glVertexAttrib2sNV },
14579   { "glVertexAttrib2sv", "GL_VERSION_2_0", glVertexAttrib2sv },
14580   { "glVertexAttrib2svARB", "GL_ARB_vertex_program", glVertexAttrib2svARB },
14581   { "glVertexAttrib2svNV", "GL_NV_vertex_program", glVertexAttrib2svNV },
14582   { "glVertexAttrib3d", "GL_VERSION_2_0", glVertexAttrib3d },
14583   { "glVertexAttrib3dARB", "GL_ARB_vertex_program", glVertexAttrib3dARB },
14584   { "glVertexAttrib3dNV", "GL_NV_vertex_program", glVertexAttrib3dNV },
14585   { "glVertexAttrib3dv", "GL_VERSION_2_0", glVertexAttrib3dv },
14586   { "glVertexAttrib3dvARB", "GL_ARB_vertex_program", glVertexAttrib3dvARB },
14587   { "glVertexAttrib3dvNV", "GL_NV_vertex_program", glVertexAttrib3dvNV },
14588   { "glVertexAttrib3f", "GL_VERSION_2_0", glVertexAttrib3f },
14589   { "glVertexAttrib3fARB", "GL_ARB_vertex_program", glVertexAttrib3fARB },
14590   { "glVertexAttrib3fNV", "GL_NV_vertex_program", glVertexAttrib3fNV },
14591   { "glVertexAttrib3fv", "GL_VERSION_2_0", glVertexAttrib3fv },
14592   { "glVertexAttrib3fvARB", "GL_ARB_vertex_program", glVertexAttrib3fvARB },
14593   { "glVertexAttrib3fvNV", "GL_NV_vertex_program", glVertexAttrib3fvNV },
14594   { "glVertexAttrib3hNV", "GL_NV_half_float", glVertexAttrib3hNV },
14595   { "glVertexAttrib3hvNV", "GL_NV_half_float", glVertexAttrib3hvNV },
14596   { "glVertexAttrib3s", "GL_VERSION_2_0", glVertexAttrib3s },
14597   { "glVertexAttrib3sARB", "GL_ARB_vertex_program", glVertexAttrib3sARB },
14598   { "glVertexAttrib3sNV", "GL_NV_vertex_program", glVertexAttrib3sNV },
14599   { "glVertexAttrib3sv", "GL_VERSION_2_0", glVertexAttrib3sv },
14600   { "glVertexAttrib3svARB", "GL_ARB_vertex_program", glVertexAttrib3svARB },
14601   { "glVertexAttrib3svNV", "GL_NV_vertex_program", glVertexAttrib3svNV },
14602   { "glVertexAttrib4Nbv", "GL_VERSION_2_0", glVertexAttrib4Nbv },
14603   { "glVertexAttrib4NbvARB", "GL_ARB_vertex_program", glVertexAttrib4NbvARB },
14604   { "glVertexAttrib4Niv", "GL_VERSION_2_0", glVertexAttrib4Niv },
14605   { "glVertexAttrib4NivARB", "GL_ARB_vertex_program", glVertexAttrib4NivARB },
14606   { "glVertexAttrib4Nsv", "GL_VERSION_2_0", glVertexAttrib4Nsv },
14607   { "glVertexAttrib4NsvARB", "GL_ARB_vertex_program", glVertexAttrib4NsvARB },
14608   { "glVertexAttrib4Nub", "GL_VERSION_2_0", glVertexAttrib4Nub },
14609   { "glVertexAttrib4NubARB", "GL_ARB_vertex_program", glVertexAttrib4NubARB },
14610   { "glVertexAttrib4Nubv", "GL_VERSION_2_0", glVertexAttrib4Nubv },
14611   { "glVertexAttrib4NubvARB", "GL_ARB_vertex_program", glVertexAttrib4NubvARB },
14612   { "glVertexAttrib4Nuiv", "GL_VERSION_2_0", glVertexAttrib4Nuiv },
14613   { "glVertexAttrib4NuivARB", "GL_ARB_vertex_program", glVertexAttrib4NuivARB },
14614   { "glVertexAttrib4Nusv", "GL_VERSION_2_0", glVertexAttrib4Nusv },
14615   { "glVertexAttrib4NusvARB", "GL_ARB_vertex_program", glVertexAttrib4NusvARB },
14616   { "glVertexAttrib4bv", "GL_VERSION_2_0", glVertexAttrib4bv },
14617   { "glVertexAttrib4bvARB", "GL_ARB_vertex_program", glVertexAttrib4bvARB },
14618   { "glVertexAttrib4d", "GL_VERSION_2_0", glVertexAttrib4d },
14619   { "glVertexAttrib4dARB", "GL_ARB_vertex_program", glVertexAttrib4dARB },
14620   { "glVertexAttrib4dNV", "GL_NV_vertex_program", glVertexAttrib4dNV },
14621   { "glVertexAttrib4dv", "GL_VERSION_2_0", glVertexAttrib4dv },
14622   { "glVertexAttrib4dvARB", "GL_ARB_vertex_program", glVertexAttrib4dvARB },
14623   { "glVertexAttrib4dvNV", "GL_NV_vertex_program", glVertexAttrib4dvNV },
14624   { "glVertexAttrib4f", "GL_VERSION_2_0", glVertexAttrib4f },
14625   { "glVertexAttrib4fARB", "GL_ARB_vertex_program", glVertexAttrib4fARB },
14626   { "glVertexAttrib4fNV", "GL_NV_vertex_program", glVertexAttrib4fNV },
14627   { "glVertexAttrib4fv", "GL_VERSION_2_0", glVertexAttrib4fv },
14628   { "glVertexAttrib4fvARB", "GL_ARB_vertex_program", glVertexAttrib4fvARB },
14629   { "glVertexAttrib4fvNV", "GL_NV_vertex_program", glVertexAttrib4fvNV },
14630   { "glVertexAttrib4hNV", "GL_NV_half_float", glVertexAttrib4hNV },
14631   { "glVertexAttrib4hvNV", "GL_NV_half_float", glVertexAttrib4hvNV },
14632   { "glVertexAttrib4iv", "GL_VERSION_2_0", glVertexAttrib4iv },
14633   { "glVertexAttrib4ivARB", "GL_ARB_vertex_program", glVertexAttrib4ivARB },
14634   { "glVertexAttrib4s", "GL_VERSION_2_0", glVertexAttrib4s },
14635   { "glVertexAttrib4sARB", "GL_ARB_vertex_program", glVertexAttrib4sARB },
14636   { "glVertexAttrib4sNV", "GL_NV_vertex_program", glVertexAttrib4sNV },
14637   { "glVertexAttrib4sv", "GL_VERSION_2_0", glVertexAttrib4sv },
14638   { "glVertexAttrib4svARB", "GL_ARB_vertex_program", glVertexAttrib4svARB },
14639   { "glVertexAttrib4svNV", "GL_NV_vertex_program", glVertexAttrib4svNV },
14640   { "glVertexAttrib4ubNV", "GL_NV_vertex_program", glVertexAttrib4ubNV },
14641   { "glVertexAttrib4ubv", "GL_VERSION_2_0", glVertexAttrib4ubv },
14642   { "glVertexAttrib4ubvARB", "GL_ARB_vertex_program", glVertexAttrib4ubvARB },
14643   { "glVertexAttrib4ubvNV", "GL_NV_vertex_program", glVertexAttrib4ubvNV },
14644   { "glVertexAttrib4uiv", "GL_VERSION_2_0", glVertexAttrib4uiv },
14645   { "glVertexAttrib4uivARB", "GL_ARB_vertex_program", glVertexAttrib4uivARB },
14646   { "glVertexAttrib4usv", "GL_VERSION_2_0", glVertexAttrib4usv },
14647   { "glVertexAttrib4usvARB", "GL_ARB_vertex_program", glVertexAttrib4usvARB },
14648   { "glVertexAttribArrayObjectATI", "GL_ATI_vertex_attrib_array_object", glVertexAttribArrayObjectATI },
14649   { "glVertexAttribBinding", "GL_ARB_vertex_attrib_binding", glVertexAttribBinding },
14650   { "glVertexAttribDivisor", "GL_VERSION_3_3", glVertexAttribDivisor },
14651   { "glVertexAttribDivisorARB", "GL_ARB_instanced_arrays", glVertexAttribDivisorARB },
14652   { "glVertexAttribFormat", "GL_ARB_vertex_attrib_binding", glVertexAttribFormat },
14653   { "glVertexAttribFormatNV", "GL_NV_vertex_buffer_unified_memory", glVertexAttribFormatNV },
14654   { "glVertexAttribI1i", "GL_VERSION_3_0", glVertexAttribI1i },
14655   { "glVertexAttribI1iEXT", "GL_NV_vertex_program4", glVertexAttribI1iEXT },
14656   { "glVertexAttribI1iv", "GL_VERSION_3_0", glVertexAttribI1iv },
14657   { "glVertexAttribI1ivEXT", "GL_NV_vertex_program4", glVertexAttribI1ivEXT },
14658   { "glVertexAttribI1ui", "GL_VERSION_3_0", glVertexAttribI1ui },
14659   { "glVertexAttribI1uiEXT", "GL_NV_vertex_program4", glVertexAttribI1uiEXT },
14660   { "glVertexAttribI1uiv", "GL_VERSION_3_0", glVertexAttribI1uiv },
14661   { "glVertexAttribI1uivEXT", "GL_NV_vertex_program4", glVertexAttribI1uivEXT },
14662   { "glVertexAttribI2i", "GL_VERSION_3_0", glVertexAttribI2i },
14663   { "glVertexAttribI2iEXT", "GL_NV_vertex_program4", glVertexAttribI2iEXT },
14664   { "glVertexAttribI2iv", "GL_VERSION_3_0", glVertexAttribI2iv },
14665   { "glVertexAttribI2ivEXT", "GL_NV_vertex_program4", glVertexAttribI2ivEXT },
14666   { "glVertexAttribI2ui", "GL_VERSION_3_0", glVertexAttribI2ui },
14667   { "glVertexAttribI2uiEXT", "GL_NV_vertex_program4", glVertexAttribI2uiEXT },
14668   { "glVertexAttribI2uiv", "GL_VERSION_3_0", glVertexAttribI2uiv },
14669   { "glVertexAttribI2uivEXT", "GL_NV_vertex_program4", glVertexAttribI2uivEXT },
14670   { "glVertexAttribI3i", "GL_VERSION_3_0", glVertexAttribI3i },
14671   { "glVertexAttribI3iEXT", "GL_NV_vertex_program4", glVertexAttribI3iEXT },
14672   { "glVertexAttribI3iv", "GL_VERSION_3_0", glVertexAttribI3iv },
14673   { "glVertexAttribI3ivEXT", "GL_NV_vertex_program4", glVertexAttribI3ivEXT },
14674   { "glVertexAttribI3ui", "GL_VERSION_3_0", glVertexAttribI3ui },
14675   { "glVertexAttribI3uiEXT", "GL_NV_vertex_program4", glVertexAttribI3uiEXT },
14676   { "glVertexAttribI3uiv", "GL_VERSION_3_0", glVertexAttribI3uiv },
14677   { "glVertexAttribI3uivEXT", "GL_NV_vertex_program4", glVertexAttribI3uivEXT },
14678   { "glVertexAttribI4bv", "GL_VERSION_3_0", glVertexAttribI4bv },
14679   { "glVertexAttribI4bvEXT", "GL_NV_vertex_program4", glVertexAttribI4bvEXT },
14680   { "glVertexAttribI4i", "GL_VERSION_3_0", glVertexAttribI4i },
14681   { "glVertexAttribI4iEXT", "GL_NV_vertex_program4", glVertexAttribI4iEXT },
14682   { "glVertexAttribI4iv", "GL_VERSION_3_0", glVertexAttribI4iv },
14683   { "glVertexAttribI4ivEXT", "GL_NV_vertex_program4", glVertexAttribI4ivEXT },
14684   { "glVertexAttribI4sv", "GL_VERSION_3_0", glVertexAttribI4sv },
14685   { "glVertexAttribI4svEXT", "GL_NV_vertex_program4", glVertexAttribI4svEXT },
14686   { "glVertexAttribI4ubv", "GL_VERSION_3_0", glVertexAttribI4ubv },
14687   { "glVertexAttribI4ubvEXT", "GL_NV_vertex_program4", glVertexAttribI4ubvEXT },
14688   { "glVertexAttribI4ui", "GL_VERSION_3_0", glVertexAttribI4ui },
14689   { "glVertexAttribI4uiEXT", "GL_NV_vertex_program4", glVertexAttribI4uiEXT },
14690   { "glVertexAttribI4uiv", "GL_VERSION_3_0", glVertexAttribI4uiv },
14691   { "glVertexAttribI4uivEXT", "GL_NV_vertex_program4", glVertexAttribI4uivEXT },
14692   { "glVertexAttribI4usv", "GL_VERSION_3_0", glVertexAttribI4usv },
14693   { "glVertexAttribI4usvEXT", "GL_NV_vertex_program4", glVertexAttribI4usvEXT },
14694   { "glVertexAttribIFormat", "GL_ARB_vertex_attrib_binding", glVertexAttribIFormat },
14695   { "glVertexAttribIFormatNV", "GL_NV_vertex_buffer_unified_memory", glVertexAttribIFormatNV },
14696   { "glVertexAttribIPointer", "GL_VERSION_3_0", glVertexAttribIPointer },
14697   { "glVertexAttribIPointerEXT", "GL_NV_vertex_program4", glVertexAttribIPointerEXT },
14698   { "glVertexAttribL1d", "GL_ARB_vertex_attrib_64bit", glVertexAttribL1d },
14699   { "glVertexAttribL1dEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL1dEXT },
14700   { "glVertexAttribL1dv", "GL_ARB_vertex_attrib_64bit", glVertexAttribL1dv },
14701   { "glVertexAttribL1dvEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL1dvEXT },
14702   { "glVertexAttribL1i64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL1i64NV },
14703   { "glVertexAttribL1i64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL1i64vNV },
14704   { "glVertexAttribL1ui64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL1ui64NV },
14705   { "glVertexAttribL1ui64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL1ui64vNV },
14706   { "glVertexAttribL2d", "GL_ARB_vertex_attrib_64bit", glVertexAttribL2d },
14707   { "glVertexAttribL2dEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL2dEXT },
14708   { "glVertexAttribL2dv", "GL_ARB_vertex_attrib_64bit", glVertexAttribL2dv },
14709   { "glVertexAttribL2dvEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL2dvEXT },
14710   { "glVertexAttribL2i64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL2i64NV },
14711   { "glVertexAttribL2i64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL2i64vNV },
14712   { "glVertexAttribL2ui64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL2ui64NV },
14713   { "glVertexAttribL2ui64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL2ui64vNV },
14714   { "glVertexAttribL3d", "GL_ARB_vertex_attrib_64bit", glVertexAttribL3d },
14715   { "glVertexAttribL3dEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL3dEXT },
14716   { "glVertexAttribL3dv", "GL_ARB_vertex_attrib_64bit", glVertexAttribL3dv },
14717   { "glVertexAttribL3dvEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL3dvEXT },
14718   { "glVertexAttribL3i64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL3i64NV },
14719   { "glVertexAttribL3i64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL3i64vNV },
14720   { "glVertexAttribL3ui64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL3ui64NV },
14721   { "glVertexAttribL3ui64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL3ui64vNV },
14722   { "glVertexAttribL4d", "GL_ARB_vertex_attrib_64bit", glVertexAttribL4d },
14723   { "glVertexAttribL4dEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL4dEXT },
14724   { "glVertexAttribL4dv", "GL_ARB_vertex_attrib_64bit", glVertexAttribL4dv },
14725   { "glVertexAttribL4dvEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribL4dvEXT },
14726   { "glVertexAttribL4i64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL4i64NV },
14727   { "glVertexAttribL4i64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL4i64vNV },
14728   { "glVertexAttribL4ui64NV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL4ui64NV },
14729   { "glVertexAttribL4ui64vNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribL4ui64vNV },
14730   { "glVertexAttribLFormat", "GL_ARB_vertex_attrib_binding", glVertexAttribLFormat },
14731   { "glVertexAttribLFormatNV", "GL_NV_vertex_attrib_integer_64bit", glVertexAttribLFormatNV },
14732   { "glVertexAttribLPointer", "GL_ARB_vertex_attrib_64bit", glVertexAttribLPointer },
14733   { "glVertexAttribLPointerEXT", "GL_EXT_vertex_attrib_64bit", glVertexAttribLPointerEXT },
14734   { "glVertexAttribP1ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP1ui },
14735   { "glVertexAttribP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP1uiv },
14736   { "glVertexAttribP2ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP2ui },
14737   { "glVertexAttribP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP2uiv },
14738   { "glVertexAttribP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP3ui },
14739   { "glVertexAttribP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP3uiv },
14740   { "glVertexAttribP4ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP4ui },
14741   { "glVertexAttribP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexAttribP4uiv },
14742   { "glVertexAttribPointer", "GL_VERSION_2_0", glVertexAttribPointer },
14743   { "glVertexAttribPointerARB", "GL_ARB_vertex_program", glVertexAttribPointerARB },
14744   { "glVertexAttribPointerNV", "GL_NV_vertex_program", glVertexAttribPointerNV },
14745   { "glVertexAttribs1dvNV", "GL_NV_vertex_program", glVertexAttribs1dvNV },
14746   { "glVertexAttribs1fvNV", "GL_NV_vertex_program", glVertexAttribs1fvNV },
14747   { "glVertexAttribs1hvNV", "GL_NV_half_float", glVertexAttribs1hvNV },
14748   { "glVertexAttribs1svNV", "GL_NV_vertex_program", glVertexAttribs1svNV },
14749   { "glVertexAttribs2dvNV", "GL_NV_vertex_program", glVertexAttribs2dvNV },
14750   { "glVertexAttribs2fvNV", "GL_NV_vertex_program", glVertexAttribs2fvNV },
14751   { "glVertexAttribs2hvNV", "GL_NV_half_float", glVertexAttribs2hvNV },
14752   { "glVertexAttribs2svNV", "GL_NV_vertex_program", glVertexAttribs2svNV },
14753   { "glVertexAttribs3dvNV", "GL_NV_vertex_program", glVertexAttribs3dvNV },
14754   { "glVertexAttribs3fvNV", "GL_NV_vertex_program", glVertexAttribs3fvNV },
14755   { "glVertexAttribs3hvNV", "GL_NV_half_float", glVertexAttribs3hvNV },
14756   { "glVertexAttribs3svNV", "GL_NV_vertex_program", glVertexAttribs3svNV },
14757   { "glVertexAttribs4dvNV", "GL_NV_vertex_program", glVertexAttribs4dvNV },
14758   { "glVertexAttribs4fvNV", "GL_NV_vertex_program", glVertexAttribs4fvNV },
14759   { "glVertexAttribs4hvNV", "GL_NV_half_float", glVertexAttribs4hvNV },
14760   { "glVertexAttribs4svNV", "GL_NV_vertex_program", glVertexAttribs4svNV },
14761   { "glVertexAttribs4ubvNV", "GL_NV_vertex_program", glVertexAttribs4ubvNV },
14762   { "glVertexBindingDivisor", "GL_ARB_vertex_attrib_binding", glVertexBindingDivisor },
14763   { "glVertexBlendARB", "GL_ARB_vertex_blend", glVertexBlendARB },
14764   { "glVertexBlendEnvfATI", "GL_ATI_vertex_streams", glVertexBlendEnvfATI },
14765   { "glVertexBlendEnviATI", "GL_ATI_vertex_streams", glVertexBlendEnviATI },
14766   { "glVertexFormatNV", "GL_NV_vertex_buffer_unified_memory", glVertexFormatNV },
14767   { "glVertexP2ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP2ui },
14768   { "glVertexP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP2uiv },
14769   { "glVertexP3ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP3ui },
14770   { "glVertexP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP3uiv },
14771   { "glVertexP4ui", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP4ui },
14772   { "glVertexP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev", glVertexP4uiv },
14773   { "glVertexPointerEXT", "GL_EXT_vertex_array", glVertexPointerEXT },
14774   { "glVertexPointerListIBM", "GL_IBM_vertex_array_lists", glVertexPointerListIBM },
14775   { "glVertexPointervINTEL", "GL_INTEL_parallel_arrays", glVertexPointervINTEL },
14776   { "glVertexStream1dATI", "GL_ATI_vertex_streams", glVertexStream1dATI },
14777   { "glVertexStream1dvATI", "GL_ATI_vertex_streams", glVertexStream1dvATI },
14778   { "glVertexStream1fATI", "GL_ATI_vertex_streams", glVertexStream1fATI },
14779   { "glVertexStream1fvATI", "GL_ATI_vertex_streams", glVertexStream1fvATI },
14780   { "glVertexStream1iATI", "GL_ATI_vertex_streams", glVertexStream1iATI },
14781   { "glVertexStream1ivATI", "GL_ATI_vertex_streams", glVertexStream1ivATI },
14782   { "glVertexStream1sATI", "GL_ATI_vertex_streams", glVertexStream1sATI },
14783   { "glVertexStream1svATI", "GL_ATI_vertex_streams", glVertexStream1svATI },
14784   { "glVertexStream2dATI", "GL_ATI_vertex_streams", glVertexStream2dATI },
14785   { "glVertexStream2dvATI", "GL_ATI_vertex_streams", glVertexStream2dvATI },
14786   { "glVertexStream2fATI", "GL_ATI_vertex_streams", glVertexStream2fATI },
14787   { "glVertexStream2fvATI", "GL_ATI_vertex_streams", glVertexStream2fvATI },
14788   { "glVertexStream2iATI", "GL_ATI_vertex_streams", glVertexStream2iATI },
14789   { "glVertexStream2ivATI", "GL_ATI_vertex_streams", glVertexStream2ivATI },
14790   { "glVertexStream2sATI", "GL_ATI_vertex_streams", glVertexStream2sATI },
14791   { "glVertexStream2svATI", "GL_ATI_vertex_streams", glVertexStream2svATI },
14792   { "glVertexStream3dATI", "GL_ATI_vertex_streams", glVertexStream3dATI },
14793   { "glVertexStream3dvATI", "GL_ATI_vertex_streams", glVertexStream3dvATI },
14794   { "glVertexStream3fATI", "GL_ATI_vertex_streams", glVertexStream3fATI },
14795   { "glVertexStream3fvATI", "GL_ATI_vertex_streams", glVertexStream3fvATI },
14796   { "glVertexStream3iATI", "GL_ATI_vertex_streams", glVertexStream3iATI },
14797   { "glVertexStream3ivATI", "GL_ATI_vertex_streams", glVertexStream3ivATI },
14798   { "glVertexStream3sATI", "GL_ATI_vertex_streams", glVertexStream3sATI },
14799   { "glVertexStream3svATI", "GL_ATI_vertex_streams", glVertexStream3svATI },
14800   { "glVertexStream4dATI", "GL_ATI_vertex_streams", glVertexStream4dATI },
14801   { "glVertexStream4dvATI", "GL_ATI_vertex_streams", glVertexStream4dvATI },
14802   { "glVertexStream4fATI", "GL_ATI_vertex_streams", glVertexStream4fATI },
14803   { "glVertexStream4fvATI", "GL_ATI_vertex_streams", glVertexStream4fvATI },
14804   { "glVertexStream4iATI", "GL_ATI_vertex_streams", glVertexStream4iATI },
14805   { "glVertexStream4ivATI", "GL_ATI_vertex_streams", glVertexStream4ivATI },
14806   { "glVertexStream4sATI", "GL_ATI_vertex_streams", glVertexStream4sATI },
14807   { "glVertexStream4svATI", "GL_ATI_vertex_streams", glVertexStream4svATI },
14808   { "glVertexWeightPointerEXT", "GL_EXT_vertex_weighting", glVertexWeightPointerEXT },
14809   { "glVertexWeightfEXT", "GL_EXT_vertex_weighting", glVertexWeightfEXT },
14810   { "glVertexWeightfvEXT", "GL_EXT_vertex_weighting", glVertexWeightfvEXT },
14811   { "glVertexWeighthNV", "GL_NV_half_float", glVertexWeighthNV },
14812   { "glVertexWeighthvNV", "GL_NV_half_float", glVertexWeighthvNV },
14813   { "glVideoCaptureNV", "GL_NV_video_capture", glVideoCaptureNV },
14814   { "glVideoCaptureStreamParameterdvNV", "GL_NV_video_capture", glVideoCaptureStreamParameterdvNV },
14815   { "glVideoCaptureStreamParameterfvNV", "GL_NV_video_capture", glVideoCaptureStreamParameterfvNV },
14816   { "glVideoCaptureStreamParameterivNV", "GL_NV_video_capture", glVideoCaptureStreamParameterivNV },
14817   { "glViewportArrayv", "GL_ARB_viewport_array", glViewportArrayv },
14818   { "glViewportIndexedf", "GL_ARB_viewport_array", glViewportIndexedf },
14819   { "glViewportIndexedfv", "GL_ARB_viewport_array", glViewportIndexedfv },
14820   { "glWaitSync", "GL_ARB_sync", glWaitSync },
14821   { "glWeightPathsNV", "GL_NV_path_rendering", glWeightPathsNV },
14822   { "glWeightPointerARB", "GL_ARB_vertex_blend", glWeightPointerARB },
14823   { "glWeightbvARB", "GL_ARB_vertex_blend", glWeightbvARB },
14824   { "glWeightdvARB", "GL_ARB_vertex_blend", glWeightdvARB },
14825   { "glWeightfvARB", "GL_ARB_vertex_blend", glWeightfvARB },
14826   { "glWeightivARB", "GL_ARB_vertex_blend", glWeightivARB },
14827   { "glWeightsvARB", "GL_ARB_vertex_blend", glWeightsvARB },
14828   { "glWeightubvARB", "GL_ARB_vertex_blend", glWeightubvARB },
14829   { "glWeightuivARB", "GL_ARB_vertex_blend", glWeightuivARB },
14830   { "glWeightusvARB", "GL_ARB_vertex_blend", glWeightusvARB },
14831   { "glWindowPos2d", "GL_VERSION_1_4", glWindowPos2d },
14832   { "glWindowPos2dARB", "GL_ARB_window_pos", glWindowPos2dARB },
14833   { "glWindowPos2dMESA", "GL_MESA_window_pos", glWindowPos2dMESA },
14834   { "glWindowPos2dv", "GL_VERSION_1_4", glWindowPos2dv },
14835   { "glWindowPos2dvARB", "GL_ARB_window_pos", glWindowPos2dvARB },
14836   { "glWindowPos2dvMESA", "GL_MESA_window_pos", glWindowPos2dvMESA },
14837   { "glWindowPos2f", "GL_VERSION_1_4", glWindowPos2f },
14838   { "glWindowPos2fARB", "GL_ARB_window_pos", glWindowPos2fARB },
14839   { "glWindowPos2fMESA", "GL_MESA_window_pos", glWindowPos2fMESA },
14840   { "glWindowPos2fv", "GL_VERSION_1_4", glWindowPos2fv },
14841   { "glWindowPos2fvARB", "GL_ARB_window_pos", glWindowPos2fvARB },
14842   { "glWindowPos2fvMESA", "GL_MESA_window_pos", glWindowPos2fvMESA },
14843   { "glWindowPos2i", "GL_VERSION_1_4", glWindowPos2i },
14844   { "glWindowPos2iARB", "GL_ARB_window_pos", glWindowPos2iARB },
14845   { "glWindowPos2iMESA", "GL_MESA_window_pos", glWindowPos2iMESA },
14846   { "glWindowPos2iv", "GL_VERSION_1_4", glWindowPos2iv },
14847   { "glWindowPos2ivARB", "GL_ARB_window_pos", glWindowPos2ivARB },
14848   { "glWindowPos2ivMESA", "GL_MESA_window_pos", glWindowPos2ivMESA },
14849   { "glWindowPos2s", "GL_VERSION_1_4", glWindowPos2s },
14850   { "glWindowPos2sARB", "GL_ARB_window_pos", glWindowPos2sARB },
14851   { "glWindowPos2sMESA", "GL_MESA_window_pos", glWindowPos2sMESA },
14852   { "glWindowPos2sv", "GL_VERSION_1_4", glWindowPos2sv },
14853   { "glWindowPos2svARB", "GL_ARB_window_pos", glWindowPos2svARB },
14854   { "glWindowPos2svMESA", "GL_MESA_window_pos", glWindowPos2svMESA },
14855   { "glWindowPos3d", "GL_VERSION_1_4", glWindowPos3d },
14856   { "glWindowPos3dARB", "GL_ARB_window_pos", glWindowPos3dARB },
14857   { "glWindowPos3dMESA", "GL_MESA_window_pos", glWindowPos3dMESA },
14858   { "glWindowPos3dv", "GL_VERSION_1_4", glWindowPos3dv },
14859   { "glWindowPos3dvARB", "GL_ARB_window_pos", glWindowPos3dvARB },
14860   { "glWindowPos3dvMESA", "GL_MESA_window_pos", glWindowPos3dvMESA },
14861   { "glWindowPos3f", "GL_VERSION_1_4", glWindowPos3f },
14862   { "glWindowPos3fARB", "GL_ARB_window_pos", glWindowPos3fARB },
14863   { "glWindowPos3fMESA", "GL_MESA_window_pos", glWindowPos3fMESA },
14864   { "glWindowPos3fv", "GL_VERSION_1_4", glWindowPos3fv },
14865   { "glWindowPos3fvARB", "GL_ARB_window_pos", glWindowPos3fvARB },
14866   { "glWindowPos3fvMESA", "GL_MESA_window_pos", glWindowPos3fvMESA },
14867   { "glWindowPos3i", "GL_VERSION_1_4", glWindowPos3i },
14868   { "glWindowPos3iARB", "GL_ARB_window_pos", glWindowPos3iARB },
14869   { "glWindowPos3iMESA", "GL_MESA_window_pos", glWindowPos3iMESA },
14870   { "glWindowPos3iv", "GL_VERSION_1_4", glWindowPos3iv },
14871   { "glWindowPos3ivARB", "GL_ARB_window_pos", glWindowPos3ivARB },
14872   { "glWindowPos3ivMESA", "GL_MESA_window_pos", glWindowPos3ivMESA },
14873   { "glWindowPos3s", "GL_VERSION_1_4", glWindowPos3s },
14874   { "glWindowPos3sARB", "GL_ARB_window_pos", glWindowPos3sARB },
14875   { "glWindowPos3sMESA", "GL_MESA_window_pos", glWindowPos3sMESA },
14876   { "glWindowPos3sv", "GL_VERSION_1_4", glWindowPos3sv },
14877   { "glWindowPos3svARB", "GL_ARB_window_pos", glWindowPos3svARB },
14878   { "glWindowPos3svMESA", "GL_MESA_window_pos", glWindowPos3svMESA },
14879   { "glWindowPos4dMESA", "GL_MESA_window_pos", glWindowPos4dMESA },
14880   { "glWindowPos4dvMESA", "GL_MESA_window_pos", glWindowPos4dvMESA },
14881   { "glWindowPos4fMESA", "GL_MESA_window_pos", glWindowPos4fMESA },
14882   { "glWindowPos4fvMESA", "GL_MESA_window_pos", glWindowPos4fvMESA },
14883   { "glWindowPos4iMESA", "GL_MESA_window_pos", glWindowPos4iMESA },
14884   { "glWindowPos4ivMESA", "GL_MESA_window_pos", glWindowPos4ivMESA },
14885   { "glWindowPos4sMESA", "GL_MESA_window_pos", glWindowPos4sMESA },
14886   { "glWindowPos4svMESA", "GL_MESA_window_pos", glWindowPos4svMESA },
14887   { "glWriteMaskEXT", "GL_EXT_vertex_shader", glWriteMaskEXT },
14888   { "wglAllocateMemoryNV", "WGL_NV_vertex_array_range", wglAllocateMemoryNV },
14889   { "wglBindTexImageARB", "WGL_ARB_render_texture", wglBindTexImageARB },
14890   { "wglChoosePixelFormatARB", "WGL_ARB_pixel_format", wglChoosePixelFormatARB },
14891   { "wglCreateContextAttribsARB", "WGL_ARB_create_context", wglCreateContextAttribsARB },
14892   { "wglCreatePbufferARB", "WGL_ARB_pbuffer", wglCreatePbufferARB },
14893   { "wglDestroyPbufferARB", "WGL_ARB_pbuffer", wglDestroyPbufferARB },
14894   { "wglFreeMemoryNV", "WGL_NV_vertex_array_range", wglFreeMemoryNV },
14895   { "wglGetCurrentReadDCARB", "WGL_ARB_make_current_read", wglGetCurrentReadDCARB },
14896   { "wglGetExtensionsStringARB", "WGL_ARB_extensions_string", wglGetExtensionsStringARB },
14897   { "wglGetExtensionsStringEXT", "WGL_EXT_extensions_string", wglGetExtensionsStringEXT },
14898   { "wglGetPbufferDCARB", "WGL_ARB_pbuffer", wglGetPbufferDCARB },
14899   { "wglGetPixelFormatAttribfvARB", "WGL_ARB_pixel_format", wglGetPixelFormatAttribfvARB },
14900   { "wglGetPixelFormatAttribivARB", "WGL_ARB_pixel_format", wglGetPixelFormatAttribivARB },
14901   { "wglGetSwapIntervalEXT", "WGL_EXT_swap_control", wglGetSwapIntervalEXT },
14902   { "wglMakeContextCurrentARB", "WGL_ARB_make_current_read", wglMakeContextCurrentARB },
14903   { "wglQueryPbufferARB", "WGL_ARB_pbuffer", wglQueryPbufferARB },
14904   { "wglReleasePbufferDCARB", "WGL_ARB_pbuffer", wglReleasePbufferDCARB },
14905   { "wglReleaseTexImageARB", "WGL_ARB_render_texture", wglReleaseTexImageARB },
14906   { "wglSetPbufferAttribARB", "WGL_ARB_render_texture", wglSetPbufferAttribARB },
14907   { "wglSetPixelFormatWINE", "WGL_WINE_pixel_format_passthrough", wglSetPixelFormatWINE },
14908   { "wglSwapIntervalEXT", "WGL_EXT_swap_control", wglSwapIntervalEXT }
14909 };