wined3d: Move shader limits to wined3d_d3d_info.
[wine] / dlls / wined3d / wined3d_gl.h
1 /*
2  * Direct3D wine OpenGL include file
3  *
4  * Copyright 2002-2003 The wine-d3d team
5  * Copyright 2002-2004 Jason Edmeades
6  *                     Raphael Junqueira
7  * Copyright 2007 Roderick Colenbrander
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23
24 #ifndef __WINE_WINED3D_GL_H
25 #define __WINE_WINED3D_GL_H
26
27 #include "wine/wgl.h"
28
29 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837  /* not in the gl spec */
30
31 void (WINE_GLAPI *glDisableWINE)(GLenum cap) DECLSPEC_HIDDEN;
32 void (WINE_GLAPI *glEnableWINE)(GLenum cap) DECLSPEC_HIDDEN;
33
34 /* OpenGL extensions. */
35 enum wined3d_gl_extension
36 {
37     WINED3D_GL_EXT_NONE,
38
39     /* APPLE */
40     APPLE_CLIENT_STORAGE,
41     APPLE_FENCE,
42     APPLE_FLOAT_PIXELS,
43     APPLE_FLUSH_BUFFER_RANGE,
44     APPLE_YCBCR_422,
45     /* ARB */
46     ARB_COLOR_BUFFER_FLOAT,
47     ARB_DEBUG_OUTPUT,
48     ARB_DEPTH_BUFFER_FLOAT,
49     ARB_DEPTH_CLAMP,
50     ARB_DEPTH_TEXTURE,
51     ARB_DRAW_BUFFERS,
52     ARB_DRAW_ELEMENTS_BASE_VERTEX,
53     ARB_DRAW_INSTANCED,
54     ARB_FRAGMENT_PROGRAM,
55     ARB_FRAGMENT_SHADER,
56     ARB_FRAMEBUFFER_OBJECT,
57     ARB_FRAMEBUFFER_SRGB,
58     ARB_GEOMETRY_SHADER4,
59     ARB_HALF_FLOAT_PIXEL,
60     ARB_HALF_FLOAT_VERTEX,
61     ARB_INSTANCED_ARRAYS,
62     ARB_INTERNALFORMAT_QUERY2,
63     ARB_MAP_BUFFER_ALIGNMENT,
64     ARB_MAP_BUFFER_RANGE,
65     ARB_MULTISAMPLE,
66     ARB_MULTITEXTURE,
67     ARB_OCCLUSION_QUERY,
68     ARB_PIXEL_BUFFER_OBJECT,
69     ARB_POINT_PARAMETERS,
70     ARB_POINT_SPRITE,
71     ARB_PROVOKING_VERTEX,
72     ARB_SHADER_BIT_ENCODING,
73     ARB_SHADER_OBJECTS,
74     ARB_SHADER_TEXTURE_LOD,
75     ARB_SHADING_LANGUAGE_100,
76     ARB_SHADOW,
77     ARB_SYNC,
78     ARB_TEXTURE_BORDER_CLAMP,
79     ARB_TEXTURE_COMPRESSION,
80     ARB_TEXTURE_COMPRESSION_RGTC,
81     ARB_TEXTURE_CUBE_MAP,
82     ARB_TEXTURE_ENV_ADD,
83     ARB_TEXTURE_ENV_COMBINE,
84     ARB_TEXTURE_ENV_DOT3,
85     ARB_TEXTURE_FLOAT,
86     ARB_TEXTURE_MIRRORED_REPEAT,
87     ARB_TEXTURE_NON_POWER_OF_TWO,
88     ARB_TEXTURE_RECTANGLE,
89     ARB_TEXTURE_RG,
90     ARB_VERTEX_ARRAY_BGRA,
91     ARB_VERTEX_BLEND,
92     ARB_VERTEX_BUFFER_OBJECT,
93     ARB_VERTEX_PROGRAM,
94     ARB_VERTEX_SHADER,
95     /* ATI */
96     ATI_FRAGMENT_SHADER,
97     ATI_SEPARATE_STENCIL,
98     ATI_TEXTURE_COMPRESSION_3DC,
99     ATI_TEXTURE_ENV_COMBINE3,
100     ATI_TEXTURE_MIRROR_ONCE,
101     /* EXT */
102     EXT_BLEND_COLOR,
103     EXT_BLEND_EQUATION_SEPARATE,
104     EXT_BLEND_FUNC_SEPARATE,
105     EXT_BLEND_MINMAX,
106     EXT_BLEND_SUBTRACT,
107     EXT_DRAW_BUFFERS2,
108     EXT_DEPTH_BOUNDS_TEST,
109     EXT_FOG_COORD,
110     EXT_FRAMEBUFFER_BLIT,
111     EXT_FRAMEBUFFER_MULTISAMPLE,
112     EXT_FRAMEBUFFER_OBJECT,
113     EXT_GPU_PROGRAM_PARAMETERS,
114     EXT_GPU_SHADER4,
115     EXT_PACKED_DEPTH_STENCIL,
116     EXT_PALETTED_TEXTURE,
117     EXT_POINT_PARAMETERS,
118     EXT_PROVOKING_VERTEX,
119     EXT_SECONDARY_COLOR,
120     EXT_STENCIL_TWO_SIDE,
121     EXT_STENCIL_WRAP,
122     EXT_TEXTURE3D,
123     EXT_TEXTURE_COMPRESSION_RGTC,
124     EXT_TEXTURE_COMPRESSION_S3TC,
125     EXT_TEXTURE_ENV_ADD,
126     EXT_TEXTURE_ENV_COMBINE,
127     EXT_TEXTURE_ENV_DOT3,
128     EXT_TEXTURE_FILTER_ANISOTROPIC,
129     EXT_TEXTURE_LOD_BIAS,
130     EXT_TEXTURE_SRGB,
131     EXT_TEXTURE_SRGB_DECODE,
132     EXT_VERTEX_ARRAY_BGRA,
133     /* NVIDIA */
134     NV_DEPTH_CLAMP,
135     NV_FENCE,
136     NV_FOG_DISTANCE,
137     NV_FRAGMENT_PROGRAM,
138     NV_FRAGMENT_PROGRAM2,
139     NV_FRAGMENT_PROGRAM_OPTION,
140     NV_HALF_FLOAT,
141     NV_LIGHT_MAX_EXPONENT,
142     NV_POINT_SPRITE,
143     NV_REGISTER_COMBINERS,
144     NV_REGISTER_COMBINERS2,
145     NV_TEXGEN_REFLECTION,
146     NV_TEXTURE_ENV_COMBINE4,
147     NV_TEXTURE_SHADER,
148     NV_TEXTURE_SHADER2,
149     NV_VERTEX_PROGRAM,
150     NV_VERTEX_PROGRAM1_1,
151     NV_VERTEX_PROGRAM2,
152     NV_VERTEX_PROGRAM2_OPTION,
153     NV_VERTEX_PROGRAM3,
154     /* SGI */
155     SGIS_GENERATE_MIPMAP,
156     /* WGL extensions */
157     WGL_ARB_PIXEL_FORMAT,
158     WGL_EXT_SWAP_CONTROL,
159     WGL_WINE_PIXEL_FORMAT_PASSTHROUGH,
160     /* Internally used */
161     WINED3D_GL_NORMALIZED_TEXRECT,
162     WINED3D_GL_VERSION_2_0,
163
164     WINED3D_GL_EXT_COUNT,
165 };
166
167 #include "wine/wglext.h"
168
169 #define GL_EXT_FUNCS_GEN \
170     /* GL_APPLE_fence */ \
171     USE_GL_FUNC(glDeleteFencesAPPLE) \
172     USE_GL_FUNC(glFinishFenceAPPLE) \
173     USE_GL_FUNC(glFinishObjectAPPLE) \
174     USE_GL_FUNC(glGenFencesAPPLE) \
175     USE_GL_FUNC(glIsFenceAPPLE) \
176     USE_GL_FUNC(glSetFenceAPPLE) \
177     USE_GL_FUNC(glTestFenceAPPLE) \
178     USE_GL_FUNC(glTestObjectAPPLE) \
179     /* GL_APPLE_flush_buffer_range */ \
180     USE_GL_FUNC(glBufferParameteriAPPLE) \
181     USE_GL_FUNC(glFlushMappedBufferRangeAPPLE) \
182     /* GL_ARB_color_buffer_float */ \
183     USE_GL_FUNC(glClampColorARB) \
184     /* GL_ARB_debug_output */ \
185     USE_GL_FUNC(glDebugMessageCallbackARB) \
186     USE_GL_FUNC(glDebugMessageControlARB) \
187     USE_GL_FUNC(glDebugMessageInsertARB) \
188     USE_GL_FUNC(glGetDebugMessageLogARB) \
189     /* GL_ARB_draw_buffers */ \
190     USE_GL_FUNC(glDrawBuffersARB) \
191     /* GL_ARB_draw_elements_base_vertex */ \
192     USE_GL_FUNC(glDrawElementsBaseVertex) \
193     USE_GL_FUNC(glDrawElementsInstancedBaseVertex) \
194     USE_GL_FUNC(glDrawRangeElementsBaseVertex) \
195     USE_GL_FUNC(glMultiDrawElementsBaseVertex) \
196     /* GL_ARB_draw_instanced */ \
197     USE_GL_FUNC(glDrawArraysInstancedARB) \
198     USE_GL_FUNC(glDrawElementsInstancedARB) \
199     /* GL_ARB_framebuffer_object */ \
200     USE_GL_FUNC(glBindFramebuffer) \
201     USE_GL_FUNC(glBindRenderbuffer) \
202     USE_GL_FUNC(glBlitFramebuffer) \
203     USE_GL_FUNC(glCheckFramebufferStatus) \
204     USE_GL_FUNC(glDeleteFramebuffers) \
205     USE_GL_FUNC(glDeleteRenderbuffers) \
206     USE_GL_FUNC(glFramebufferRenderbuffer) \
207     USE_GL_FUNC(glFramebufferTexture1D) \
208     USE_GL_FUNC(glFramebufferTexture2D) \
209     USE_GL_FUNC(glFramebufferTexture3D) \
210     USE_GL_FUNC(glFramebufferTextureLayer) \
211     USE_GL_FUNC(glGenFramebuffers) \
212     USE_GL_FUNC(glGenRenderbuffers) \
213     USE_GL_FUNC(glGenerateMipmap) \
214     USE_GL_FUNC(glGetFramebufferAttachmentParameteriv) \
215     USE_GL_FUNC(glGetRenderbufferParameteriv) \
216     USE_GL_FUNC(glIsFramebuffer) \
217     USE_GL_FUNC(glIsRenderbuffer) \
218     USE_GL_FUNC(glRenderbufferStorage) \
219     USE_GL_FUNC(glRenderbufferStorageMultisample) \
220     /* GL_ARB_geometry_shader4 */ \
221     USE_GL_FUNC(glFramebufferTextureARB) \
222     USE_GL_FUNC(glFramebufferTextureFaceARB) \
223     USE_GL_FUNC(glFramebufferTextureLayerARB) \
224     USE_GL_FUNC(glProgramParameteriARB) \
225     /* GL_ARB_instanced_arrays */ \
226     USE_GL_FUNC(glVertexAttribDivisorARB) \
227     /* GL_ARB_internalformat_query */ \
228     USE_GL_FUNC(glGetInternalformativ) \
229     /* GL_ARB_internalformat_query2 */ \
230     USE_GL_FUNC(glGetInternalformati64v) \
231     /* GL_ARB_map_buffer_range */ \
232     USE_GL_FUNC(glFlushMappedBufferRange) \
233     USE_GL_FUNC(glMapBufferRange) \
234     /* GL_ARB_multisample */ \
235     USE_GL_FUNC(glSampleCoverageARB) \
236     /* GL_ARB_multitexture */ \
237     USE_GL_FUNC(glActiveTextureARB) \
238     USE_GL_FUNC(glClientActiveTextureARB) \
239     USE_GL_FUNC(glMultiTexCoord1fARB) \
240     USE_GL_FUNC(glMultiTexCoord1fvARB) \
241     USE_GL_FUNC(glMultiTexCoord2fARB) \
242     USE_GL_FUNC(glMultiTexCoord2fvARB) \
243     USE_GL_FUNC(glMultiTexCoord2svARB) \
244     USE_GL_FUNC(glMultiTexCoord3fARB) \
245     USE_GL_FUNC(glMultiTexCoord3fvARB) \
246     USE_GL_FUNC(glMultiTexCoord4fARB) \
247     USE_GL_FUNC(glMultiTexCoord4fvARB) \
248     USE_GL_FUNC(glMultiTexCoord4svARB) \
249     /* GL_ARB_occlusion_query */ \
250     USE_GL_FUNC(glBeginQueryARB) \
251     USE_GL_FUNC(glDeleteQueriesARB) \
252     USE_GL_FUNC(glEndQueryARB) \
253     USE_GL_FUNC(glGenQueriesARB) \
254     USE_GL_FUNC(glGetQueryivARB) \
255     USE_GL_FUNC(glGetQueryObjectivARB) \
256     USE_GL_FUNC(glGetQueryObjectuivARB) \
257     USE_GL_FUNC(glIsQueryARB) \
258     /* GL_ARB_point_parameters */ \
259     USE_GL_FUNC(glPointParameterfARB) \
260     USE_GL_FUNC(glPointParameterfvARB) \
261     /* GL_ARB_provoking_vertex */ \
262     USE_GL_FUNC(glProvokingVertex) \
263     /* GL_ARB_shader_objects */ \
264     USE_GL_FUNC(glAttachObjectARB) \
265     USE_GL_FUNC(glBindAttribLocationARB) \
266     USE_GL_FUNC(glCompileShaderARB) \
267     USE_GL_FUNC(glCreateProgramObjectARB) \
268     USE_GL_FUNC(glCreateShaderObjectARB) \
269     USE_GL_FUNC(glDeleteObjectARB) \
270     USE_GL_FUNC(glDetachObjectARB) \
271     USE_GL_FUNC(glGetActiveUniformARB) \
272     USE_GL_FUNC(glGetAttachedObjectsARB) \
273     USE_GL_FUNC(glGetAttribLocationARB) \
274     USE_GL_FUNC(glGetHandleARB) \
275     USE_GL_FUNC(glGetInfoLogARB) \
276     USE_GL_FUNC(glGetObjectParameterfvARB) \
277     USE_GL_FUNC(glGetObjectParameterivARB) \
278     USE_GL_FUNC(glGetShaderSourceARB) \
279     USE_GL_FUNC(glGetUniformLocationARB) \
280     USE_GL_FUNC(glGetUniformfvARB) \
281     USE_GL_FUNC(glGetUniformivARB) \
282     USE_GL_FUNC(glLinkProgramARB) \
283     USE_GL_FUNC(glShaderSourceARB) \
284     USE_GL_FUNC(glUniform1fARB) \
285     USE_GL_FUNC(glUniform1fvARB) \
286     USE_GL_FUNC(glUniform1iARB) \
287     USE_GL_FUNC(glUniform1ivARB) \
288     USE_GL_FUNC(glUniform2fARB) \
289     USE_GL_FUNC(glUniform2fvARB) \
290     USE_GL_FUNC(glUniform2iARB) \
291     USE_GL_FUNC(glUniform2ivARB) \
292     USE_GL_FUNC(glUniform3fARB) \
293     USE_GL_FUNC(glUniform3fvARB) \
294     USE_GL_FUNC(glUniform3iARB) \
295     USE_GL_FUNC(glUniform3ivARB) \
296     USE_GL_FUNC(glUniform4fARB) \
297     USE_GL_FUNC(glUniform4fvARB) \
298     USE_GL_FUNC(glUniform4iARB) \
299     USE_GL_FUNC(glUniform4ivARB) \
300     USE_GL_FUNC(glUniformMatrix2fvARB) \
301     USE_GL_FUNC(glUniformMatrix3fvARB) \
302     USE_GL_FUNC(glUniformMatrix4fvARB) \
303     USE_GL_FUNC(glUseProgramObjectARB) \
304     USE_GL_FUNC(glValidateProgramARB) \
305     /* GL_ARB_sync */ \
306     USE_GL_FUNC(glClientWaitSync) \
307     USE_GL_FUNC(glDeleteSync) \
308     USE_GL_FUNC(glFenceSync) \
309     USE_GL_FUNC(glGetInteger64v) \
310     USE_GL_FUNC(glGetSynciv) \
311     USE_GL_FUNC(glIsSync) \
312     USE_GL_FUNC(glWaitSync) \
313     /* GL_ARB_texture_compression */ \
314     USE_GL_FUNC(glCompressedTexImage2DARB) \
315     USE_GL_FUNC(glCompressedTexImage3DARB) \
316     USE_GL_FUNC(glCompressedTexSubImage2DARB) \
317     USE_GL_FUNC(glCompressedTexSubImage3DARB) \
318     USE_GL_FUNC(glGetCompressedTexImageARB) \
319     /* GL_ARB_vertex_blend */ \
320     USE_GL_FUNC(glVertexBlendARB) \
321     USE_GL_FUNC(glWeightPointerARB) \
322     USE_GL_FUNC(glWeightbvARB) \
323     USE_GL_FUNC(glWeightdvARB) \
324     USE_GL_FUNC(glWeightfvARB) \
325     USE_GL_FUNC(glWeightivARB) \
326     USE_GL_FUNC(glWeightsvARB) \
327     USE_GL_FUNC(glWeightubvARB) \
328     USE_GL_FUNC(glWeightuivARB) \
329     USE_GL_FUNC(glWeightusvARB) \
330     /* GL_ARB_vertex_buffer_object */ \
331     USE_GL_FUNC(glBindBufferARB) \
332     USE_GL_FUNC(glBufferDataARB) \
333     USE_GL_FUNC(glBufferSubDataARB) \
334     USE_GL_FUNC(glDeleteBuffersARB) \
335     USE_GL_FUNC(glGenBuffersARB) \
336     USE_GL_FUNC(glGetBufferParameterivARB) \
337     USE_GL_FUNC(glGetBufferPointervARB) \
338     USE_GL_FUNC(glGetBufferSubDataARB) \
339     USE_GL_FUNC(glIsBufferARB) \
340     USE_GL_FUNC(glMapBufferARB) \
341     USE_GL_FUNC(glUnmapBufferARB) \
342     /* GL_ARB_vertex_program */ \
343     USE_GL_FUNC(glBindProgramARB) \
344     USE_GL_FUNC(glDeleteProgramsARB) \
345     USE_GL_FUNC(glDisableVertexAttribArrayARB) \
346     USE_GL_FUNC(glEnableVertexAttribArrayARB) \
347     USE_GL_FUNC(glGenProgramsARB) \
348     USE_GL_FUNC(glGetProgramivARB) \
349     USE_GL_FUNC(glProgramEnvParameter4fvARB) \
350     USE_GL_FUNC(glProgramLocalParameter4fvARB) \
351     USE_GL_FUNC(glProgramStringARB) \
352     USE_GL_FUNC(glVertexAttrib1dARB) \
353     USE_GL_FUNC(glVertexAttrib1dvARB) \
354     USE_GL_FUNC(glVertexAttrib1fARB) \
355     USE_GL_FUNC(glVertexAttrib1fvARB) \
356     USE_GL_FUNC(glVertexAttrib1sARB) \
357     USE_GL_FUNC(glVertexAttrib1svARB) \
358     USE_GL_FUNC(glVertexAttrib2dARB) \
359     USE_GL_FUNC(glVertexAttrib2dvARB) \
360     USE_GL_FUNC(glVertexAttrib2fARB) \
361     USE_GL_FUNC(glVertexAttrib2fvARB) \
362     USE_GL_FUNC(glVertexAttrib2sARB) \
363     USE_GL_FUNC(glVertexAttrib2svARB) \
364     USE_GL_FUNC(glVertexAttrib3dARB) \
365     USE_GL_FUNC(glVertexAttrib3dvARB) \
366     USE_GL_FUNC(glVertexAttrib3fARB) \
367     USE_GL_FUNC(glVertexAttrib3fvARB) \
368     USE_GL_FUNC(glVertexAttrib3sARB) \
369     USE_GL_FUNC(glVertexAttrib3svARB) \
370     USE_GL_FUNC(glVertexAttrib4NbvARB) \
371     USE_GL_FUNC(glVertexAttrib4NivARB) \
372     USE_GL_FUNC(glVertexAttrib4NsvARB) \
373     USE_GL_FUNC(glVertexAttrib4NubARB) \
374     USE_GL_FUNC(glVertexAttrib4NubvARB) \
375     USE_GL_FUNC(glVertexAttrib4NuivARB) \
376     USE_GL_FUNC(glVertexAttrib4NusvARB) \
377     USE_GL_FUNC(glVertexAttrib4bvARB) \
378     USE_GL_FUNC(glVertexAttrib4dARB) \
379     USE_GL_FUNC(glVertexAttrib4dvARB) \
380     USE_GL_FUNC(glVertexAttrib4fARB) \
381     USE_GL_FUNC(glVertexAttrib4fvARB) \
382     USE_GL_FUNC(glVertexAttrib4ivARB) \
383     USE_GL_FUNC(glVertexAttrib4sARB) \
384     USE_GL_FUNC(glVertexAttrib4svARB) \
385     USE_GL_FUNC(glVertexAttrib4ubvARB) \
386     USE_GL_FUNC(glVertexAttrib4uivARB) \
387     USE_GL_FUNC(glVertexAttrib4usvARB) \
388     USE_GL_FUNC(glVertexAttribPointerARB) \
389     /* GL_ATI_fragment_shader */ \
390     USE_GL_FUNC(glAlphaFragmentOp1ATI) \
391     USE_GL_FUNC(glAlphaFragmentOp2ATI) \
392     USE_GL_FUNC(glAlphaFragmentOp3ATI) \
393     USE_GL_FUNC(glBeginFragmentShaderATI) \
394     USE_GL_FUNC(glBindFragmentShaderATI) \
395     USE_GL_FUNC(glColorFragmentOp1ATI) \
396     USE_GL_FUNC(glColorFragmentOp2ATI) \
397     USE_GL_FUNC(glColorFragmentOp3ATI) \
398     USE_GL_FUNC(glDeleteFragmentShaderATI) \
399     USE_GL_FUNC(glEndFragmentShaderATI) \
400     USE_GL_FUNC(glGenFragmentShadersATI) \
401     USE_GL_FUNC(glPassTexCoordATI) \
402     USE_GL_FUNC(glSampleMapATI) \
403     USE_GL_FUNC(glSetFragmentShaderConstantATI) \
404     /* GL_ATI_separate_stencil */ \
405     USE_GL_FUNC(glStencilOpSeparateATI) \
406     USE_GL_FUNC(glStencilFuncSeparateATI) \
407     /* GL_EXT_blend_color */ \
408     USE_GL_FUNC(glBlendColorEXT) \
409     /* GL_EXT_blend_equation_separate */ \
410     USE_GL_FUNC(glBlendFuncSeparateEXT) \
411     /* GL_EXT_blend_func_separate */ \
412     USE_GL_FUNC(glBlendEquationSeparateEXT) \
413     /* GL_EXT_blend_minmax */ \
414     USE_GL_FUNC(glBlendEquationEXT) \
415     /* GL_EXT_depth_bounds_test */ \
416     USE_GL_FUNC(glDepthBoundsEXT) \
417     /* GL_EXT_draw_buffers2 */ \
418     USE_GL_FUNC(glColorMaskIndexedEXT) \
419     USE_GL_FUNC(glDisableIndexedEXT) \
420     USE_GL_FUNC(glEnableIndexedEXT) \
421     USE_GL_FUNC(glGetBooleanIndexedvEXT) \
422     USE_GL_FUNC(glGetIntegerIndexedvEXT) \
423     USE_GL_FUNC(glIsEnabledIndexedEXT) \
424     /* GL_EXT_fog_coord */ \
425     USE_GL_FUNC(glFogCoordPointerEXT) \
426     USE_GL_FUNC(glFogCoorddEXT) \
427     USE_GL_FUNC(glFogCoorddvEXT) \
428     USE_GL_FUNC(glFogCoordfEXT) \
429     USE_GL_FUNC(glFogCoordfvEXT) \
430     /* GL_EXT_framebuffer_blit */ \
431     USE_GL_FUNC(glBlitFramebufferEXT) \
432     /* GL_EXT_framebuffer_multisample */ \
433     USE_GL_FUNC(glRenderbufferStorageMultisampleEXT) \
434     /* GL_EXT_framebuffer_object */ \
435     USE_GL_FUNC(glBindFramebufferEXT) \
436     USE_GL_FUNC(glBindRenderbufferEXT) \
437     USE_GL_FUNC(glCheckFramebufferStatusEXT) \
438     USE_GL_FUNC(glDeleteFramebuffersEXT) \
439     USE_GL_FUNC(glDeleteRenderbuffersEXT) \
440     USE_GL_FUNC(glFramebufferRenderbufferEXT) \
441     USE_GL_FUNC(glFramebufferTexture1DEXT) \
442     USE_GL_FUNC(glFramebufferTexture2DEXT) \
443     USE_GL_FUNC(glFramebufferTexture3DEXT) \
444     USE_GL_FUNC(glGenFramebuffersEXT) \
445     USE_GL_FUNC(glGenRenderbuffersEXT) \
446     USE_GL_FUNC(glGenerateMipmapEXT) \
447     USE_GL_FUNC(glGetFramebufferAttachmentParameterivEXT) \
448     USE_GL_FUNC(glGetRenderbufferParameterivEXT) \
449     USE_GL_FUNC(glIsFramebufferEXT) \
450     USE_GL_FUNC(glIsRenderbufferEXT) \
451     USE_GL_FUNC(glRenderbufferStorageEXT) \
452     /* GL_EXT_gpu_program_parameters */ \
453     USE_GL_FUNC(glProgramEnvParameters4fvEXT) \
454     USE_GL_FUNC(glProgramLocalParameters4fvEXT) \
455     /* GL_EXT_gpu_shader4 */\
456     USE_GL_FUNC(glBindFragDataLocationEXT) \
457     USE_GL_FUNC(glGetFragDataLocationEXT) \
458     USE_GL_FUNC(glGetUniformuivEXT) \
459     USE_GL_FUNC(glGetVertexAttribIivEXT) \
460     USE_GL_FUNC(glGetVertexAttribIuivEXT) \
461     USE_GL_FUNC(glUniform1uiEXT) \
462     USE_GL_FUNC(glUniform1uivEXT) \
463     USE_GL_FUNC(glUniform2uiEXT) \
464     USE_GL_FUNC(glUniform2uivEXT) \
465     USE_GL_FUNC(glUniform3uiEXT) \
466     USE_GL_FUNC(glUniform3uivEXT) \
467     USE_GL_FUNC(glUniform4uiEXT) \
468     USE_GL_FUNC(glUniform4uivEXT) \
469     USE_GL_FUNC(glVertexAttribI1iEXT) \
470     USE_GL_FUNC(glVertexAttribI1ivEXT) \
471     USE_GL_FUNC(glVertexAttribI1uiEXT) \
472     USE_GL_FUNC(glVertexAttribI1uivEXT) \
473     USE_GL_FUNC(glVertexAttribI2iEXT) \
474     USE_GL_FUNC(glVertexAttribI2ivEXT) \
475     USE_GL_FUNC(glVertexAttribI2uiEXT) \
476     USE_GL_FUNC(glVertexAttribI2uivEXT) \
477     USE_GL_FUNC(glVertexAttribI3iEXT) \
478     USE_GL_FUNC(glVertexAttribI3ivEXT) \
479     USE_GL_FUNC(glVertexAttribI3uiEXT) \
480     USE_GL_FUNC(glVertexAttribI3uivEXT) \
481     USE_GL_FUNC(glVertexAttribI4bvEXT) \
482     USE_GL_FUNC(glVertexAttribI4iEXT) \
483     USE_GL_FUNC(glVertexAttribI4ivEXT) \
484     USE_GL_FUNC(glVertexAttribI4svEXT) \
485     USE_GL_FUNC(glVertexAttribI4ubvEXT) \
486     USE_GL_FUNC(glVertexAttribI4uiEXT) \
487     USE_GL_FUNC(glVertexAttribI4uivEXT) \
488     USE_GL_FUNC(glVertexAttribI4usvEXT) \
489     USE_GL_FUNC(glVertexAttribIPointerEXT) \
490     /* GL_EXT_paletted_texture */ \
491     USE_GL_FUNC(glColorTableEXT) \
492     /* GL_EXT_point_parameters */ \
493     USE_GL_FUNC(glPointParameterfEXT) \
494     USE_GL_FUNC(glPointParameterfvEXT) \
495     /* GL_EXT_provoking_vertex */ \
496     USE_GL_FUNC(glProvokingVertexEXT) \
497     /* GL_EXT_secondary_color */ \
498     USE_GL_FUNC(glSecondaryColor3fEXT) \
499     USE_GL_FUNC(glSecondaryColor3fvEXT) \
500     USE_GL_FUNC(glSecondaryColor3ubEXT) \
501     USE_GL_FUNC(glSecondaryColor3ubvEXT) \
502     USE_GL_FUNC(glSecondaryColorPointerEXT) \
503     /* GL_EXT_stencil_two_side */ \
504     USE_GL_FUNC(glActiveStencilFaceEXT) \
505     /* GL_EXT_texture3D */ \
506     USE_GL_FUNC(glTexImage3D) \
507     USE_GL_FUNC(glTexImage3DEXT) \
508     USE_GL_FUNC(glTexSubImage3D) \
509     USE_GL_FUNC(glTexSubImage3DEXT) \
510     /* GL_NV_fence */ \
511     USE_GL_FUNC(glDeleteFencesNV) \
512     USE_GL_FUNC(glFinishFenceNV) \
513     USE_GL_FUNC(glGenFencesNV) \
514     USE_GL_FUNC(glGetFenceivNV) \
515     USE_GL_FUNC(glIsFenceNV) \
516     USE_GL_FUNC(glSetFenceNV) \
517     USE_GL_FUNC(glTestFenceNV) \
518     /* GL_NV_half_float */ \
519     USE_GL_FUNC(glColor3hNV) \
520     USE_GL_FUNC(glColor3hvNV) \
521     USE_GL_FUNC(glColor4hNV) \
522     USE_GL_FUNC(glColor4hvNV) \
523     USE_GL_FUNC(glFogCoordhNV) \
524     USE_GL_FUNC(glFogCoordhvNV) \
525     USE_GL_FUNC(glMultiTexCoord1hNV) \
526     USE_GL_FUNC(glMultiTexCoord1hvNV) \
527     USE_GL_FUNC(glMultiTexCoord2hNV) \
528     USE_GL_FUNC(glMultiTexCoord2hvNV) \
529     USE_GL_FUNC(glMultiTexCoord3hNV) \
530     USE_GL_FUNC(glMultiTexCoord3hvNV) \
531     USE_GL_FUNC(glMultiTexCoord4hNV) \
532     USE_GL_FUNC(glMultiTexCoord4hvNV) \
533     USE_GL_FUNC(glNormal3hNV) \
534     USE_GL_FUNC(glNormal3hvNV) \
535     USE_GL_FUNC(glSecondaryColor3hNV) \
536     USE_GL_FUNC(glSecondaryColor3hvNV) \
537     USE_GL_FUNC(glTexCoord1hNV) \
538     USE_GL_FUNC(glTexCoord1hvNV) \
539     USE_GL_FUNC(glTexCoord2hNV) \
540     USE_GL_FUNC(glTexCoord2hvNV) \
541     USE_GL_FUNC(glTexCoord3hNV) \
542     USE_GL_FUNC(glTexCoord3hvNV) \
543     USE_GL_FUNC(glTexCoord4hNV) \
544     USE_GL_FUNC(glTexCoord4hvNV) \
545     USE_GL_FUNC(glVertex2hNV) \
546     USE_GL_FUNC(glVertex2hvNV) \
547     USE_GL_FUNC(glVertex3hNV) \
548     USE_GL_FUNC(glVertex3hvNV) \
549     USE_GL_FUNC(glVertex4hNV) \
550     USE_GL_FUNC(glVertex4hvNV) \
551     USE_GL_FUNC(glVertexAttrib1hNV) \
552     USE_GL_FUNC(glVertexAttrib1hvNV) \
553     USE_GL_FUNC(glVertexAttrib2hNV) \
554     USE_GL_FUNC(glVertexAttrib2hvNV) \
555     USE_GL_FUNC(glVertexAttrib3hNV) \
556     USE_GL_FUNC(glVertexAttrib3hvNV) \
557     USE_GL_FUNC(glVertexAttrib4hNV) \
558     USE_GL_FUNC(glVertexAttrib4hvNV) \
559     USE_GL_FUNC(glVertexAttribs1hvNV) \
560     USE_GL_FUNC(glVertexAttribs2hvNV) \
561     USE_GL_FUNC(glVertexAttribs3hvNV) \
562     USE_GL_FUNC(glVertexAttribs4hvNV) \
563     USE_GL_FUNC(glVertexWeighthNV) \
564     USE_GL_FUNC(glVertexWeighthvNV) \
565     /* GL_NV_point_sprite */ \
566     USE_GL_FUNC(glPointParameteri) \
567     USE_GL_FUNC(glPointParameteriNV) \
568     USE_GL_FUNC(glPointParameteriv) \
569     USE_GL_FUNC(glPointParameterivNV) \
570     /* GL_NV_register_combiners */ \
571     USE_GL_FUNC(glCombinerInputNV) \
572     USE_GL_FUNC(glCombinerOutputNV) \
573     USE_GL_FUNC(glCombinerParameterfNV) \
574     USE_GL_FUNC(glCombinerParameterfvNV) \
575     USE_GL_FUNC(glCombinerParameteriNV) \
576     USE_GL_FUNC(glCombinerParameterivNV) \
577     USE_GL_FUNC(glFinalCombinerInputNV) \
578     /* WGL extensions */ \
579     USE_GL_FUNC(wglChoosePixelFormatARB) \
580     USE_GL_FUNC(wglGetExtensionsStringARB) \
581     USE_GL_FUNC(wglGetPixelFormatAttribfvARB) \
582     USE_GL_FUNC(wglGetPixelFormatAttribivARB) \
583     USE_GL_FUNC(wglSetPixelFormatWINE) \
584     USE_GL_FUNC(wglSwapIntervalEXT)
585
586 #endif /* __WINE_WINED3D_GL */