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