2 * Direct3D wine OpenGL include file
4 * Copyright 2002-2003 The wine-d3d team
5 * Copyright 2002-2004 Jason Edmeades
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 * Most OpenGL 1.0/1.1/1.2/1.3 constants/types come from the Mesa-project:
25 * Copyright (C) 1999-2006 Brian Paul
27 * From the Mesa-license:
28 * Permission is hereby granted, free of charge, to any person obtaining a
29 * copy of this software and associated documentation files (the "Software"),
30 * to deal in the Software without restriction, including without limitation
31 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
32 * and/or sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following conditions:
35 * The above copyright notice and this permission notice shall be included
36 * in all copies or substantial portions of the Software.
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
39 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
41 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
42 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
43 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
46 #ifndef __WINE_WINED3D_GL_H
47 #define __WINE_WINED3D_GL_H
49 #ifdef USE_WIN32_OPENGL
50 #define WINE_GLAPI __stdcall
55 /****************************************************
56 * OpenGL 1.0/1.1/1.2/1.3
57 * types, #defines and function pointers
58 ****************************************************/
61 typedef unsigned int GLbitfield;
62 typedef unsigned char GLboolean;
63 typedef signed char GLbyte;
64 typedef unsigned char GLubyte;
65 typedef short GLshort;
66 typedef unsigned short GLushort;
68 typedef unsigned int GLuint;
69 typedef unsigned int GLenum;
70 typedef float GLfloat;
72 typedef float GLclampf;
73 typedef double GLdouble;
74 typedef double GLclampd;
82 #define GL_BYTE 0x1400
83 #define GL_UNSIGNED_BYTE 0x1401
84 #define GL_SHORT 0x1402
85 #define GL_UNSIGNED_SHORT 0x1403
87 #define GL_UNSIGNED_INT 0x1405
88 #define GL_FLOAT 0x1406
89 #define GL_DOUBLE 0x140A
90 #define GL_2_BYTES 0x1407
91 #define GL_3_BYTES 0x1408
92 #define GL_4_BYTES 0x1409
95 #define GL_NO_ERROR 0x0
96 #define GL_INVALID_VALUE 0x0501
97 #define GL_INVALID_ENUM 0x0500
98 #define GL_INVALID_OPERATION 0x0502
99 #define GL_STACK_OVERFLOW 0x0503
100 #define GL_STACK_UNDERFLOW 0x0504
101 #define GL_OUT_OF_MEMORY 0x0505
104 #define GL_VENDOR 0x1F00
105 #define GL_RENDERER 0x1F01
106 #define GL_VERSION 0x1F02
107 #define GL_EXTENSIONS 0x1F03
109 /* Accumulation buffer */
110 #define GL_ACCUM_RED_BITS 0x0D58
111 #define GL_ACCUM_GREEN_BITS 0x0D59
112 #define GL_ACCUM_BLUE_BITS 0x0D5A
113 #define GL_ACCUM_ALPHA_BITS 0x0D5B
114 #define GL_ACCUM_CLEAR_VALUE 0x0B80
115 #define GL_ACCUM 0x0100
116 #define GL_ADD 0x0104
117 #define GL_LOAD 0x0101
118 #define GL_MULT 0x0103
119 #define GL_RETURN 0x0102
122 #define GL_ALPHA_TEST 0x0BC0
123 #define GL_ALPHA_TEST_REF 0x0BC2
124 #define GL_ALPHA_TEST_FUNC 0x0BC1
127 #define GL_BLEND 0x0BE2
128 #define GL_BLEND_SRC 0x0BE1
129 #define GL_BLEND_DST 0x0BE0
132 #define GL_SRC_COLOR 0x0300
133 #define GL_ONE_MINUS_SRC_COLOR 0x0301
134 #define GL_SRC_ALPHA 0x0302
135 #define GL_ONE_MINUS_SRC_ALPHA 0x0303
136 #define GL_DST_ALPHA 0x0304
137 #define GL_ONE_MINUS_DST_ALPHA 0x0305
138 #define GL_DST_COLOR 0x0306
139 #define GL_ONE_MINUS_DST_COLOR 0x0307
140 #define GL_SRC_ALPHA_SATURATE 0x0308
141 #define GL_CONSTANT_COLOR 0x8001
142 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
143 #define GL_CONSTANT_ALPHA 0x8003
144 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
146 /* Buffers, Pixel Drawing/Reading */
148 #define GL_FRONT_LEFT 0x0400
149 #define GL_FRONT_RIGHT 0x0401
150 #define GL_BACK_LEFT 0x0402
151 #define GL_BACK_RIGHT 0x0403
152 #define GL_FRONT 0x0404
153 #define GL_BACK 0x0405
154 #define GL_LEFT 0x0406
155 #define GL_RIGHT 0x0407
156 #define GL_FRONT_AND_BACK 0x0408
157 #define GL_AUX0 0x0409
158 #define GL_AUX1 0x040A
159 #define GL_AUX2 0x040B
160 #define GL_AUX3 0x040C
161 #define GL_COLOR_INDEX 0x1900
162 #define GL_RED 0x1903
163 #define GL_GREEN 0x1904
164 #define GL_BLUE 0x1905
165 #define GL_ALPHA 0x1906
166 #define GL_LUMINANCE 0x1909
167 #define GL_LUMINANCE_ALPHA 0x190A
168 #define GL_ALPHA_BITS 0x0D55
169 #define GL_RED_BITS 0x0D52
170 #define GL_GREEN_BITS 0x0D53
171 #define GL_BLUE_BITS 0x0D54
172 #define GL_INDEX_BITS 0x0D51
173 #define GL_SUBPIXEL_BITS 0x0D50
174 #define GL_AUX_BUFFERS 0x0C00
175 #define GL_READ_BUFFER 0x0C02
176 #define GL_DRAW_BUFFER 0x0C01
177 #define GL_DOUBLEBUFFER 0x0C32
178 #define GL_STEREO 0x0C33
179 #define GL_BITMAP 0x1A00
180 #define GL_COLOR 0x1800
181 #define GL_DEPTH 0x1801
182 #define GL_STENCIL 0x1802
183 #define GL_DITHER 0x0BD0
184 #define GL_RGB 0x1907
185 #define GL_RGBA 0x1908
188 #define GL_CLIP_PLANE0 0x3000
189 #define GL_CLIP_PLANE1 0x3001
190 #define GL_CLIP_PLANE2 0x3002
191 #define GL_CLIP_PLANE3 0x3003
192 #define GL_CLIP_PLANE4 0x3004
193 #define GL_CLIP_PLANE5 0x3005
196 #define GL_NEVER 0x0200
197 #define GL_LESS 0x0201
198 #define GL_EQUAL 0x0202
199 #define GL_LEQUAL 0x0203
200 #define GL_GREATER 0x0204
201 #define GL_NOTEQUAL 0x0205
202 #define GL_GEQUAL 0x0206
203 #define GL_ALWAYS 0x0207
204 #define GL_DEPTH_TEST 0x0B71
205 #define GL_DEPTH_BITS 0x0D56
206 #define GL_DEPTH_CLEAR_VALUE 0x0B73
207 #define GL_DEPTH_FUNC 0x0B74
208 #define GL_DEPTH_RANGE 0x0B70
209 #define GL_DEPTH_WRITEMASK 0x0B72
210 #define GL_DEPTH_COMPONENT 0x1902
213 #define GL_AUTO_NORMAL 0x0D80
214 #define GL_MAP1_COLOR_4 0x0D90
215 #define GL_MAP1_GRID_DOMAIN 0x0DD0
216 #define GL_MAP1_GRID_SEGMENTS 0x0DD1
217 #define GL_MAP1_INDEX 0x0D91
218 #define GL_MAP1_NORMAL 0x0D92
219 #define GL_MAP1_TEXTURE_COORD_1 0x0D93
220 #define GL_MAP1_TEXTURE_COORD_2 0x0D94
221 #define GL_MAP1_TEXTURE_COORD_3 0x0D95
222 #define GL_MAP1_TEXTURE_COORD_4 0x0D96
223 #define GL_MAP1_VERTEX_3 0x0D97
224 #define GL_MAP1_VERTEX_4 0x0D98
225 #define GL_MAP2_COLOR_4 0x0DB0
226 #define GL_MAP2_GRID_DOMAIN 0x0DD2
227 #define GL_MAP2_GRID_SEGMENTS 0x0DD3
228 #define GL_MAP2_INDEX 0x0DB1
229 #define GL_MAP2_NORMAL 0x0DB2
230 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
231 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
232 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
233 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
234 #define GL_MAP2_VERTEX_3 0x0DB7
235 #define GL_MAP2_VERTEX_4 0x0DB8
236 #define GL_COEFF 0x0A00
237 #define GL_DOMAIN 0x0A02
238 #define GL_ORDER 0x0A01
243 #define GL_3D_COLOR 0x0602
244 #define GL_3D_COLOR_TEXTURE 0x0603
245 #define GL_4D_COLOR_TEXTURE 0x0604
246 #define GL_POINT_TOKEN 0x0701
247 #define GL_LINE_TOKEN 0x0702
248 #define GL_LINE_RESET_TOKEN 0x0707
249 #define GL_POLYGON_TOKEN 0x0703
250 #define GL_BITMAP_TOKEN 0x0704
251 #define GL_DRAW_PIXEL_TOKEN 0x0705
252 #define GL_COPY_PIXEL_TOKEN 0x0706
253 #define GL_PASS_THROUGH_TOKEN 0x0700
254 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
255 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
256 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
259 #define GL_FOG 0x0B60
260 #define GL_FOG_MODE 0x0B65
261 #define GL_FOG_DENSITY 0x0B62
262 #define GL_FOG_COLOR 0x0B66
263 #define GL_FOG_INDEX 0x0B61
264 #define GL_FOG_START 0x0B63
265 #define GL_FOG_END 0x0B64
266 #define GL_LINEAR 0x2601
267 #define GL_EXP 0x0800
268 #define GL_EXP2 0x0801
271 #define GL_ATTRIB_STACK_DEPTH 0x0BB0
272 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
273 #define GL_COLOR_CLEAR_VALUE 0x0C22
274 #define GL_COLOR_WRITEMASK 0x0C23
275 #define GL_CURRENT_INDEX 0x0B01
276 #define GL_CURRENT_COLOR 0x0B00
277 #define GL_CURRENT_NORMAL 0x0B02
278 #define GL_CURRENT_RASTER_COLOR 0x0B04
279 #define GL_CURRENT_RASTER_DISTANCE 0x0B09
280 #define GL_CURRENT_RASTER_INDEX 0x0B05
281 #define GL_CURRENT_RASTER_POSITION 0x0B07
282 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
283 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
284 #define GL_CURRENT_TEXTURE_COORDS 0x0B03
285 #define GL_INDEX_CLEAR_VALUE 0x0C20
286 #define GL_INDEX_MODE 0x0C30
287 #define GL_INDEX_WRITEMASK 0x0C21
288 #define GL_MODELVIEW_MATRIX 0x0BA6
289 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
290 #define GL_NAME_STACK_DEPTH 0x0D70
291 #define GL_PROJECTION_MATRIX 0x0BA7
292 #define GL_PROJECTION_STACK_DEPTH 0x0BA4
293 #define GL_RENDER_MODE 0x0C40
294 #define GL_RGBA_MODE 0x0C31
295 #define GL_TEXTURE_MATRIX 0x0BA8
296 #define GL_TEXTURE_STACK_DEPTH 0x0BA5
297 #define GL_VIEWPORT 0x0BA2
300 #define GL_FOG_HINT 0x0C54
301 #define GL_LINE_SMOOTH_HINT 0x0C52
302 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
303 #define GL_POINT_SMOOTH_HINT 0x0C51
304 #define GL_POLYGON_SMOOTH_HINT 0x0C53
305 #define GL_DONT_CARE 0x1100
306 #define GL_FASTEST 0x1101
307 #define GL_NICEST 0x1102
309 /* Implementation limits */
310 #define GL_MAX_LIST_NESTING 0x0B31
311 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
312 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
313 #define GL_MAX_NAME_STACK_DEPTH 0x0D37
314 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
315 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
316 #define GL_MAX_EVAL_ORDER 0x0D30
317 #define GL_MAX_LIGHTS 0x0D31
318 #define GL_MAX_CLIP_PLANES 0x0D32
319 #define GL_MAX_TEXTURE_SIZE 0x0D33
320 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
321 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
322 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
325 #define GL_LIGHTING 0x0B50
326 #define GL_LIGHT0 0x4000
327 #define GL_LIGHT1 0x4001
328 #define GL_LIGHT2 0x4002
329 #define GL_LIGHT3 0x4003
330 #define GL_LIGHT4 0x4004
331 #define GL_LIGHT5 0x4005
332 #define GL_LIGHT6 0x4006
333 #define GL_LIGHT7 0x4007
334 #define GL_SPOT_EXPONENT 0x1205
335 #define GL_SPOT_CUTOFF 0x1206
336 #define GL_CONSTANT_ATTENUATION 0x1207
337 #define GL_LINEAR_ATTENUATION 0x1208
338 #define GL_QUADRATIC_ATTENUATION 0x1209
339 #define GL_AMBIENT 0x1200
340 #define GL_DIFFUSE 0x1201
341 #define GL_SPECULAR 0x1202
342 #define GL_SHININESS 0x1601
343 #define GL_EMISSION 0x1600
344 #define GL_POSITION 0x1203
345 #define GL_SPOT_DIRECTION 0x1204
346 #define GL_AMBIENT_AND_DIFFUSE 0x1602
347 #define GL_COLOR_INDEXES 0x1603
348 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
349 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
350 #define GL_LIGHT_MODEL_AMBIENT 0x0B53
351 #define GL_FRONT_AND_BACK 0x0408
352 #define GL_SHADE_MODEL 0x0B54
353 #define GL_FLAT 0x1D00
354 #define GL_SMOOTH 0x1D01
355 #define GL_COLOR_MATERIAL 0x0B57
356 #define GL_COLOR_MATERIAL_FACE 0x0B55
357 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
358 #define GL_NORMALIZE 0x0BA1
361 #define GL_LINE_SMOOTH 0x0B20
362 #define GL_LINE_STIPPLE 0x0B24
363 #define GL_LINE_STIPPLE_PATTERN 0x0B25
364 #define GL_LINE_STIPPLE_REPEAT 0x0B26
365 #define GL_LINE_WIDTH 0x0B21
366 #define GL_LINE_WIDTH_GRANULARITY 0x0B23
367 #define GL_LINE_WIDTH_RANGE 0x0B22
370 #define GL_LOGIC_OP 0x0BF1
371 #define GL_INDEX_LOGIC_OP 0x0BF1
372 #define GL_COLOR_LOGIC_OP 0x0BF2
373 #define GL_LOGIC_OP_MODE 0x0BF0
374 #define GL_CLEAR 0x1500
375 #define GL_SET 0x150F
376 #define GL_COPY 0x1503
377 #define GL_COPY_INVERTED 0x150C
378 #define GL_NOOP 0x1505
379 #define GL_INVERT 0x150A
380 #define GL_AND 0x1501
381 #define GL_NAND 0x150E
383 #define GL_NOR 0x1508
384 #define GL_XOR 0x1506
385 #define GL_EQUIV 0x1509
386 #define GL_AND_REVERSE 0x1502
387 #define GL_AND_INVERTED 0x1504
388 #define GL_OR_REVERSE 0x150B
389 #define GL_OR_INVERTED 0x150D
392 #define GL_MATRIX_MODE 0x0BA0
393 #define GL_MODELVIEW 0x1700
394 #define GL_PROJECTION 0x1701
395 #define GL_TEXTURE 0x1702
397 /* Pixel Mode / Transfer */
398 #define GL_MAP_COLOR 0x0D10
399 #define GL_MAP_STENCIL 0x0D11
400 #define GL_INDEX_SHIFT 0x0D12
401 #define GL_INDEX_OFFSET 0x0D13
402 #define GL_RED_SCALE 0x0D14
403 #define GL_RED_BIAS 0x0D15
404 #define GL_GREEN_SCALE 0x0D18
405 #define GL_GREEN_BIAS 0x0D19
406 #define GL_BLUE_SCALE 0x0D1A
407 #define GL_BLUE_BIAS 0x0D1B
408 #define GL_ALPHA_SCALE 0x0D1C
409 #define GL_ALPHA_BIAS 0x0D1D
410 #define GL_DEPTH_SCALE 0x0D1E
411 #define GL_DEPTH_BIAS 0x0D1F
412 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
413 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
414 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
415 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
416 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
417 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
418 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
419 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
420 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
421 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
422 #define GL_PIXEL_MAP_S_TO_S 0x0C71
423 #define GL_PIXEL_MAP_I_TO_I 0x0C70
424 #define GL_PIXEL_MAP_I_TO_R 0x0C72
425 #define GL_PIXEL_MAP_I_TO_G 0x0C73
426 #define GL_PIXEL_MAP_I_TO_B 0x0C74
427 #define GL_PIXEL_MAP_I_TO_A 0x0C75
428 #define GL_PIXEL_MAP_R_TO_R 0x0C76
429 #define GL_PIXEL_MAP_G_TO_G 0x0C77
430 #define GL_PIXEL_MAP_B_TO_B 0x0C78
431 #define GL_PIXEL_MAP_A_TO_A 0x0C79
432 #define GL_PACK_ALIGNMENT 0x0D05
433 #define GL_PACK_LSB_FIRST 0x0D01
434 #define GL_PACK_ROW_LENGTH 0x0D02
435 #define GL_PACK_SKIP_PIXELS 0x0D04
436 #define GL_PACK_SKIP_ROWS 0x0D03
437 #define GL_PACK_SWAP_BYTES 0x0D00
438 #define GL_UNPACK_ALIGNMENT 0x0CF5
439 #define GL_UNPACK_LSB_FIRST 0x0CF1
440 #define GL_UNPACK_ROW_LENGTH 0x0CF2
441 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
442 #define GL_UNPACK_SKIP_ROWS 0x0CF3
443 #define GL_UNPACK_SWAP_BYTES 0x0CF0
444 #define GL_ZOOM_X 0x0D16
445 #define GL_ZOOM_Y 0x0D17
448 #define GL_POINT_SMOOTH 0x0B10
449 #define GL_POINT_SIZE 0x0B11
450 #define GL_POINT_SIZE_GRANULARITY 0x0B13
451 #define GL_POINT_SIZE_RANGE 0x0B12
454 #define GL_POINT 0x1B00
455 #define GL_LINE 0x1B01
456 #define GL_FILL 0x1B02
458 #define GL_CCW 0x0901
459 #define GL_FRONT 0x0404
460 #define GL_BACK 0x0405
461 #define GL_POLYGON_MODE 0x0B40
462 #define GL_POLYGON_SMOOTH 0x0B41
463 #define GL_POLYGON_STIPPLE 0x0B42
464 #define GL_EDGE_FLAG 0x0B43
465 #define GL_CULL_FACE 0x0B44
466 #define GL_CULL_FACE_MODE 0x0B45
467 #define GL_FRONT_FACE 0x0B46
468 #define GL_POLYGON_OFFSET_FACTOR 0x8038
469 #define GL_POLYGON_OFFSET_UNITS 0x2A00
470 #define GL_POLYGON_OFFSET_POINT 0x2A01
471 #define GL_POLYGON_OFFSET_LINE 0x2A02
472 #define GL_POLYGON_OFFSET_FILL 0x8037
475 #define GL_POINTS 0x0000
476 #define GL_LINES 0x0001
477 #define GL_LINE_LOOP 0x0002
478 #define GL_LINE_STRIP 0x0003
479 #define GL_TRIANGLES 0x0004
480 #define GL_TRIANGLE_STRIP 0x0005
481 #define GL_TRIANGLE_FAN 0x0006
482 #define GL_QUADS 0x0007
483 #define GL_QUAD_STRIP 0x0008
484 #define GL_POLYGON 0x0009
487 #define GL_CURRENT_BIT 0x00000001
488 #define GL_POINT_BIT 0x00000002
489 #define GL_LINE_BIT 0x00000004
490 #define GL_POLYGON_BIT 0x00000008
491 #define GL_POLYGON_STIPPLE_BIT 0x00000010
492 #define GL_PIXEL_MODE_BIT 0x00000020
493 #define GL_LIGHTING_BIT 0x00000040
494 #define GL_FOG_BIT 0x00000080
495 #define GL_DEPTH_BUFFER_BIT 0x00000100
496 #define GL_ACCUM_BUFFER_BIT 0x00000200
497 #define GL_STENCIL_BUFFER_BIT 0x00000400
498 #define GL_VIEWPORT_BIT 0x00000800
499 #define GL_TRANSFORM_BIT 0x00001000
500 #define GL_ENABLE_BIT 0x00002000
501 #define GL_COLOR_BUFFER_BIT 0x00004000
502 #define GL_HINT_BIT 0x00008000
503 #define GL_EVAL_BIT 0x00010000
504 #define GL_LIST_BIT 0x00020000
505 #define GL_TEXTURE_BIT 0x00040000
506 #define GL_SCISSOR_BIT 0x00080000
507 #define GL_ALL_ATTRIB_BITS 0x000FFFFF
510 #define GL_FEEDBACK 0x1C01
511 #define GL_RENDER 0x1C00
512 #define GL_SELECT 0x1C02
515 #define GL_SCISSOR_TEST 0x0C11
516 #define GL_SCISSOR_BOX 0x0C10
519 #define GL_STENCIL_TEST 0x0B90
520 #define GL_STENCIL_WRITEMASK 0x0B98
521 #define GL_STENCIL_BITS 0x0D57
522 #define GL_STENCIL_FUNC 0x0B92
523 #define GL_STENCIL_VALUE_MASK 0x0B93
524 #define GL_STENCIL_REF 0x0B97
525 #define GL_STENCIL_FAIL 0x0B94
526 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
527 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
528 #define GL_STENCIL_CLEAR_VALUE 0x0B91
529 #define GL_STENCIL_INDEX 0x1901
530 #define GL_KEEP 0x1E00
531 #define GL_REPLACE 0x1E01
532 #define GL_INCR 0x1E02
533 #define GL_DECR 0x1E03
535 /* Texture mapping */
536 #define GL_TEXTURE_ENV 0x2300
537 #define GL_TEXTURE_ENV_MODE 0x2200
538 #define GL_TEXTURE_1D 0x0DE0
539 #define GL_TEXTURE_2D 0x0DE1
540 #define GL_TEXTURE_WRAP_S 0x2802
541 #define GL_TEXTURE_WRAP_T 0x2803
542 #define GL_TEXTURE_MAG_FILTER 0x2800
543 #define GL_TEXTURE_MIN_FILTER 0x2801
544 #define GL_TEXTURE_ENV_COLOR 0x2201
545 #define GL_TEXTURE_GEN_S 0x0C60
546 #define GL_TEXTURE_GEN_T 0x0C61
547 #define GL_TEXTURE_GEN_MODE 0x2500
548 #define GL_TEXTURE_BORDER_COLOR 0x1004
549 #define GL_TEXTURE_WIDTH 0x1000
550 #define GL_TEXTURE_HEIGHT 0x1001
551 #define GL_TEXTURE_BORDER 0x1005
552 #define GL_TEXTURE_COMPONENTS 0x1003
553 #define GL_TEXTURE_RED_SIZE 0x805C
554 #define GL_TEXTURE_GREEN_SIZE 0x805D
555 #define GL_TEXTURE_BLUE_SIZE 0x805E
556 #define GL_TEXTURE_ALPHA_SIZE 0x805F
557 #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
558 #define GL_TEXTURE_INTENSITY_SIZE 0x8061
559 #define GL_NEAREST_MIPMAP_NEAREST 0x2700
560 #define GL_NEAREST_MIPMAP_LINEAR 0x2702
561 #define GL_LINEAR_MIPMAP_NEAREST 0x2701
562 #define GL_LINEAR_MIPMAP_LINEAR 0x2703
563 #define GL_OBJECT_LINEAR 0x2401
564 #define GL_OBJECT_PLANE 0x2501
565 #define GL_EYE_LINEAR 0x2400
566 #define GL_EYE_PLANE 0x2502
567 #define GL_SPHERE_MAP 0x2402
568 #define GL_DECAL 0x2101
569 #define GL_MODULATE 0x2100
570 #define GL_NEAREST 0x2600
571 #define GL_REPEAT 0x2901
572 #define GL_CLAMP 0x2900
577 #define GL_TEXTURE_GEN_R 0x0C62
578 #define GL_TEXTURE_GEN_Q 0x0C63
581 #define GL_VERTEX_ARRAY 0x8074
582 #define GL_NORMAL_ARRAY 0x8075
583 #define GL_COLOR_ARRAY 0x8076
584 #define GL_INDEX_ARRAY 0x8077
585 #define GL_TEXTURE_COORD_ARRAY 0x8078
586 #define GL_EDGE_FLAG_ARRAY 0x8079
587 #define GL_VERTEX_ARRAY_SIZE 0x807A
588 #define GL_VERTEX_ARRAY_TYPE 0x807B
589 #define GL_VERTEX_ARRAY_STRIDE 0x807C
590 #define GL_NORMAL_ARRAY_TYPE 0x807E
591 #define GL_NORMAL_ARRAY_STRIDE 0x807F
592 #define GL_COLOR_ARRAY_SIZE 0x8081
593 #define GL_COLOR_ARRAY_TYPE 0x8082
594 #define GL_COLOR_ARRAY_STRIDE 0x8083
595 #define GL_INDEX_ARRAY_TYPE 0x8085
596 #define GL_INDEX_ARRAY_STRIDE 0x8086
597 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
598 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
599 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
600 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
601 #define GL_VERTEX_ARRAY_POINTER 0x808E
602 #define GL_NORMAL_ARRAY_POINTER 0x808F
603 #define GL_COLOR_ARRAY_POINTER 0x8090
604 #define GL_INDEX_ARRAY_POINTER 0x8091
605 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
606 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
607 #define GL_V2F 0x2A20
608 #define GL_V3F 0x2A21
609 #define GL_C4UB_V2F 0x2A22
610 #define GL_C4UB_V3F 0x2A23
611 #define GL_C3F_V3F 0x2A24
612 #define GL_N3F_V3F 0x2A25
613 #define GL_C4F_N3F_V3F 0x2A26
614 #define GL_T2F_V3F 0x2A27
615 #define GL_T4F_V4F 0x2A28
616 #define GL_T2F_C4UB_V3F 0x2A29
617 #define GL_T2F_C3F_V3F 0x2A2A
618 #define GL_T2F_N3F_V3F 0x2A2B
619 #define GL_T2F_C4F_N3F_V3F 0x2A2C
620 #define GL_T4F_C4F_N3F_V4F 0x2A2D
623 #define GL_PROXY_TEXTURE_1D 0x8063
624 #define GL_PROXY_TEXTURE_2D 0x8064
625 #define GL_TEXTURE_PRIORITY 0x8066
626 #define GL_TEXTURE_RESIDENT 0x8067
627 #define GL_TEXTURE_BINDING_1D 0x8068
628 #define GL_TEXTURE_BINDING_2D 0x8069
629 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
630 #define GL_ALPHA4 0x803B
631 #define GL_ALPHA8 0x803C
632 #define GL_ALPHA12 0x803D
633 #define GL_ALPHA16 0x803E
634 #define GL_LUMINANCE4 0x803F
635 #define GL_LUMINANCE8 0x8040
636 #define GL_LUMINANCE12 0x8041
637 #define GL_LUMINANCE16 0x8042
638 #define GL_LUMINANCE4_ALPHA4 0x8043
639 #define GL_LUMINANCE6_ALPHA2 0x8044
640 #define GL_LUMINANCE8_ALPHA8 0x8045
641 #define GL_LUMINANCE12_ALPHA4 0x8046
642 #define GL_LUMINANCE12_ALPHA12 0x8047
643 #define GL_LUMINANCE16_ALPHA16 0x8048
644 #define GL_INTENSITY 0x8049
645 #define GL_INTENSITY4 0x804A
646 #define GL_INTENSITY8 0x804B
647 #define GL_INTENSITY12 0x804C
648 #define GL_INTENSITY16 0x804D
649 #define GL_R3_G3_B2 0x2A10
650 #define GL_RGB4 0x804F
651 #define GL_RGB5 0x8050
652 #define GL_RGB8 0x8051
653 #define GL_RGB10 0x8052
654 #define GL_RGB12 0x8053
655 #define GL_RGB16 0x8054
656 #define GL_RGBA2 0x8055
657 #define GL_RGBA4 0x8056
658 #define GL_RGB5_A1 0x8057
659 #define GL_RGBA8 0x8058
660 #define GL_RGB10_A2 0x8059
661 #define GL_RGBA12 0x805A
662 #define GL_RGBA16 0x805B
663 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
664 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
665 #define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
666 #define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
668 /* OpenGL 1.2 constants */
669 #define GL_PACK_SKIP_IMAGES 0x806B
670 #define GL_PACK_IMAGE_HEIGHT 0x806C
671 #define GL_UNPACK_SKIP_IMAGES 0x806D
672 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
673 #define GL_TEXTURE_3D 0x806F
674 #define GL_PROXY_TEXTURE_3D 0x8070
675 #define GL_TEXTURE_DEPTH 0x8071
676 #define GL_TEXTURE_WRAP_R 0x8072
677 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
678 #define GL_BGR 0x80E0
679 #define GL_BGRA 0x80E1
680 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
681 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
682 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
683 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
684 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
685 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
686 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
687 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
688 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
689 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
690 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
691 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
692 #define GL_RESCALE_NORMAL 0x803A
693 #define GL_TEXTURE_BINDING_3D 0x806A
694 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
695 #define GL_SINGLE_COLOR 0x81F9
696 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
697 #define GL_CLAMP_TO_EDGE 0x812F
698 #define GL_TEXTURE_MIN_LOD 0x813A
699 #define GL_TEXTURE_MAX_LOD 0x813B
700 #define GL_TEXTURE_BASE_LEVEL 0x813C
701 #define GL_TEXTURE_MAX_LEVEL 0x813D
702 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
703 #define GL_MAX_ELEMENTS_INDICES 0x80E9
704 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
705 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
707 /* OpenGL 1.3 constants */
708 #define GL_ACTIVE_TEXTURE 0x84E0
709 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
710 #define GL_MAX_TEXTURE_UNITS 0x84E2
711 #define GL_TEXTURE0 0x84C0
712 #define GL_TEXTURE1 0x84C1
713 #define GL_TEXTURE2 0x84C2
714 #define GL_TEXTURE3 0x84C3
715 #define GL_TEXTURE4 0x84C4
716 #define GL_TEXTURE5 0x84C5
717 #define GL_TEXTURE6 0x84C6
718 #define GL_TEXTURE7 0x84C7
719 #define GL_TEXTURE8 0x84C8
720 #define GL_TEXTURE9 0x84C9
721 #define GL_TEXTURE10 0x84CA
722 #define GL_TEXTURE11 0x84CB
723 #define GL_TEXTURE12 0x84CC
724 #define GL_TEXTURE13 0x84CD
725 #define GL_TEXTURE14 0x84CE
726 #define GL_TEXTURE15 0x84CF
727 #define GL_TEXTURE16 0x84D0
728 #define GL_TEXTURE17 0x84D1
729 #define GL_TEXTURE18 0x84D2
730 #define GL_TEXTURE19 0x84D3
731 #define GL_TEXTURE20 0x84D4
732 #define GL_TEXTURE21 0x84D5
733 #define GL_TEXTURE22 0x84D6
734 #define GL_TEXTURE23 0x84D7
735 #define GL_TEXTURE24 0x84D8
736 #define GL_TEXTURE25 0x84D9
737 #define GL_TEXTURE26 0x84DA
738 #define GL_TEXTURE27 0x84DB
739 #define GL_TEXTURE28 0x84DC
740 #define GL_TEXTURE29 0x84DD
741 #define GL_TEXTURE30 0x84DE
742 #define GL_TEXTURE31 0x84DF
743 #define GL_NORMAL_MAP 0x8511
744 #define GL_REFLECTION_MAP 0x8512
745 #define GL_TEXTURE_CUBE_MAP 0x8513
746 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
747 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
748 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
749 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
750 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
751 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
752 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
753 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
754 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
755 #define GL_COMBINE 0x8570
756 #define GL_COMBINE_RGB 0x8571
757 #define GL_COMBINE_ALPHA 0x8572
758 #define GL_RGB_SCALE 0x8573
759 #define GL_ADD_SIGNED 0x8574
760 #define GL_INTERPOLATE 0x8575
761 #define GL_CONSTANT 0x8576
762 #define GL_PRIMARY_COLOR 0x8577
763 #define GL_PREVIOUS 0x8578
764 #define GL_SOURCE0_RGB 0x8580
765 #define GL_SOURCE1_RGB 0x8581
766 #define GL_SOURCE2_RGB 0x8582
767 #define GL_SOURCE0_ALPHA 0x8588
768 #define GL_SOURCE1_ALPHA 0x8589
769 #define GL_SOURCE2_ALPHA 0x858A
770 #define GL_OPERAND0_RGB 0x8590
771 #define GL_OPERAND1_RGB 0x8591
772 #define GL_OPERAND2_RGB 0x8592
773 #define GL_OPERAND0_ALPHA 0x8598
774 #define GL_OPERAND1_ALPHA 0x8599
775 #define GL_OPERAND2_ALPHA 0x859A
776 #define GL_SUBTRACT 0x84E7
777 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
778 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
779 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
780 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
781 #define GL_COMPRESSED_ALPHA 0x84E9
782 #define GL_COMPRESSED_LUMINANCE 0x84EA
783 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
784 #define GL_COMPRESSED_INTENSITY 0x84EC
785 #define GL_COMPRESSED_RGB 0x84ED
786 #define GL_COMPRESSED_RGBA 0x84EE
787 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
788 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
789 #define GL_TEXTURE_COMPRESSED 0x86A1
790 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
791 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
792 #define GL_DOT3_RGB 0x86AE
793 #define GL_DOT3_RGBA 0x86AF
794 #define GL_CLAMP_TO_BORDER 0x812D
795 #define GL_MULTISAMPLE 0x809D
796 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
797 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
798 #define GL_SAMPLE_COVERAGE 0x80A0
799 #define GL_SAMPLE_BUFFERS 0x80A8
800 #define GL_SAMPLES 0x80A9
801 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
802 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
803 #define GL_MULTISAMPLE_BIT 0x20000000
805 void (WINE_GLAPI *glAccum)(GLenum op, GLfloat value) DECLSPEC_HIDDEN;
806 void (WINE_GLAPI *glAlphaFunc)(GLenum func, GLclampf ref) DECLSPEC_HIDDEN;
807 GLboolean (WINE_GLAPI *glAreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences) DECLSPEC_HIDDEN;
808 void (WINE_GLAPI *glArrayElement)(GLint i) DECLSPEC_HIDDEN;
809 void (WINE_GLAPI *glBegin)(GLenum mode) DECLSPEC_HIDDEN;
810 void (WINE_GLAPI *glBindTexture)(GLenum target, GLuint texture) DECLSPEC_HIDDEN;
811 void (WINE_GLAPI *glBitmap)(GLsizei width, GLsizei height, GLfloat xorig,
812 GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) DECLSPEC_HIDDEN;
813 void (WINE_GLAPI *glBlendFunc)(GLenum sfactor, GLenum dfactor) DECLSPEC_HIDDEN;
814 void (WINE_GLAPI *glCallList)(GLuint list) DECLSPEC_HIDDEN;
815 void (WINE_GLAPI *glCallLists)(GLsizei n, GLenum type, const GLvoid *lists) DECLSPEC_HIDDEN;
816 void (WINE_GLAPI *glClear)(GLbitfield mask) DECLSPEC_HIDDEN;
817 void (WINE_GLAPI *glClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) DECLSPEC_HIDDEN;
818 void (WINE_GLAPI *glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) DECLSPEC_HIDDEN;
819 void (WINE_GLAPI *glClearDepth)(GLclampd depth) DECLSPEC_HIDDEN;
820 void (WINE_GLAPI *glClearIndex)(GLfloat c) DECLSPEC_HIDDEN;
821 void (WINE_GLAPI *glClearStencil)(GLint s) DECLSPEC_HIDDEN;
822 void (WINE_GLAPI *glClipPlane)(GLenum plane, const GLdouble *equation) DECLSPEC_HIDDEN;
823 void (WINE_GLAPI *glColor3b)(GLbyte red, GLbyte green, GLbyte blue) DECLSPEC_HIDDEN;
824 void (WINE_GLAPI *glColor3bv)(const GLbyte *v) DECLSPEC_HIDDEN;
825 void (WINE_GLAPI *glColor3d)(GLdouble red, GLdouble green, GLdouble blue) DECLSPEC_HIDDEN;
826 void (WINE_GLAPI *glColor3dv)(const GLdouble *v) DECLSPEC_HIDDEN;
827 void (WINE_GLAPI *glColor3f)(GLfloat red, GLfloat green, GLfloat blue) DECLSPEC_HIDDEN;
828 void (WINE_GLAPI *glColor3fv)(const GLfloat *v) DECLSPEC_HIDDEN;
829 void (WINE_GLAPI *glColor3i)(GLint red, GLint green, GLint blue) DECLSPEC_HIDDEN;
830 void (WINE_GLAPI *glColor3iv)(const GLint *v) DECLSPEC_HIDDEN;
831 void (WINE_GLAPI *glColor3s)(GLshort red, GLshort green, GLshort blue) DECLSPEC_HIDDEN;
832 void (WINE_GLAPI *glColor3sv)(const GLshort *v) DECLSPEC_HIDDEN;
833 void (WINE_GLAPI *glColor3ub)(GLubyte red, GLubyte green, GLubyte blue) DECLSPEC_HIDDEN;
834 void (WINE_GLAPI *glColor3ubv)(const GLubyte *v) DECLSPEC_HIDDEN;
835 void (WINE_GLAPI *glColor3ui)(GLuint red, GLuint green, GLuint blue) DECLSPEC_HIDDEN;
836 void (WINE_GLAPI *glColor3uiv)(const GLuint *v) DECLSPEC_HIDDEN;
837 void (WINE_GLAPI *glColor3us)(GLushort red, GLushort green, GLushort blue) DECLSPEC_HIDDEN;
838 void (WINE_GLAPI *glColor3usv)(const GLushort *v) DECLSPEC_HIDDEN;
839 void (WINE_GLAPI *glColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) DECLSPEC_HIDDEN;
840 void (WINE_GLAPI *glColor4bv)(const GLbyte *v) DECLSPEC_HIDDEN;
841 void (WINE_GLAPI *glColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) DECLSPEC_HIDDEN;
842 void (WINE_GLAPI *glColor4dv)(const GLdouble *v) DECLSPEC_HIDDEN;
843 void (WINE_GLAPI *glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) DECLSPEC_HIDDEN;
844 void (WINE_GLAPI *glColor4fv)(const GLfloat *v) DECLSPEC_HIDDEN;
845 void (WINE_GLAPI *glColor4i)(GLint red, GLint green, GLint blue, GLint alpha) DECLSPEC_HIDDEN;
846 void (WINE_GLAPI *glColor4iv)(const GLint *v) DECLSPEC_HIDDEN;
847 void (WINE_GLAPI *glColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha) DECLSPEC_HIDDEN;
848 void (WINE_GLAPI *glColor4sv)(const GLshort *v) DECLSPEC_HIDDEN;
849 void (WINE_GLAPI *glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) DECLSPEC_HIDDEN;
850 void (WINE_GLAPI *glColor4ubv)(const GLubyte *v) DECLSPEC_HIDDEN;
851 void (WINE_GLAPI *glColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha) DECLSPEC_HIDDEN;
852 void (WINE_GLAPI *glColor4uiv)(const GLuint *v) DECLSPEC_HIDDEN;
853 void (WINE_GLAPI *glColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha) DECLSPEC_HIDDEN;
854 void (WINE_GLAPI *glColor4usv)(const GLushort *v) DECLSPEC_HIDDEN;
855 void (WINE_GLAPI *glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) DECLSPEC_HIDDEN;
856 void (WINE_GLAPI *glColorMaterial)(GLenum face, GLenum mode) DECLSPEC_HIDDEN;
857 void (WINE_GLAPI *glColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
858 void (WINE_GLAPI *glCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) DECLSPEC_HIDDEN;
859 void (WINE_GLAPI *glCopyTexImage1D)(GLenum target, GLint level,
860 GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) DECLSPEC_HIDDEN;
861 void (WINE_GLAPI *glCopyTexImage2D)(GLenum target, GLint level,
862 GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) DECLSPEC_HIDDEN;
863 void (WINE_GLAPI *glCopyTexSubImage1D)(GLenum target, GLint level,
864 GLint xoffset, GLint x, GLint y, GLsizei width) DECLSPEC_HIDDEN;
865 void (WINE_GLAPI *glCopyTexSubImage2D)(GLenum target, GLint level,
866 GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) DECLSPEC_HIDDEN;
867 void (WINE_GLAPI *glCullFace)(GLenum mode) DECLSPEC_HIDDEN;
868 void (WINE_GLAPI *glDeleteLists)(GLuint list, GLsizei range) DECLSPEC_HIDDEN;
869 void (WINE_GLAPI *glDeleteTextures)(GLsizei n, const GLuint *textures) DECLSPEC_HIDDEN;
870 void (WINE_GLAPI *glDepthFunc)(GLenum func) DECLSPEC_HIDDEN;
871 void (WINE_GLAPI *glDepthMask)(GLboolean flag) DECLSPEC_HIDDEN;
872 void (WINE_GLAPI *glDepthRange)(GLclampd nearParam, GLclampd farParam) DECLSPEC_HIDDEN;
873 void (WINE_GLAPI *glDisable)(GLenum cap) DECLSPEC_HIDDEN;
874 void (WINE_GLAPI *glDisableWINE)(GLenum cap) DECLSPEC_HIDDEN;
875 void (WINE_GLAPI *glDisableClientState)(GLenum array) DECLSPEC_HIDDEN;
876 void (WINE_GLAPI *glDrawArrays)(GLenum mode, GLint first, GLsizei count) DECLSPEC_HIDDEN;
877 void (WINE_GLAPI *glDrawBuffer)(GLenum mode) DECLSPEC_HIDDEN;
878 void (WINE_GLAPI *glDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) DECLSPEC_HIDDEN;
879 void (WINE_GLAPI *glDrawPixels)(GLsizei width, GLsizei height, GLenum format,
880 GLenum type, const GLvoid *pixels) DECLSPEC_HIDDEN;
881 void (WINE_GLAPI *glEdgeFlag)(GLboolean flag) DECLSPEC_HIDDEN;
882 void (WINE_GLAPI *glEdgeFlagPointer)(GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
883 void (WINE_GLAPI *glEdgeFlagv)(const GLboolean *flag) DECLSPEC_HIDDEN;
884 void (WINE_GLAPI *glEnable)(GLenum cap) DECLSPEC_HIDDEN;
885 void (WINE_GLAPI *glEnableWINE)(GLenum cap) DECLSPEC_HIDDEN;
886 void (WINE_GLAPI *glEnableClientState)(GLenum array) DECLSPEC_HIDDEN;
887 void (WINE_GLAPI *glEnd)(void) DECLSPEC_HIDDEN;
888 void (WINE_GLAPI *glEndList)(void) DECLSPEC_HIDDEN;
889 void (WINE_GLAPI *glEvalCoord1d)(GLdouble u) DECLSPEC_HIDDEN;
890 void (WINE_GLAPI *glEvalCoord1dv)(const GLdouble *u) DECLSPEC_HIDDEN;
891 void (WINE_GLAPI *glEvalCoord1f)(GLfloat u) DECLSPEC_HIDDEN;
892 void (WINE_GLAPI *glEvalCoord1fv)(const GLfloat *u) DECLSPEC_HIDDEN;
893 void (WINE_GLAPI *glEvalCoord2d)(GLdouble u, GLdouble v) DECLSPEC_HIDDEN;
894 void (WINE_GLAPI *glEvalCoord2dv)(const GLdouble *u) DECLSPEC_HIDDEN;
895 void (WINE_GLAPI *glEvalCoord2f)(GLfloat u, GLfloat v) DECLSPEC_HIDDEN;
896 void (WINE_GLAPI *glEvalCoord2fv)(const GLfloat *u) DECLSPEC_HIDDEN;
897 void (WINE_GLAPI *glEvalMesh1)(GLenum mode, GLint i1, GLint i2) DECLSPEC_HIDDEN;
898 void (WINE_GLAPI *glEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) DECLSPEC_HIDDEN;
899 void (WINE_GLAPI *glEvalPoint1)(GLint i) DECLSPEC_HIDDEN;
900 void (WINE_GLAPI *glEvalPoint2)(GLint i, GLint j) DECLSPEC_HIDDEN;
901 void (WINE_GLAPI *glFeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer) DECLSPEC_HIDDEN;
902 void (WINE_GLAPI *glFogf)(GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
903 void (WINE_GLAPI *glFogfv)(GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
904 void (WINE_GLAPI *glFogi)(GLenum pname, GLint param) DECLSPEC_HIDDEN;
905 void (WINE_GLAPI *glFogiv)(GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
906 void (WINE_GLAPI *glFrontFace)(GLenum mode) DECLSPEC_HIDDEN;
907 void (WINE_GLAPI *glFrustum)(GLdouble left, GLdouble right, GLdouble bottom,
908 GLdouble top, GLdouble zNear, GLdouble zFar) DECLSPEC_HIDDEN;
909 GLuint (WINE_GLAPI *glGenLists)(GLsizei range) DECLSPEC_HIDDEN;
910 void (WINE_GLAPI *glGenTextures)(GLsizei n, GLuint *textures) DECLSPEC_HIDDEN;
911 void (WINE_GLAPI *glGetBooleanv)(GLenum pname, GLboolean *params) DECLSPEC_HIDDEN;
912 void (WINE_GLAPI *glGetClipPlane)(GLenum plane, GLdouble *equation) DECLSPEC_HIDDEN;
913 void (WINE_GLAPI *glGetDoublev)(GLenum pname, GLdouble *params) DECLSPEC_HIDDEN;
914 GLenum (WINE_GLAPI *glGetError)(void) DECLSPEC_HIDDEN;
915 void (WINE_GLAPI *glGetFloatv)(GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
916 void (WINE_GLAPI *glGetIntegerv)(GLenum pname, GLint *params) DECLSPEC_HIDDEN;
917 void (WINE_GLAPI *glGetLightfv)(GLenum light, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
918 void (WINE_GLAPI *glGetLightiv)(GLenum light, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
919 void (WINE_GLAPI *glGetMapdv)(GLenum target, GLenum query, GLdouble *v) DECLSPEC_HIDDEN;
920 void (WINE_GLAPI *glGetMapfv)(GLenum target, GLenum query, GLfloat *v) DECLSPEC_HIDDEN;
921 void (WINE_GLAPI *glGetMapiv)(GLenum target, GLenum query, GLint *v) DECLSPEC_HIDDEN;
922 void (WINE_GLAPI *glGetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
923 void (WINE_GLAPI *glGetMaterialiv)(GLenum face, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
924 void (WINE_GLAPI *glGetPixelMapfv)(GLenum map, GLfloat *values) DECLSPEC_HIDDEN;
925 void (WINE_GLAPI *glGetPixelMapuiv)(GLenum map, GLuint *values) DECLSPEC_HIDDEN;
926 void (WINE_GLAPI *glGetPixelMapusv)(GLenum map, GLushort *values) DECLSPEC_HIDDEN;
927 void (WINE_GLAPI *glGetPointerv)(GLenum pname, GLvoid **params) DECLSPEC_HIDDEN;
928 void (WINE_GLAPI *glGetPolygonStipple)(GLubyte *mask) DECLSPEC_HIDDEN;
929 const GLubyte * (WINE_GLAPI *glGetString)(GLenum name) DECLSPEC_HIDDEN;
930 void (WINE_GLAPI *glGetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
931 void (WINE_GLAPI *glGetTexEnviv)(GLenum target, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
932 void (WINE_GLAPI *glGetTexGendv)(GLenum coord, GLenum pname, GLdouble *params) DECLSPEC_HIDDEN;
933 void (WINE_GLAPI *glGetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
934 void (WINE_GLAPI *glGetTexGeniv)(GLenum coord, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
935 void (WINE_GLAPI *glGetTexImage)(GLenum target, GLint level, GLenum format,
936 GLenum type, GLvoid *pixels) DECLSPEC_HIDDEN;
937 void (WINE_GLAPI *glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
938 void (WINE_GLAPI *glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
939 void (WINE_GLAPI *glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) DECLSPEC_HIDDEN;
940 void (WINE_GLAPI *glGetTexParameteriv)(GLenum target, GLenum pname, GLint *params) DECLSPEC_HIDDEN;
941 void (WINE_GLAPI *glHint)(GLenum target, GLenum mode) DECLSPEC_HIDDEN;
942 void (WINE_GLAPI *glIndexMask)(GLuint mask) DECLSPEC_HIDDEN;
943 void (WINE_GLAPI *glIndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
944 void (WINE_GLAPI *glIndexd)(GLdouble c) DECLSPEC_HIDDEN;
945 void (WINE_GLAPI *glIndexdv)(const GLdouble *c) DECLSPEC_HIDDEN;
946 void (WINE_GLAPI *glIndexf)(GLfloat c) DECLSPEC_HIDDEN;
947 void (WINE_GLAPI *glIndexfv)(const GLfloat *c) DECLSPEC_HIDDEN;
948 void (WINE_GLAPI *glIndexi)(GLint c) DECLSPEC_HIDDEN;
949 void (WINE_GLAPI *glIndexiv)(const GLint *c) DECLSPEC_HIDDEN;
950 void (WINE_GLAPI *glIndexs)(GLshort c) DECLSPEC_HIDDEN;
951 void (WINE_GLAPI *glIndexsv)(const GLshort *c) DECLSPEC_HIDDEN;
952 void (WINE_GLAPI *glIndexub)(GLubyte c) DECLSPEC_HIDDEN;
953 void (WINE_GLAPI *glIndexubv)(const GLubyte *c) DECLSPEC_HIDDEN;
954 void (WINE_GLAPI *glInitNames)(void) DECLSPEC_HIDDEN;
955 void (WINE_GLAPI *glInterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
956 GLboolean (WINE_GLAPI *glIsEnabled)(GLenum cap) DECLSPEC_HIDDEN;
957 GLboolean (WINE_GLAPI *glIsList)(GLuint list) DECLSPEC_HIDDEN;
958 GLboolean (WINE_GLAPI *glIsTexture)(GLuint texture) DECLSPEC_HIDDEN;
959 void (WINE_GLAPI *glLightModelf)(GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
960 void (WINE_GLAPI *glLightModelfv)(GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
961 void (WINE_GLAPI *glLightModeli)(GLenum pname, GLint param) DECLSPEC_HIDDEN;
962 void (WINE_GLAPI *glLightModeliv)(GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
963 void (WINE_GLAPI *glLightf)(GLenum light, GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
964 void (WINE_GLAPI *glLightfv)(GLenum light, GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
965 void (WINE_GLAPI *glLighti)(GLenum light, GLenum pname, GLint param) DECLSPEC_HIDDEN;
966 void (WINE_GLAPI *glLightiv)(GLenum light, GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
967 void (WINE_GLAPI *glLineStipple)(GLint factor, GLushort pattern) DECLSPEC_HIDDEN;
968 void (WINE_GLAPI *glLineWidth)(GLfloat width) DECLSPEC_HIDDEN;
969 void (WINE_GLAPI *glListBase)(GLuint base) DECLSPEC_HIDDEN;
970 void (WINE_GLAPI *glLoadIdentity)(void) DECLSPEC_HIDDEN;
971 void (WINE_GLAPI *glLoadMatrixd)(const GLdouble *m) DECLSPEC_HIDDEN;
972 void (WINE_GLAPI *glLoadMatrixf)(const GLfloat *m) DECLSPEC_HIDDEN;
973 void (WINE_GLAPI *glLoadName)(GLuint name) DECLSPEC_HIDDEN;
974 void (WINE_GLAPI *glLogicOp)(GLenum opcode) DECLSPEC_HIDDEN;
975 void (WINE_GLAPI *glMap1d)(GLenum target, GLdouble u1, GLdouble u2,
976 GLint stride, GLint order, const GLdouble *points) DECLSPEC_HIDDEN;
977 void (WINE_GLAPI *glMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride,
978 GLint order, const GLfloat *points) DECLSPEC_HIDDEN;
979 void (WINE_GLAPI *glMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
980 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) DECLSPEC_HIDDEN;
981 void (WINE_GLAPI *glMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
982 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) DECLSPEC_HIDDEN;
983 void (WINE_GLAPI *glMapGrid1d)(GLint un, GLdouble u1, GLdouble u2) DECLSPEC_HIDDEN;
984 void (WINE_GLAPI *glMapGrid1f)(GLint un, GLfloat u1, GLfloat u2) DECLSPEC_HIDDEN;
985 void (WINE_GLAPI *glMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) DECLSPEC_HIDDEN;
986 void (WINE_GLAPI *glMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) DECLSPEC_HIDDEN;
987 void (WINE_GLAPI *glMaterialf)(GLenum face, GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
988 void (WINE_GLAPI *glMaterialfv)(GLenum face, GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
989 void (WINE_GLAPI *glMateriali)(GLenum face, GLenum pname, GLint param) DECLSPEC_HIDDEN;
990 void (WINE_GLAPI *glMaterialiv)(GLenum face, GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
991 void (WINE_GLAPI *glMatrixMode)(GLenum mode) DECLSPEC_HIDDEN;
992 void (WINE_GLAPI *glMultMatrixd)(const GLdouble *m) DECLSPEC_HIDDEN;
993 void (WINE_GLAPI *glMultMatrixf)(const GLfloat *m) DECLSPEC_HIDDEN;
994 void (WINE_GLAPI *glNewList)(GLuint list, GLenum mode) DECLSPEC_HIDDEN;
995 void (WINE_GLAPI *glNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz) DECLSPEC_HIDDEN;
996 void (WINE_GLAPI *glNormal3bv)(const GLbyte *v) DECLSPEC_HIDDEN;
997 void (WINE_GLAPI *glNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz) DECLSPEC_HIDDEN;
998 void (WINE_GLAPI *glNormal3dv)(const GLdouble *v) DECLSPEC_HIDDEN;
999 void (WINE_GLAPI *glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz) DECLSPEC_HIDDEN;
1000 void (WINE_GLAPI *glNormal3fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1001 void (WINE_GLAPI *glNormal3i)(GLint nx, GLint ny, GLint nz) DECLSPEC_HIDDEN;
1002 void (WINE_GLAPI *glNormal3iv)(const GLint *v) DECLSPEC_HIDDEN;
1003 void (WINE_GLAPI *glNormal3s)(GLshort nx, GLshort ny, GLshort nz) DECLSPEC_HIDDEN;
1004 void (WINE_GLAPI *glNormal3sv)(const GLshort *v) DECLSPEC_HIDDEN;
1005 void (WINE_GLAPI *glNormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
1006 void (WINE_GLAPI *glOrtho)(GLdouble left, GLdouble right, GLdouble bottom,
1007 GLdouble top, GLdouble zNear, GLdouble zFar) DECLSPEC_HIDDEN;
1008 void (WINE_GLAPI *glPassThrough)(GLfloat token) DECLSPEC_HIDDEN;
1009 void (WINE_GLAPI *glPixelMapfv)(GLenum map, GLint mapsize, const GLfloat *values) DECLSPEC_HIDDEN;
1010 void (WINE_GLAPI *glPixelMapuiv)(GLenum map, GLint mapsize, const GLuint *values) DECLSPEC_HIDDEN;
1011 void (WINE_GLAPI *glPixelMapusv)(GLenum map, GLint mapsize, const GLushort *values) DECLSPEC_HIDDEN;
1012 void (WINE_GLAPI *glPixelStoref)(GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
1013 void (WINE_GLAPI *glPixelStorei)(GLenum pname, GLint param) DECLSPEC_HIDDEN;
1014 void (WINE_GLAPI *glPixelTransferf)(GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
1015 void (WINE_GLAPI *glPixelTransferi)(GLenum pname, GLint param) DECLSPEC_HIDDEN;
1016 void (WINE_GLAPI *glPixelZoom)(GLfloat xfactor, GLfloat yfactor) DECLSPEC_HIDDEN;
1017 void (WINE_GLAPI *glPointSize)(GLfloat size) DECLSPEC_HIDDEN;
1018 void (WINE_GLAPI *glPolygonMode)(GLenum face, GLenum mode) DECLSPEC_HIDDEN;
1019 void (WINE_GLAPI *glPolygonOffset)(GLfloat factor, GLfloat units) DECLSPEC_HIDDEN;
1020 void (WINE_GLAPI *glPolygonStipple)(const GLubyte *mask) DECLSPEC_HIDDEN;
1021 void (WINE_GLAPI *glPopAttrib)(void) DECLSPEC_HIDDEN;
1022 void (WINE_GLAPI *glPopClientAttrib)(void) DECLSPEC_HIDDEN;
1023 void (WINE_GLAPI *glPopMatrix)(void) DECLSPEC_HIDDEN;
1024 void (WINE_GLAPI *glPopName)(void) DECLSPEC_HIDDEN;
1025 void (WINE_GLAPI *glPrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities) DECLSPEC_HIDDEN;
1026 void (WINE_GLAPI *glPushAttrib)(GLbitfield mask) DECLSPEC_HIDDEN;
1027 void (WINE_GLAPI *glPushClientAttrib)(GLbitfield mask) DECLSPEC_HIDDEN;
1028 void (WINE_GLAPI *glPushMatrix)(void) DECLSPEC_HIDDEN;
1029 void (WINE_GLAPI *glPushName)(GLuint name) DECLSPEC_HIDDEN;
1030 void (WINE_GLAPI *glRasterPos2d)(GLdouble x, GLdouble y) DECLSPEC_HIDDEN;
1031 void (WINE_GLAPI *glRasterPos2dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1032 void (WINE_GLAPI *glRasterPos2f)(GLfloat x, GLfloat y) DECLSPEC_HIDDEN;
1033 void (WINE_GLAPI *glRasterPos2fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1034 void (WINE_GLAPI *glRasterPos2i)(GLint x, GLint y) DECLSPEC_HIDDEN;
1035 void (WINE_GLAPI *glRasterPos2iv)(const GLint *v) DECLSPEC_HIDDEN;
1036 void (WINE_GLAPI *glRasterPos2s)(GLshort x, GLshort y) DECLSPEC_HIDDEN;
1037 void (WINE_GLAPI *glRasterPos2sv)(const GLshort *v) DECLSPEC_HIDDEN;
1038 void (WINE_GLAPI *glRasterPos3d)(GLdouble x, GLdouble y, GLdouble z) DECLSPEC_HIDDEN;
1039 void (WINE_GLAPI *glRasterPos3dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1040 void (WINE_GLAPI *glRasterPos3f)(GLfloat x, GLfloat y, GLfloat z) DECLSPEC_HIDDEN;
1041 void (WINE_GLAPI *glRasterPos3fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1042 void (WINE_GLAPI *glRasterPos3i)(GLint x, GLint y, GLint z) DECLSPEC_HIDDEN;
1043 void (WINE_GLAPI *glRasterPos3iv)(const GLint *v) DECLSPEC_HIDDEN;
1044 void (WINE_GLAPI *glRasterPos3s)(GLshort x, GLshort y, GLshort z) DECLSPEC_HIDDEN;
1045 void (WINE_GLAPI *glRasterPos3sv)(const GLshort *v) DECLSPEC_HIDDEN;
1046 void (WINE_GLAPI *glRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) DECLSPEC_HIDDEN;
1047 void (WINE_GLAPI *glRasterPos4dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1048 void (WINE_GLAPI *glRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) DECLSPEC_HIDDEN;
1049 void (WINE_GLAPI *glRasterPos4fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1050 void (WINE_GLAPI *glRasterPos4i)(GLint x, GLint y, GLint z, GLint w) DECLSPEC_HIDDEN;
1051 void (WINE_GLAPI *glRasterPos4iv)(const GLint *v) DECLSPEC_HIDDEN;
1052 void (WINE_GLAPI *glRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w) DECLSPEC_HIDDEN;
1053 void (WINE_GLAPI *glRasterPos4sv)(const GLshort *v) DECLSPEC_HIDDEN;
1054 void (WINE_GLAPI *glReadBuffer)(GLenum mode) DECLSPEC_HIDDEN;
1055 void (WINE_GLAPI *glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height,
1056 GLenum format, GLenum type, GLvoid *pixels) DECLSPEC_HIDDEN;
1057 void (WINE_GLAPI *glRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) DECLSPEC_HIDDEN;
1058 void (WINE_GLAPI *glRectdv)(const GLdouble *v1, const GLdouble *v2) DECLSPEC_HIDDEN;
1059 void (WINE_GLAPI *glRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) DECLSPEC_HIDDEN;
1060 void (WINE_GLAPI *glRectfv)(const GLfloat *v1, const GLfloat *v2) DECLSPEC_HIDDEN;
1061 void (WINE_GLAPI *glRecti)(GLint x1, GLint y1, GLint x2, GLint y2) DECLSPEC_HIDDEN;
1062 void (WINE_GLAPI *glRectiv)(const GLint *v1, const GLint *v2) DECLSPEC_HIDDEN;
1063 void (WINE_GLAPI *glRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2) DECLSPEC_HIDDEN;
1064 void (WINE_GLAPI *glRectsv)(const GLshort *v1, const GLshort *v2) DECLSPEC_HIDDEN;
1065 GLint (WINE_GLAPI *glRenderMode)(GLenum mode) DECLSPEC_HIDDEN;
1066 void (WINE_GLAPI *glRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) DECLSPEC_HIDDEN;
1067 void (WINE_GLAPI *glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) DECLSPEC_HIDDEN;
1068 void (WINE_GLAPI *glScaled)(GLdouble x, GLdouble y, GLdouble z) DECLSPEC_HIDDEN;
1069 void (WINE_GLAPI *glScalef)(GLfloat x, GLfloat y, GLfloat z) DECLSPEC_HIDDEN;
1070 void (WINE_GLAPI *glScissor)(GLint x, GLint y, GLsizei width, GLsizei height) DECLSPEC_HIDDEN;
1071 void (WINE_GLAPI *glSelectBuffer)(GLsizei size, GLuint *buffer) DECLSPEC_HIDDEN;
1072 void (WINE_GLAPI *glShadeModel)(GLenum mode) DECLSPEC_HIDDEN;
1073 void (WINE_GLAPI *glStencilFunc)(GLenum func, GLint ref, GLuint mask) DECLSPEC_HIDDEN;
1074 void (WINE_GLAPI *glStencilMask)(GLuint mask) DECLSPEC_HIDDEN;
1075 void (WINE_GLAPI *glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass) DECLSPEC_HIDDEN;
1076 void (WINE_GLAPI *glTexCoord1d)(GLdouble s) DECLSPEC_HIDDEN;
1077 void (WINE_GLAPI *glTexCoord1dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1078 void (WINE_GLAPI *glTexCoord1f)(GLfloat s) DECLSPEC_HIDDEN;
1079 void (WINE_GLAPI *glTexCoord1fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1080 void (WINE_GLAPI *glTexCoord1i)(GLint s) DECLSPEC_HIDDEN;
1081 void (WINE_GLAPI *glTexCoord1iv)(const GLint *v) DECLSPEC_HIDDEN;
1082 void (WINE_GLAPI *glTexCoord1s)(GLshort s) DECLSPEC_HIDDEN;
1083 void (WINE_GLAPI *glTexCoord1sv)(const GLshort *v) DECLSPEC_HIDDEN;
1084 void (WINE_GLAPI *glTexCoord2d)(GLdouble s, GLdouble t) DECLSPEC_HIDDEN;
1085 void (WINE_GLAPI *glTexCoord2dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1086 void (WINE_GLAPI *glTexCoord2f)(GLfloat s, GLfloat t) DECLSPEC_HIDDEN;
1087 void (WINE_GLAPI *glTexCoord2fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1088 void (WINE_GLAPI *glTexCoord2i)(GLint s, GLint t) DECLSPEC_HIDDEN;
1089 void (WINE_GLAPI *glTexCoord2iv)(const GLint *v) DECLSPEC_HIDDEN;
1090 void (WINE_GLAPI *glTexCoord2s)(GLshort s, GLshort t) DECLSPEC_HIDDEN;
1091 void (WINE_GLAPI *glTexCoord2sv)(const GLshort *v) DECLSPEC_HIDDEN;
1092 void (WINE_GLAPI *glTexCoord3d)(GLdouble s, GLdouble t, GLdouble r) DECLSPEC_HIDDEN;
1093 void (WINE_GLAPI *glTexCoord3dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1094 void (WINE_GLAPI *glTexCoord3f)(GLfloat s, GLfloat t, GLfloat r) DECLSPEC_HIDDEN;
1095 void (WINE_GLAPI *glTexCoord3fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1096 void (WINE_GLAPI *glTexCoord3i)(GLint s, GLint t, GLint r) DECLSPEC_HIDDEN;
1097 void (WINE_GLAPI *glTexCoord3iv)(const GLint *v) DECLSPEC_HIDDEN;
1098 void (WINE_GLAPI *glTexCoord3s)(GLshort s, GLshort t, GLshort r) DECLSPEC_HIDDEN;
1099 void (WINE_GLAPI *glTexCoord3sv)(const GLshort *v) DECLSPEC_HIDDEN;
1100 void (WINE_GLAPI *glTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q) DECLSPEC_HIDDEN;
1101 void (WINE_GLAPI *glTexCoord4dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1102 void (WINE_GLAPI *glTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q) DECLSPEC_HIDDEN;
1103 void (WINE_GLAPI *glTexCoord4fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1104 void (WINE_GLAPI *glTexCoord4i)(GLint s, GLint t, GLint r, GLint q) DECLSPEC_HIDDEN;
1105 void (WINE_GLAPI *glTexCoord4iv)(const GLint *v) DECLSPEC_HIDDEN;
1106 void (WINE_GLAPI *glTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q) DECLSPEC_HIDDEN;
1107 void (WINE_GLAPI *glTexCoord4sv)(const GLshort *v) DECLSPEC_HIDDEN;
1108 void (WINE_GLAPI *glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
1109 void (WINE_GLAPI *glTexEnvf)(GLenum target, GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
1110 void (WINE_GLAPI *glTexEnvfv)(GLenum target, GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
1111 void (WINE_GLAPI *glTexEnvi)(GLenum target, GLenum pname, GLint param) DECLSPEC_HIDDEN;
1112 void (WINE_GLAPI *glTexEnviv)(GLenum target, GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
1113 void (WINE_GLAPI *glTexGend)(GLenum coord, GLenum pname, GLdouble param) DECLSPEC_HIDDEN;
1114 void (WINE_GLAPI *glTexGendv)(GLenum coord, GLenum pname, const GLdouble *params) DECLSPEC_HIDDEN;
1115 void (WINE_GLAPI *glTexGenf)(GLenum coord, GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
1116 void (WINE_GLAPI *glTexGenfv)(GLenum coord, GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
1117 void (WINE_GLAPI *glTexGeni)(GLenum coord, GLenum pname, GLint param) DECLSPEC_HIDDEN;
1118 void (WINE_GLAPI *glTexGeniv)(GLenum coord, GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
1119 void (WINE_GLAPI *glTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width,
1120 GLint border, GLenum format, GLenum type, const GLvoid *pixels) DECLSPEC_HIDDEN;
1121 void (WINE_GLAPI *glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width,
1122 GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) DECLSPEC_HIDDEN;
1123 void (WINE_GLAPI *glTexParameterf)(GLenum target, GLenum pname, GLfloat param) DECLSPEC_HIDDEN;
1124 void (WINE_GLAPI *glTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
1125 void (WINE_GLAPI *glTexParameteri)(GLenum target, GLenum pname, GLint param) DECLSPEC_HIDDEN;
1126 void (WINE_GLAPI *glTexParameteriv)(GLenum target, GLenum pname, const GLint *params) DECLSPEC_HIDDEN;
1127 void (WINE_GLAPI *glTexSubImage1D)(GLenum target, GLint level, GLint xoffset,
1128 GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) DECLSPEC_HIDDEN;
1129 void (WINE_GLAPI *glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset,
1130 GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) DECLSPEC_HIDDEN;
1131 void (WINE_GLAPI *glTranslated)(GLdouble x, GLdouble y, GLdouble z) DECLSPEC_HIDDEN;
1132 void (WINE_GLAPI *glTranslatef)(GLfloat x, GLfloat y, GLfloat z) DECLSPEC_HIDDEN;
1133 void (WINE_GLAPI *glVertex2d)(GLdouble x, GLdouble y) DECLSPEC_HIDDEN;
1134 void (WINE_GLAPI *glVertex2dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1135 void (WINE_GLAPI *glVertex2f)(GLfloat x, GLfloat y) DECLSPEC_HIDDEN;
1136 void (WINE_GLAPI *glVertex2fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1137 void (WINE_GLAPI *glVertex2i)(GLint x, GLint y) DECLSPEC_HIDDEN;
1138 void (WINE_GLAPI *glVertex2iv)(const GLint *v) DECLSPEC_HIDDEN;
1139 void (WINE_GLAPI *glVertex2s)(GLshort x, GLshort y) DECLSPEC_HIDDEN;
1140 void (WINE_GLAPI *glVertex2sv)(const GLshort *v) DECLSPEC_HIDDEN;
1141 void (WINE_GLAPI *glVertex3d)(GLdouble x, GLdouble y, GLdouble z) DECLSPEC_HIDDEN;
1142 void (WINE_GLAPI *glVertex3dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1143 void (WINE_GLAPI *glVertex3f)(GLfloat x, GLfloat y, GLfloat z) DECLSPEC_HIDDEN;
1144 void (WINE_GLAPI *glVertex3fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1145 void (WINE_GLAPI *glVertex3i)(GLint x, GLint y, GLint z) DECLSPEC_HIDDEN;
1146 void (WINE_GLAPI *glVertex3iv)(const GLint *v) DECLSPEC_HIDDEN;
1147 void (WINE_GLAPI *glVertex3s)(GLshort x, GLshort y, GLshort z) DECLSPEC_HIDDEN;
1148 void (WINE_GLAPI *glVertex3sv)(const GLshort *v) DECLSPEC_HIDDEN;
1149 void (WINE_GLAPI *glVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) DECLSPEC_HIDDEN;
1150 void (WINE_GLAPI *glVertex4dv)(const GLdouble *v) DECLSPEC_HIDDEN;
1151 void (WINE_GLAPI *glVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) DECLSPEC_HIDDEN;
1152 void (WINE_GLAPI *glVertex4fv)(const GLfloat *v) DECLSPEC_HIDDEN;
1153 void (WINE_GLAPI *glVertex4i)(GLint x, GLint y, GLint z, GLint w) DECLSPEC_HIDDEN;
1154 void (WINE_GLAPI *glVertex4iv)(const GLint *v) DECLSPEC_HIDDEN;
1155 void (WINE_GLAPI *glVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w) DECLSPEC_HIDDEN;
1156 void (WINE_GLAPI *glVertex4sv)(const GLshort *v) DECLSPEC_HIDDEN;
1157 void (WINE_GLAPI *glVertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) DECLSPEC_HIDDEN;
1158 void (WINE_GLAPI *glViewport)(GLint x, GLint y, GLsizei width, GLsizei height) DECLSPEC_HIDDEN;
1159 void (WINE_GLAPI *glPointParameterfv)(GLenum pname, const GLfloat *params) DECLSPEC_HIDDEN;
1161 /* glFinish and glFlush are always loaded from opengl32.dll, thus they always have
1162 * __stdcall calling convention.
1164 * They are wgl functions and must not be called inside the gl lock, give them a
1165 * name that makes this clear
1167 void (__stdcall *wglFinish)(void) DECLSPEC_HIDDEN;
1168 void (__stdcall *wglFlush)(void) DECLSPEC_HIDDEN;
1171 HGLRC (WINAPI *pwglCreateContext)(HDC) DECLSPEC_HIDDEN;
1172 BOOL (WINAPI *pwglDeleteContext)(HGLRC) DECLSPEC_HIDDEN;
1173 HGLRC (WINAPI *pwglGetCurrentContext)(void) DECLSPEC_HIDDEN;
1174 HDC (WINAPI *pwglGetCurrentDC)(void) DECLSPEC_HIDDEN;
1175 PROC (WINAPI *pwglGetProcAddress)(LPCSTR) DECLSPEC_HIDDEN;
1176 BOOL (WINAPI *pwglMakeCurrent)(HDC, HGLRC) DECLSPEC_HIDDEN;
1177 BOOL (WINAPI *pwglShareLists)(HGLRC, HGLRC) DECLSPEC_HIDDEN;
1179 #define GL_FUNCS_GEN \
1180 USE_GL_FUNC(glAccum) \
1181 USE_GL_FUNC(glAlphaFunc) \
1182 USE_GL_FUNC(glAreTexturesResident) \
1183 USE_GL_FUNC(glArrayElement) \
1184 USE_GL_FUNC(glBegin) \
1185 USE_GL_FUNC(glBindTexture) \
1186 USE_GL_FUNC(glBitmap) \
1187 USE_GL_FUNC(glBlendFunc) \
1188 USE_GL_FUNC(glCallList) \
1189 USE_GL_FUNC(glCallLists) \
1190 USE_GL_FUNC(glClear) \
1191 USE_GL_FUNC(glClearAccum) \
1192 USE_GL_FUNC(glClearColor) \
1193 USE_GL_FUNC(glClearDepth) \
1194 USE_GL_FUNC(glClearIndex) \
1195 USE_GL_FUNC(glClearStencil) \
1196 USE_GL_FUNC(glClipPlane) \
1197 USE_GL_FUNC(glColor3b) \
1198 USE_GL_FUNC(glColor3bv) \
1199 USE_GL_FUNC(glColor3d) \
1200 USE_GL_FUNC(glColor3dv) \
1201 USE_GL_FUNC(glColor3f) \
1202 USE_GL_FUNC(glColor3fv) \
1203 USE_GL_FUNC(glColor3i) \
1204 USE_GL_FUNC(glColor3iv) \
1205 USE_GL_FUNC(glColor3s) \
1206 USE_GL_FUNC(glColor3sv) \
1207 USE_GL_FUNC(glColor3ub) \
1208 USE_GL_FUNC(glColor3ubv) \
1209 USE_GL_FUNC(glColor3ui) \
1210 USE_GL_FUNC(glColor3uiv) \
1211 USE_GL_FUNC(glColor3us) \
1212 USE_GL_FUNC(glColor3usv) \
1213 USE_GL_FUNC(glColor4b) \
1214 USE_GL_FUNC(glColor4bv) \
1215 USE_GL_FUNC(glColor4d) \
1216 USE_GL_FUNC(glColor4dv) \
1217 USE_GL_FUNC(glColor4f) \
1218 USE_GL_FUNC(glColor4fv) \
1219 USE_GL_FUNC(glColor4i) \
1220 USE_GL_FUNC(glColor4iv) \
1221 USE_GL_FUNC(glColor4s) \
1222 USE_GL_FUNC(glColor4sv) \
1223 USE_GL_FUNC(glColor4ub) \
1224 USE_GL_FUNC(glColor4ubv) \
1225 USE_GL_FUNC(glColor4ui) \
1226 USE_GL_FUNC(glColor4uiv) \
1227 USE_GL_FUNC(glColor4us) \
1228 USE_GL_FUNC(glColor4usv) \
1229 USE_GL_FUNC(glColorMask) \
1230 USE_GL_FUNC(glColorMaterial) \
1231 USE_GL_FUNC(glColorPointer) \
1232 USE_GL_FUNC(glCopyPixels) \
1233 USE_GL_FUNC(glCopyTexImage1D) \
1234 USE_GL_FUNC(glCopyTexImage2D) \
1235 USE_GL_FUNC(glCopyTexSubImage1D) \
1236 USE_GL_FUNC(glCopyTexSubImage2D) \
1237 USE_GL_FUNC(glCullFace) \
1238 USE_GL_FUNC(glDeleteLists) \
1239 USE_GL_FUNC(glDeleteTextures) \
1240 USE_GL_FUNC(glDepthFunc) \
1241 USE_GL_FUNC(glDepthMask) \
1242 USE_GL_FUNC(glDepthRange) \
1243 USE_GL_FUNC(glDisable) \
1244 USE_GL_FUNC(glDisableClientState) \
1245 USE_GL_FUNC(glDrawArrays) \
1246 USE_GL_FUNC(glDrawBuffer) \
1247 USE_GL_FUNC(glDrawElements) \
1248 USE_GL_FUNC(glDrawPixels) \
1249 USE_GL_FUNC(glEdgeFlag) \
1250 USE_GL_FUNC(glEdgeFlagPointer) \
1251 USE_GL_FUNC(glEdgeFlagv) \
1252 USE_GL_FUNC(glEnable) \
1253 USE_GL_FUNC(glEnableClientState) \
1254 USE_GL_FUNC(glEnd) \
1255 USE_GL_FUNC(glEndList) \
1256 USE_GL_FUNC(glEvalCoord1d) \
1257 USE_GL_FUNC(glEvalCoord1dv) \
1258 USE_GL_FUNC(glEvalCoord1f) \
1259 USE_GL_FUNC(glEvalCoord1fv) \
1260 USE_GL_FUNC(glEvalCoord2d) \
1261 USE_GL_FUNC(glEvalCoord2dv) \
1262 USE_GL_FUNC(glEvalCoord2f) \
1263 USE_GL_FUNC(glEvalCoord2fv) \
1264 USE_GL_FUNC(glEvalMesh1) \
1265 USE_GL_FUNC(glEvalMesh2) \
1266 USE_GL_FUNC(glEvalPoint1) \
1267 USE_GL_FUNC(glEvalPoint2) \
1268 USE_GL_FUNC(glFeedbackBuffer) \
1269 USE_GL_FUNC(glFogf) \
1270 USE_GL_FUNC(glFogfv) \
1271 USE_GL_FUNC(glFogi) \
1272 USE_GL_FUNC(glFogiv) \
1273 USE_GL_FUNC(glFrontFace) \
1274 USE_GL_FUNC(glFrustum) \
1275 USE_GL_FUNC(glGenLists) \
1276 USE_GL_FUNC(glGenTextures) \
1277 USE_GL_FUNC(glGetBooleanv) \
1278 USE_GL_FUNC(glGetClipPlane) \
1279 USE_GL_FUNC(glGetDoublev) \
1280 USE_GL_FUNC(glGetError) \
1281 USE_GL_FUNC(glGetFloatv) \
1282 USE_GL_FUNC(glGetIntegerv) \
1283 USE_GL_FUNC(glGetLightfv) \
1284 USE_GL_FUNC(glGetLightiv) \
1285 USE_GL_FUNC(glGetMapdv) \
1286 USE_GL_FUNC(glGetMapfv) \
1287 USE_GL_FUNC(glGetMapiv) \
1288 USE_GL_FUNC(glGetMaterialfv) \
1289 USE_GL_FUNC(glGetMaterialiv) \
1290 USE_GL_FUNC(glGetPixelMapfv) \
1291 USE_GL_FUNC(glGetPixelMapuiv) \
1292 USE_GL_FUNC(glGetPixelMapusv) \
1293 USE_GL_FUNC(glGetPointerv) \
1294 USE_GL_FUNC(glGetPolygonStipple) \
1295 USE_GL_FUNC(glGetString) \
1296 USE_GL_FUNC(glGetTexEnvfv) \
1297 USE_GL_FUNC(glGetTexEnviv) \
1298 USE_GL_FUNC(glGetTexGendv) \
1299 USE_GL_FUNC(glGetTexGenfv) \
1300 USE_GL_FUNC(glGetTexGeniv) \
1301 USE_GL_FUNC(glGetTexImage) \
1302 USE_GL_FUNC(glGetTexLevelParameterfv) \
1303 USE_GL_FUNC(glGetTexLevelParameteriv) \
1304 USE_GL_FUNC(glGetTexParameterfv) \
1305 USE_GL_FUNC(glGetTexParameteriv) \
1306 USE_GL_FUNC(glHint) \
1307 USE_GL_FUNC(glIndexMask) \
1308 USE_GL_FUNC(glIndexPointer) \
1309 USE_GL_FUNC(glIndexd) \
1310 USE_GL_FUNC(glIndexdv) \
1311 USE_GL_FUNC(glIndexf) \
1312 USE_GL_FUNC(glIndexfv) \
1313 USE_GL_FUNC(glIndexi) \
1314 USE_GL_FUNC(glIndexiv) \
1315 USE_GL_FUNC(glIndexs) \
1316 USE_GL_FUNC(glIndexsv) \
1317 USE_GL_FUNC(glIndexub) \
1318 USE_GL_FUNC(glIndexubv) \
1319 USE_GL_FUNC(glInitNames) \
1320 USE_GL_FUNC(glInterleavedArrays) \
1321 USE_GL_FUNC(glIsEnabled) \
1322 USE_GL_FUNC(glIsList) \
1323 USE_GL_FUNC(glIsTexture) \
1324 USE_GL_FUNC(glLightModelf) \
1325 USE_GL_FUNC(glLightModelfv) \
1326 USE_GL_FUNC(glLightModeli) \
1327 USE_GL_FUNC(glLightModeliv) \
1328 USE_GL_FUNC(glLightf) \
1329 USE_GL_FUNC(glLightfv) \
1330 USE_GL_FUNC(glLighti) \
1331 USE_GL_FUNC(glLightiv) \
1332 USE_GL_FUNC(glLineStipple) \
1333 USE_GL_FUNC(glLineWidth) \
1334 USE_GL_FUNC(glListBase) \
1335 USE_GL_FUNC(glLoadIdentity) \
1336 USE_GL_FUNC(glLoadMatrixd) \
1337 USE_GL_FUNC(glLoadMatrixf) \
1338 USE_GL_FUNC(glLoadName) \
1339 USE_GL_FUNC(glLogicOp) \
1340 USE_GL_FUNC(glMap1d) \
1341 USE_GL_FUNC(glMap1f) \
1342 USE_GL_FUNC(glMap2d) \
1343 USE_GL_FUNC(glMap2f) \
1344 USE_GL_FUNC(glMapGrid1d) \
1345 USE_GL_FUNC(glMapGrid1f) \
1346 USE_GL_FUNC(glMapGrid2d) \
1347 USE_GL_FUNC(glMapGrid2f) \
1348 USE_GL_FUNC(glMaterialf) \
1349 USE_GL_FUNC(glMaterialfv) \
1350 USE_GL_FUNC(glMateriali) \
1351 USE_GL_FUNC(glMaterialiv) \
1352 USE_GL_FUNC(glMatrixMode) \
1353 USE_GL_FUNC(glMultMatrixd) \
1354 USE_GL_FUNC(glMultMatrixf) \
1355 USE_GL_FUNC(glNewList) \
1356 USE_GL_FUNC(glNormal3b) \
1357 USE_GL_FUNC(glNormal3bv) \
1358 USE_GL_FUNC(glNormal3d) \
1359 USE_GL_FUNC(glNormal3dv) \
1360 USE_GL_FUNC(glNormal3f) \
1361 USE_GL_FUNC(glNormal3fv) \
1362 USE_GL_FUNC(glNormal3i) \
1363 USE_GL_FUNC(glNormal3iv) \
1364 USE_GL_FUNC(glNormal3s) \
1365 USE_GL_FUNC(glNormal3sv) \
1366 USE_GL_FUNC(glNormalPointer) \
1367 USE_GL_FUNC(glOrtho) \
1368 USE_GL_FUNC(glPassThrough) \
1369 USE_GL_FUNC(glPixelMapfv) \
1370 USE_GL_FUNC(glPixelMapuiv) \
1371 USE_GL_FUNC(glPixelMapusv) \
1372 USE_GL_FUNC(glPixelStoref) \
1373 USE_GL_FUNC(glPixelStorei) \
1374 USE_GL_FUNC(glPixelTransferf) \
1375 USE_GL_FUNC(glPixelTransferi) \
1376 USE_GL_FUNC(glPixelZoom) \
1377 USE_GL_FUNC(glPointSize) \
1378 USE_GL_FUNC(glPolygonMode) \
1379 USE_GL_FUNC(glPolygonOffset) \
1380 USE_GL_FUNC(glPolygonStipple) \
1381 USE_GL_FUNC(glPopAttrib) \
1382 USE_GL_FUNC(glPopClientAttrib) \
1383 USE_GL_FUNC(glPopMatrix) \
1384 USE_GL_FUNC(glPopName) \
1385 USE_GL_FUNC(glPrioritizeTextures) \
1386 USE_GL_FUNC(glPushAttrib) \
1387 USE_GL_FUNC(glPushClientAttrib) \
1388 USE_GL_FUNC(glPushMatrix) \
1389 USE_GL_FUNC(glPushName) \
1390 USE_GL_FUNC(glRasterPos2d) \
1391 USE_GL_FUNC(glRasterPos2dv) \
1392 USE_GL_FUNC(glRasterPos2f) \
1393 USE_GL_FUNC(glRasterPos2fv) \
1394 USE_GL_FUNC(glRasterPos2i) \
1395 USE_GL_FUNC(glRasterPos2iv) \
1396 USE_GL_FUNC(glRasterPos2s) \
1397 USE_GL_FUNC(glRasterPos2sv) \
1398 USE_GL_FUNC(glRasterPos3d) \
1399 USE_GL_FUNC(glRasterPos3dv) \
1400 USE_GL_FUNC(glRasterPos3f) \
1401 USE_GL_FUNC(glRasterPos3fv) \
1402 USE_GL_FUNC(glRasterPos3i) \
1403 USE_GL_FUNC(glRasterPos3iv) \
1404 USE_GL_FUNC(glRasterPos3s) \
1405 USE_GL_FUNC(glRasterPos3sv) \
1406 USE_GL_FUNC(glRasterPos4d) \
1407 USE_GL_FUNC(glRasterPos4dv) \
1408 USE_GL_FUNC(glRasterPos4f) \
1409 USE_GL_FUNC(glRasterPos4fv) \
1410 USE_GL_FUNC(glRasterPos4i) \
1411 USE_GL_FUNC(glRasterPos4iv) \
1412 USE_GL_FUNC(glRasterPos4s) \
1413 USE_GL_FUNC(glRasterPos4sv) \
1414 USE_GL_FUNC(glReadBuffer) \
1415 USE_GL_FUNC(glReadPixels) \
1416 USE_GL_FUNC(glRectd) \
1417 USE_GL_FUNC(glRectdv) \
1418 USE_GL_FUNC(glRectf) \
1419 USE_GL_FUNC(glRectfv) \
1420 USE_GL_FUNC(glRecti) \
1421 USE_GL_FUNC(glRectiv) \
1422 USE_GL_FUNC(glRects) \
1423 USE_GL_FUNC(glRectsv) \
1424 USE_GL_FUNC(glRenderMode) \
1425 USE_GL_FUNC(glRotated) \
1426 USE_GL_FUNC(glRotatef) \
1427 USE_GL_FUNC(glScaled) \
1428 USE_GL_FUNC(glScalef) \
1429 USE_GL_FUNC(glScissor) \
1430 USE_GL_FUNC(glSelectBuffer) \
1431 USE_GL_FUNC(glShadeModel) \
1432 USE_GL_FUNC(glStencilFunc) \
1433 USE_GL_FUNC(glStencilMask) \
1434 USE_GL_FUNC(glStencilOp) \
1435 USE_GL_FUNC(glTexCoord1d) \
1436 USE_GL_FUNC(glTexCoord1dv) \
1437 USE_GL_FUNC(glTexCoord1f) \
1438 USE_GL_FUNC(glTexCoord1fv) \
1439 USE_GL_FUNC(glTexCoord1i) \
1440 USE_GL_FUNC(glTexCoord1iv) \
1441 USE_GL_FUNC(glTexCoord1s) \
1442 USE_GL_FUNC(glTexCoord1sv) \
1443 USE_GL_FUNC(glTexCoord2d) \
1444 USE_GL_FUNC(glTexCoord2dv) \
1445 USE_GL_FUNC(glTexCoord2f) \
1446 USE_GL_FUNC(glTexCoord2fv) \
1447 USE_GL_FUNC(glTexCoord2i) \
1448 USE_GL_FUNC(glTexCoord2iv) \
1449 USE_GL_FUNC(glTexCoord2s) \
1450 USE_GL_FUNC(glTexCoord2sv) \
1451 USE_GL_FUNC(glTexCoord3d) \
1452 USE_GL_FUNC(glTexCoord3dv) \
1453 USE_GL_FUNC(glTexCoord3f) \
1454 USE_GL_FUNC(glTexCoord3fv) \
1455 USE_GL_FUNC(glTexCoord3i) \
1456 USE_GL_FUNC(glTexCoord3iv) \
1457 USE_GL_FUNC(glTexCoord3s) \
1458 USE_GL_FUNC(glTexCoord3sv) \
1459 USE_GL_FUNC(glTexCoord4d) \
1460 USE_GL_FUNC(glTexCoord4dv) \
1461 USE_GL_FUNC(glTexCoord4f) \
1462 USE_GL_FUNC(glTexCoord4fv) \
1463 USE_GL_FUNC(glTexCoord4i) \
1464 USE_GL_FUNC(glTexCoord4iv) \
1465 USE_GL_FUNC(glTexCoord4s) \
1466 USE_GL_FUNC(glTexCoord4sv) \
1467 USE_GL_FUNC(glTexCoordPointer) \
1468 USE_GL_FUNC(glTexEnvf) \
1469 USE_GL_FUNC(glTexEnvfv) \
1470 USE_GL_FUNC(glTexEnvi) \
1471 USE_GL_FUNC(glTexEnviv) \
1472 USE_GL_FUNC(glTexGend) \
1473 USE_GL_FUNC(glTexGendv) \
1474 USE_GL_FUNC(glTexGenf) \
1475 USE_GL_FUNC(glTexGenfv) \
1476 USE_GL_FUNC(glTexGeni) \
1477 USE_GL_FUNC(glTexGeniv) \
1478 USE_GL_FUNC(glTexImage1D) \
1479 USE_GL_FUNC(glTexImage2D) \
1480 USE_GL_FUNC(glTexParameterf) \
1481 USE_GL_FUNC(glTexParameterfv) \
1482 USE_GL_FUNC(glTexParameteri) \
1483 USE_GL_FUNC(glTexParameteriv) \
1484 USE_GL_FUNC(glTexSubImage1D) \
1485 USE_GL_FUNC(glTexSubImage2D) \
1486 USE_GL_FUNC(glTranslated) \
1487 USE_GL_FUNC(glTranslatef) \
1488 USE_GL_FUNC(glVertex2d) \
1489 USE_GL_FUNC(glVertex2dv) \
1490 USE_GL_FUNC(glVertex2f) \
1491 USE_GL_FUNC(glVertex2fv) \
1492 USE_GL_FUNC(glVertex2i) \
1493 USE_GL_FUNC(glVertex2iv) \
1494 USE_GL_FUNC(glVertex2s) \
1495 USE_GL_FUNC(glVertex2sv) \
1496 USE_GL_FUNC(glVertex3d) \
1497 USE_GL_FUNC(glVertex3dv) \
1498 USE_GL_FUNC(glVertex3f) \
1499 USE_GL_FUNC(glVertex3fv) \
1500 USE_GL_FUNC(glVertex3i) \
1501 USE_GL_FUNC(glVertex3iv) \
1502 USE_GL_FUNC(glVertex3s) \
1503 USE_GL_FUNC(glVertex3sv) \
1504 USE_GL_FUNC(glVertex4d) \
1505 USE_GL_FUNC(glVertex4dv) \
1506 USE_GL_FUNC(glVertex4f) \
1507 USE_GL_FUNC(glVertex4fv) \
1508 USE_GL_FUNC(glVertex4i) \
1509 USE_GL_FUNC(glVertex4iv) \
1510 USE_GL_FUNC(glVertex4s) \
1511 USE_GL_FUNC(glVertex4sv) \
1512 USE_GL_FUNC(glVertexPointer) \
1513 USE_GL_FUNC(glViewport) \
1514 USE_GL_FUNC(glPointParameterfv) \
1516 #define WGL_FUNCS_GEN \
1517 USE_WGL_FUNC(wglCreateContext) \
1518 USE_WGL_FUNC(wglDeleteContext) \
1519 USE_WGL_FUNC(wglGetCurrentContext) \
1520 USE_WGL_FUNC(wglGetCurrentDC) \
1521 USE_WGL_FUNC(wglGetProcAddress) \
1522 USE_WGL_FUNC(wglMakeCurrent) \
1523 USE_WGL_FUNC(wglShareLists)
1526 /****************************************************
1527 * OpenGL Extensions (EXT and ARB)
1528 * #defines and functions pointer
1529 ****************************************************/
1531 /* GL_ARB_color_buffer_float */
1532 #ifndef GL_ARB_color_buffer_float
1533 #define GL_RGBA_FLOAT_MODE_ARB 0x8820
1534 #define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
1535 #define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
1536 #define GL_CLAMP_READ_COLOR_ARB 0x891C
1537 #define GL_FIXED_ONLY_ARB 0x891D
1539 typedef void (WINE_GLAPI *PGLFNCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
1541 /* GL_ARB_depth_buffer_float */
1542 #ifndef GL_ARB_depth_buffer_float
1543 #define GL_ARB_depth_buffer_float 1
1544 #define GL_DEPTH_COMPONENT32F 0x8cac
1545 #define GL_DEPTH32F_STENCIL8 0x8cad
1546 #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8dad
1549 /* GL_ARB_depth_clamp */
1550 #ifndef GL_ARB_depth_clamp
1551 #define GL_ARB_depth_clamp 1
1552 #define GL_DEPTH_CLAMP 0x864f
1555 /* GL_ARB_depth_texture */
1556 #ifndef GL_ARB_depth_texture
1557 #define GL_ARB_depth_texture 1
1558 #define GL_DEPTH_COMPONENT16_ARB 0x81A5
1559 #define GL_DEPTH_COMPONENT24_ARB 0x81A6
1560 #define GL_DEPTH_COMPONENT32_ARB 0x81A7
1561 #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
1562 #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
1565 /* GL_ARB_draw_buffers */
1566 #ifndef GL_ARB_draw_buffers
1567 #define GL_ARB_draw_buffers 1
1568 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824
1569 #define GL_DRAW_BUFFER0_ARB 0x8825
1570 #define GL_DRAW_BUFFER1_ARB 0x8826
1571 #define GL_DRAW_BUFFER2_ARB 0x8827
1572 #define GL_DRAW_BUFFER3_ARB 0x8828
1573 #define GL_DRAW_BUFFER4_ARB 0x8829
1574 #define GL_DRAW_BUFFER5_ARB 0x882A
1575 #define GL_DRAW_BUFFER6_ARB 0x882B
1576 #define GL_DRAW_BUFFER7_ARB 0x882C
1577 #define GL_DRAW_BUFFER8_ARB 0x882D
1578 #define GL_DRAW_BUFFER9_ARB 0x882E
1579 #define GL_DRAW_BUFFER10_ARB 0x882F
1580 #define GL_DRAW_BUFFER11_ARB 0x8830
1581 #define GL_DRAW_BUFFER12_ARB 0x8831
1582 #define GL_DRAW_BUFFER13_ARB 0x8832
1583 #define GL_DRAW_BUFFER14_ARB 0x8833
1584 #define GL_DRAW_BUFFER15_ARB 0x8834
1586 typedef void (WINE_GLAPI *PGLFNDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
1588 /* GL_ARB_framebuffer_object */
1589 #ifndef GL_ARB_framebuffer_object
1590 #define GL_ARB_framebuffer_object 1
1591 #define GL_FRAMEBUFFER 0x8d40
1592 #define GL_READ_FRAMEBUFFER 0x8ca8
1593 #define GL_DRAW_FRAMEBUFFER 0x8ca9
1594 #define GL_RENDERBUFFER 0x8d41
1595 #define GL_STENCIL_INDEX1 0x8d46
1596 #define GL_STENCIL_INDEX4 0x8d47
1597 #define GL_STENCIL_INDEX8 0x8d48
1598 #define GL_STENCIL_INDEX16 0x8d49
1599 #define GL_RENDERBUFFER_WIDTH 0x8d42
1600 #define GL_RENDERBUFFER_HEIGHT 0x8d43
1601 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8d44
1602 #define GL_RENDERBUFFER_RED_SIZE 0x8d50
1603 #define GL_RENDERBUFFER_GREEN_SIZE 0x8d51
1604 #define GL_RENDERBUFFER_BLUE_SIZE 0x8d52
1605 #define GL_RENDERBUFFER_ALPHA_SIZE 0x8d53
1606 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8d54
1607 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8d55
1608 #define GL_RENDERBUFFER_SAMPLES 0x8cab
1609 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8cd0
1610 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8cd1
1611 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8cd2
1612 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8cd3
1613 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8cd4
1614 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
1615 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
1616 #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
1617 #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
1618 #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
1619 #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
1620 #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
1621 #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
1622 #define GL_SRGB 0x8c40
1623 #define GL_UNSIGNED_NORMALIZED 0x8c17
1624 #define GL_FRAMEBUFFER_DEFAULT 0x8218
1625 #define GL_INDEX 0x8222
1626 #define GL_COLOR_ATTACHMENT0 0x8ce0
1627 #define GL_COLOR_ATTACHMENT1 0x8ce1
1628 #define GL_COLOR_ATTACHMENT2 0x8ce2
1629 #define GL_COLOR_ATTACHMENT3 0x8ce3
1630 #define GL_COLOR_ATTACHMENT4 0x8ce4
1631 #define GL_COLOR_ATTACHMENT5 0x8ce5
1632 #define GL_COLOR_ATTACHMENT6 0x8ce6
1633 #define GL_COLOR_ATTACHMENT7 0x8ce7
1634 #define GL_COLOR_ATTACHMENT8 0x8ce8
1635 #define GL_COLOR_ATTACHMENT9 0x8ce9
1636 #define GL_COLOR_ATTACHMENT10 0x8cea
1637 #define GL_COLOR_ATTACHMENT11 0x8ceb
1638 #define GL_COLOR_ATTACHMENT12 0x8cec
1639 #define GL_COLOR_ATTACHMENT13 0x8ced
1640 #define GL_COLOR_ATTACHMENT14 0x8cee
1641 #define GL_COLOR_ATTACHMENT15 0x8cef
1642 #define GL_DEPTH_ATTACHMENT 0x8d00
1643 #define GL_STENCIL_ATTACHMENT 0x8d20
1644 #define GL_DEPTH_STENCIL_ATTACHMENT 0x821a
1645 #define GL_MAX_SAMPLES 0x8d57
1646 #define GL_FRAMEBUFFER_COMPLETE 0x8cd5
1647 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8cd6
1648 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8cd7
1649 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8cdb
1650 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8cdc
1651 #define GL_FRAMEBUFFER_UNSUPPORTED 0x8cdd
1652 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8d56
1653 #define GL_FRAMEBUFFER_UNDEFINED 0x8219
1654 #define GL_FRAMEBUFFER_BINDING 0x8ca6
1655 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8ca6
1656 #define GL_READ_FRAMEBUFFER_BINDING 0x8caa
1657 #define GL_RENDERBUFFER_BINDING 0x8ca7
1658 #define GL_MAX_COLOR_ATTACHMENTS 0x8cdf
1659 #define GL_MAX_RENDERBUFFER_SIZE 0x84e8
1660 #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
1661 #define GL_DEPTH_STENCIL 0x84f9
1662 #define GL_UNSIGNED_INT_24_8 0x84fa
1663 #define GL_DEPTH24_STENCIL8 0x88f0
1664 #define GL_TEXTURE_STENCIL_SIZE 0x88f1
1666 typedef GLboolean (WINE_GLAPI * PGLFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
1667 typedef void (WINE_GLAPI * PGLFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
1668 typedef void (WINE_GLAPI * PGLFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);
1669 typedef void (WINE_GLAPI * PGLFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);
1670 typedef void (WINE_GLAPI * PGLFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat,
1671 GLsizei width, GLsizei height);
1672 typedef void (WINE_GLAPI * PGLFNRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples,
1673 GLenum internalformat, GLsizei width, GLsizei height);
1674 typedef void (WINE_GLAPI * PGLFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
1675 typedef GLboolean (WINE_GLAPI * PGLFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
1676 typedef void (WINE_GLAPI * PGLFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
1677 typedef void (WINE_GLAPI * PGLFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);
1678 typedef void (WINE_GLAPI * PGLFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);
1679 typedef GLenum (WINE_GLAPI * PGLFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
1680 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment,
1681 GLenum textarget, GLuint texture, GLint level);
1682 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment,
1683 GLenum textarget, GLuint texture, GLint level);
1684 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment,
1685 GLenum textarget, GLuint texture, GLint level, GLint layer);
1686 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment,
1687 GLuint texture, GLint level, GLint layer);
1688 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment,
1689 GLenum renderbuffertarget, GLuint renderbuffer);
1690 typedef void (WINE_GLAPI * PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment,
1691 GLenum pname, GLint *params);
1692 typedef void (WINE_GLAPI * PGLFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
1693 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1694 typedef void (WINE_GLAPI * PGLFNGLGENERATEMIPMAPPROC)(GLenum target);
1696 /* GL_ARB_geometry_shader4 */
1697 #ifndef GL_ARB_geometry_shader4
1698 #define GL_GEOMETRY_SHADER_ARB 0x8dd9
1699 #define GL_GEOMETRY_VERTICES_OUT_ARB 0x8dda
1700 #define GL_GEOMETRY_INPUT_TYPE_ARB 0x8ddb
1701 #define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8ddc
1702 #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8c29
1703 #define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8ddd
1704 #define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8dde
1705 #define GL_MAX_VARYING_COMPONENTS_ARB 0x8b4b
1706 #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8ddf
1707 #define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8de0
1708 #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8de1
1709 #define GL_LINES_ADJACENCY_ARB 0x000a
1710 #define GL_LINE_STRIP_ADJACENCY_ARB 0x000b
1711 #define GL_TRIANGLES_ADJACENCY_ARB 0x000c
1712 #define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000d
1713 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8da8
1714 #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8da9
1715 #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8da7
1716 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8cd4
1717 #define GL_PROGRAM_POINT_SIZE_ARB 0x8642
1719 typedef void (WINE_GLAPI *PGLFNPROGRAMPARAMETERIARBPROC)(GLuint program, GLenum pname, GLint value);
1720 typedef void (WINE_GLAPI *PGLFNFRAMEBUFFERTEXTUREARBPROC)(GLenum target, GLenum attachment,
1721 GLuint texture, GLint level);
1722 typedef void (WINE_GLAPI *PGLFNFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment,
1723 GLuint texture, GLint level, GLint layer);
1724 typedef void (WINE_GLAPI *PGLFNFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum target, GLenum attachment,
1725 GLuint texture, GLint level, GLenum face);
1727 /* GL_ARB_imaging */
1728 #ifndef GL_ARB_imaging
1729 #define GL_ARB_imaging 1
1730 #define GL_CONSTANT_COLOR 0x8001
1731 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
1732 #define GL_CONSTANT_ALPHA 0x8003
1733 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
1734 #define GL_BLEND_COLOR 0x8005
1735 #define GL_FUNC_ADD 0x8006
1736 #define GL_MIN 0x8007
1737 #define GL_MAX 0x8008
1738 #define GL_BLEND_EQUATION 0x8009
1739 #define GL_FUNC_SUBTRACT 0x800A
1740 #define GL_FUNC_REVERSE_SUBTRACT 0x800B
1741 #define GL_CONVOLUTION_1D 0x8010
1742 #define GL_CONVOLUTION_2D 0x8011
1743 #define GL_SEPARABLE_2D 0x8012
1744 #define GL_CONVOLUTION_BORDER_MODE 0x8013
1745 #define GL_CONVOLUTION_FILTER_SCALE 0x8014
1746 #define GL_CONVOLUTION_FILTER_BIAS 0x8015
1747 #define GL_REDUCE 0x8016
1748 #define GL_CONVOLUTION_FORMAT 0x8017
1749 #define GL_CONVOLUTION_WIDTH 0x8018
1750 #define GL_CONVOLUTION_HEIGHT 0x8019
1751 #define GL_MAX_CONVOLUTION_WIDTH 0x801A
1752 #define GL_MAX_CONVOLUTION_HEIGHT 0x801B
1753 #define GL_POST_CONVOLUTION_RED_SCALE 0x801C
1754 #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
1755 #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
1756 #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
1757 #define GL_POST_CONVOLUTION_RED_BIAS 0x8020
1758 #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
1759 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
1760 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
1761 #define GL_HISTOGRAM 0x8024
1762 #define GL_PROXY_HISTOGRAM 0x8025
1763 #define GL_HISTOGRAM_WIDTH 0x8026
1764 #define GL_HISTOGRAM_FORMAT 0x8027
1765 #define GL_HISTOGRAM_RED_SIZE 0x8028
1766 #define GL_HISTOGRAM_GREEN_SIZE 0x8029
1767 #define GL_HISTOGRAM_BLUE_SIZE 0x802A
1768 #define GL_HISTOGRAM_ALPHA_SIZE 0x802B
1769 #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
1770 #define GL_HISTOGRAM_SINK 0x802D
1771 #define GL_MINMAX 0x802E
1772 #define GL_MINMAX_FORMAT 0x802F
1773 #define GL_MINMAX_SINK 0x8030
1774 #define GL_TABLE_TOO_LARGE 0x8031
1775 #define GL_COLOR_MATRIX 0x80B1
1776 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
1777 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
1778 #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
1779 #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
1780 #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
1781 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
1782 #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
1783 #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
1784 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
1785 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
1786 #define GL_COLOR_TABLE 0x80D0
1787 #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
1788 #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
1789 #define GL_PROXY_COLOR_TABLE 0x80D3
1790 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
1791 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
1792 #define GL_COLOR_TABLE_SCALE 0x80D6
1793 #define GL_COLOR_TABLE_BIAS 0x80D7
1794 #define GL_COLOR_TABLE_FORMAT 0x80D8
1795 #define GL_COLOR_TABLE_WIDTH 0x80D9
1796 #define GL_COLOR_TABLE_RED_SIZE 0x80DA
1797 #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
1798 #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
1799 #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
1800 #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
1801 #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
1802 #define GL_CONSTANT_BORDER 0x8151
1803 #define GL_REPLICATE_BORDER 0x8153
1804 #define GL_CONVOLUTION_BORDER_COLOR 0x8154
1806 typedef void (WINE_GLAPI *PGLFNBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
1807 typedef void (WINE_GLAPI *PGLFNBLENDEQUATIONPROC) (GLenum mode);
1808 /* GL_ARB_multitexture */
1809 #ifndef GL_ARB_multitexture
1810 #define GL_ARB_multitexture 1
1811 #define GL_TEXTURE0_ARB 0x84C0
1812 #define GL_TEXTURE1_ARB 0x84C1
1813 #define GL_TEXTURE2_ARB 0x84C2
1814 #define GL_TEXTURE3_ARB 0x84C3
1815 #define GL_TEXTURE4_ARB 0x84C4
1816 #define GL_TEXTURE5_ARB 0x84C5
1817 #define GL_TEXTURE6_ARB 0x84C6
1818 #define GL_TEXTURE7_ARB 0x84C7
1819 #define GL_TEXTURE8_ARB 0x84C8
1820 #define GL_TEXTURE9_ARB 0x84C9
1821 #define GL_TEXTURE10_ARB 0x84CA
1822 #define GL_TEXTURE11_ARB 0x84CB
1823 #define GL_TEXTURE12_ARB 0x84CC
1824 #define GL_TEXTURE13_ARB 0x84CD
1825 #define GL_TEXTURE14_ARB 0x84CE
1826 #define GL_TEXTURE15_ARB 0x84CF
1827 #define GL_TEXTURE16_ARB 0x84D0
1828 #define GL_TEXTURE17_ARB 0x84D1
1829 #define GL_TEXTURE18_ARB 0x84D2
1830 #define GL_TEXTURE19_ARB 0x84D3
1831 #define GL_TEXTURE20_ARB 0x84D4
1832 #define GL_TEXTURE21_ARB 0x84D5
1833 #define GL_TEXTURE22_ARB 0x84D6
1834 #define GL_TEXTURE23_ARB 0x84D7
1835 #define GL_TEXTURE24_ARB 0x84D8
1836 #define GL_TEXTURE25_ARB 0x84D9
1837 #define GL_TEXTURE26_ARB 0x84DA
1838 #define GL_TEXTURE27_ARB 0x84DB
1839 #define GL_TEXTURE28_ARB 0x84DC
1840 #define GL_TEXTURE29_ARB 0x84DD
1841 #define GL_TEXTURE30_ARB 0x84DE
1842 #define GL_TEXTURE31_ARB 0x84DF
1843 #define GL_ACTIVE_TEXTURE_ARB 0x84E0
1844 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
1845 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
1847 typedef void (WINE_GLAPI *WINED3D_PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
1848 typedef void (WINE_GLAPI *WINED3D_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
1849 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
1850 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
1851 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
1852 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
1853 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
1854 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
1855 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
1856 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
1857 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
1858 typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
1860 /* GL_ARB_texture_cube_map */
1861 #ifndef GL_ARB_texture_cube_map
1862 #define GL_ARB_texture_cube_map 1
1863 #define GL_NORMAL_MAP_ARB 0x8511
1864 #define GL_REFLECTION_MAP_ARB 0x8512
1865 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513
1866 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
1867 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
1868 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
1869 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
1870 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
1871 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
1872 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
1873 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
1874 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
1877 /* GL_ARB_point_parameters */
1878 #ifndef GL_ARB_point_parameters
1879 #define GL_ARB_point_parameters 1
1880 #define GL_POINT_SIZE_MIN_ARB 0x8126
1881 #define GL_POINT_SIZE_MAX_ARB 0x8127
1882 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
1883 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
1885 typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
1886 typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
1888 /* GL_ARB_provoking_vertex */
1889 #ifndef GL_ARB_provoking_vertex
1890 #define GL_ARB_provoking_vertex 1
1891 #define GL_FIRST_VERTEX_CONVENTION 0x8e4d
1892 #define GL_LAST_VERTEX_CONVENTION 0x8e4e
1893 #define GL_PROVOKING_VERTEX 0x8e4f
1894 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8e4c
1896 typedef void (WINE_GLAPI * PGLFNGLPROVOKINGVERTEXPROC)(GLenum mode);
1898 /* GL_ARB_vertex_blend */
1899 #ifndef GL_ARB_vertex_blend
1900 #define GL_ARB_vertex_blend 1
1901 #define GL_MAX_VERTEX_UNITS_ARB 0x86A4
1902 #define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
1903 #define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
1904 #define GL_VERTEX_BLEND_ARB 0x86A7
1905 #define GL_CURRENT_WEIGHT_ARB 0x86A8
1906 #define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
1907 #define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
1908 #define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
1909 #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
1910 #define GL_WEIGHT_ARRAY_ARB 0x86AD
1911 #define GL_MODELVIEW0_ARB 0x1700
1912 #define GL_MODELVIEW1_ARB 0x850A
1913 #define GL_MODELVIEW2_ARB 0x8722
1914 #define GL_MODELVIEW3_ARB 0x8723
1915 #define GL_MODELVIEW4_ARB 0x8724
1916 #define GL_MODELVIEW5_ARB 0x8725
1917 #define GL_MODELVIEW6_ARB 0x8726
1918 #define GL_MODELVIEW7_ARB 0x8727
1919 #define GL_MODELVIEW8_ARB 0x8728
1920 #define GL_MODELVIEW9_ARB 0x8729
1921 #define GL_MODELVIEW10_ARB 0x872A
1922 #define GL_MODELVIEW11_ARB 0x872B
1923 #define GL_MODELVIEW12_ARB 0x872C
1924 #define GL_MODELVIEW13_ARB 0x872D
1925 #define GL_MODELVIEW14_ARB 0x872E
1926 #define GL_MODELVIEW15_ARB 0x872F
1927 #define GL_MODELVIEW16_ARB 0x8730
1928 #define GL_MODELVIEW17_ARB 0x8731
1929 #define GL_MODELVIEW18_ARB 0x8732
1930 #define GL_MODELVIEW19_ARB 0x8733
1931 #define GL_MODELVIEW20_ARB 0x8734
1932 #define GL_MODELVIEW21_ARB 0x8735
1933 #define GL_MODELVIEW22_ARB 0x8736
1934 #define GL_MODELVIEW23_ARB 0x8737
1935 #define GL_MODELVIEW24_ARB 0x8738
1936 #define GL_MODELVIEW25_ARB 0x8739
1937 #define GL_MODELVIEW26_ARB 0x873A
1938 #define GL_MODELVIEW27_ARB 0x873B
1939 #define GL_MODELVIEW28_ARB 0x873C
1940 #define GL_MODELVIEW29_ARB 0x873D
1941 #define GL_MODELVIEW30_ARB 0x873E
1942 #define GL_MODELVIEW31_ARB 0x873F
1944 typedef void (WINE_GLAPI * PGLFNGLWEIGHTPOINTERARB) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1945 typedef void (WINE_GLAPI * PGLFNGLWEIGHTBV) (GLint size, const GLbyte *weights);
1946 typedef void (WINE_GLAPI * PGLFNGLWEIGHTSV) (GLint size, const GLshort *weights);
1947 typedef void (WINE_GLAPI * PGLFNGLWEIGHTIV) (GLint size, const GLint *weights);
1948 typedef void (WINE_GLAPI * PGLFNGLWEIGHTFV) (GLint size, const GLfloat *weights);
1949 typedef void (WINE_GLAPI * PGLFNGLWEIGHTDV) (GLint size, const GLdouble *weights);
1950 typedef void (WINE_GLAPI * PGLFNGLWEIGHTUBV) (GLint size, const GLubyte *weights);
1951 typedef void (WINE_GLAPI * PGLFNGLWEIGHTUSV) (GLint size, const GLushort *weights);
1952 typedef void (WINE_GLAPI * PGLFNGLWEIGHTUIV) (GLint size, const GLuint *weights);
1953 typedef void (WINE_GLAPI * PGLFNGLVERTEXBLENDARB) (GLint count);
1954 /* GL_ARB_pixel_buffer_object */
1955 #ifndef GL_ARB_pixel_buffer_object
1956 #define GL_ARB_pixel_buffer_object 1
1958 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
1959 #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
1960 #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
1961 #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
1962 /* GL_EXT_framebuffer_object */
1963 #ifndef GL_EXT_framebuffer_object
1964 #define GL_EXT_framebuffer_object 1
1965 #define GL_FRAMEBUFFER_EXT 0x8D40
1966 #define GL_RENDERBUFFER_EXT 0x8D41
1967 #define GL_STENCIL_INDEX1_EXT 0x8D46
1968 #define GL_STENCIL_INDEX4_EXT 0x8D47
1969 #define GL_STENCIL_INDEX8_EXT 0x8D48
1970 #define GL_STENCIL_INDEX16_EXT 0x8D49
1971 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
1972 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
1973 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
1974 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
1975 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
1976 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
1977 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
1978 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
1979 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
1980 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
1981 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
1982 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
1983 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
1984 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
1985 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
1986 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
1987 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
1988 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
1989 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
1990 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
1991 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
1992 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
1993 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
1994 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
1995 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
1996 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
1997 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
1998 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
1999 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
2000 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
2001 #define GL_DEPTH_ATTACHMENT_EXT 0x8D00
2002 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20
2003 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
2004 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
2005 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
2006 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
2007 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
2008 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
2009 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
2010 #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
2011 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
2012 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
2013 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
2014 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
2015 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
2018 typedef GLboolean (WINE_GLAPI * PGLFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer);
2019 typedef void (WINE_GLAPI * PGLFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer);
2020 typedef void (WINE_GLAPI * PGLFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei n, const GLuint *renderbuffers);
2021 typedef void (WINE_GLAPI * PGLFNGLGENRENDERBUFFERSEXTPROC)(GLsizei n, GLuint *renderbuffers);
2022 typedef void (WINE_GLAPI * PGLFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
2023 typedef void (WINE_GLAPI * PGLFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum target, GLenum pname, GLint *params);
2024 typedef GLboolean (WINE_GLAPI * PGLFNGLISFRAMEBUFFEREXTPROC)(GLuint framebuffer);
2025 typedef void (WINE_GLAPI * PGLFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer);
2026 typedef void (WINE_GLAPI * PGLFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei n, const GLuint *framebuffers);
2027 typedef void (WINE_GLAPI * PGLFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei n, GLuint *framebuffers);
2028 typedef GLenum (WINE_GLAPI * PGLFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum target);
2029 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2030 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2031 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
2032 typedef void (WINE_GLAPI * PGLFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
2033 typedef void (WINE_GLAPI * PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
2034 typedef void (WINE_GLAPI * PGLFNGLGENERATEMIPMAPEXTPROC)(GLenum target);
2035 /* GL_EXT_framebuffer_blit */
2036 #ifndef GL_EXT_framebuffer_blit
2037 #define GL_EXT_framebuffer_blit 1
2038 #define GL_READ_FRAMEBUFFER_EXT 0x8CA8
2039 #define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
2040 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
2041 #define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
2043 typedef void (WINE_GLAPI * PGLFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2045 /* GL_EXT_framebuffer_multisample */
2046 #ifndef GL_EXT_framebuffer_multisample
2047 #define GL_EXT_framebuffer_multisample 1
2048 #define GL_RENDERBUFFER_SAMPLES_EXT 0x8cab
2049 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8d56
2050 #define GL_MAX_SAMPLES_EXT 0x8d57
2052 typedef void (WINE_GLAPI * PGLFNRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2054 /* GL_EXT_packed_depth_stencil */
2055 #ifndef GL_EXT_packed_depth_stencil
2056 #define GL_EXT_packed_depth_stencil 1
2057 #define GL_DEPTH_STENCIL_EXT 0x84f9
2058 #define GL_UNSIGNED_INT_24_8_EXT 0x84fa
2059 #define GL_DEPTH24_STENCIL8_EXT 0x88f0
2060 #define GL_TEXTURE_STENCIL_SIZE_EXT 0x88f1
2063 /* GL_EXT_secondary_color */
2064 #ifndef GL_EXT_secondary_color
2065 #define GL_EXT_secondary_color 1
2066 #define GL_COLOR_SUM_EXT 0x8458
2067 #define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
2068 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
2069 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
2070 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
2071 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
2072 #define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
2074 typedef void (WINE_GLAPI * PGLFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
2075 typedef void (WINE_GLAPI * PGLFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
2076 typedef void (WINE_GLAPI * PGLFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
2077 typedef void (WINE_GLAPI * PGLFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
2078 typedef void (WINE_GLAPI * PGLFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
2079 /* GL_EXT_paletted_texture */
2080 #ifndef GL_EXT_paletted_texture
2081 #define GL_EXT_paletted_texture 1
2082 #define GL_COLOR_INDEX1_EXT 0x80E2
2083 #define GL_COLOR_INDEX2_EXT 0x80E3
2084 #define GL_COLOR_INDEX4_EXT 0x80E4
2085 #define GL_COLOR_INDEX8_EXT 0x80E5
2086 #define GL_COLOR_INDEX12_EXT 0x80E6
2087 #define GL_COLOR_INDEX16_EXT 0x80E7
2088 #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
2090 typedef void (WINE_GLAPI * PGLFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
2091 /* GL_EXT_point_parameters */
2092 #ifndef GL_EXT_point_parameters
2093 #define GL_EXT_point_parameters 1
2094 #define GL_POINT_SIZE_MIN_EXT 0x8126
2095 #define GL_POINT_SIZE_MAX_EXT 0x8127
2096 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
2097 #define GL_DISTANCE_ATTENUATION_EXT 0x8129
2099 typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
2100 typedef void (WINE_GLAPI * PGLFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
2102 /* GL_EXT_provoking_vertex */
2103 #ifndef GL_EXT_provoking_vertex
2104 #define GL_EXT_provoking_vertex 1
2105 #define GL_FIRST_VERTEX_CONVENTION_EXT 0x8e4d
2106 #define GL_LAST_VERTEX_CONVENTION_EXT 0x8e4e
2107 #define GL_PROVOKING_VERTEX_EXT 0x8e4f
2108 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8e4c
2110 typedef void (WINE_GLAPI * PGLFNGLPROVOKINGVERTEXEXTPROC)(GLenum mode);
2112 /* GL_EXT_texture3D */
2113 #ifndef GL_EXT_texture3D
2114 #define GL_EXT_texture3D 1
2115 #define GL_PACK_SKIP_IMAGES_EXT 0x806B
2116 #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
2117 #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
2118 #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
2119 #define GL_TEXTURE_3D_EXT 0x806F
2120 #define GL_PROXY_TEXTURE_3D_EXT 0x8070
2121 #define GL_TEXTURE_DEPTH_EXT 0x8071
2122 #define GL_TEXTURE_WRAP_R_EXT 0x8072
2123 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
2125 typedef void (WINE_GLAPI * PGLFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
2126 typedef void (WINE_GLAPI * PGLFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
2127 /* GL_EXT_texture_env_combine */
2128 #ifndef GL_EXT_texture_env_combine
2129 #define GL_EXT_texture_env_combine 1
2130 #define GL_COMBINE_EXT 0x8570
2131 #define GL_COMBINE_RGB_EXT 0x8571
2132 #define GL_COMBINE_ALPHA_EXT 0x8572
2133 #define GL_RGB_SCALE_EXT 0x8573
2134 #define GL_ADD_SIGNED_EXT 0x8574
2135 #define GL_INTERPOLATE_EXT 0x8575
2136 #define GL_SUBTRACT_EXT 0x84E7
2137 #define GL_CONSTANT_EXT 0x8576
2138 #define GL_PRIMARY_COLOR_EXT 0x8577
2139 #define GL_PREVIOUS_EXT 0x8578
2140 #define GL_SOURCE0_RGB_EXT 0x8580
2141 #define GL_SOURCE1_RGB_EXT 0x8581
2142 #define GL_SOURCE2_RGB_EXT 0x8582
2143 #define GL_SOURCE3_RGB_EXT 0x8583
2144 #define GL_SOURCE4_RGB_EXT 0x8584
2145 #define GL_SOURCE5_RGB_EXT 0x8585
2146 #define GL_SOURCE6_RGB_EXT 0x8586
2147 #define GL_SOURCE7_RGB_EXT 0x8587
2148 #define GL_SOURCE0_ALPHA_EXT 0x8588
2149 #define GL_SOURCE1_ALPHA_EXT 0x8589
2150 #define GL_SOURCE2_ALPHA_EXT 0x858A
2151 #define GL_SOURCE3_ALPHA_EXT 0x858B
2152 #define GL_SOURCE4_ALPHA_EXT 0x858C
2153 #define GL_SOURCE5_ALPHA_EXT 0x858D
2154 #define GL_SOURCE6_ALPHA_EXT 0x858E
2155 #define GL_SOURCE7_ALPHA_EXT 0x858F
2156 #define GL_OPERAND0_RGB_EXT 0x8590
2157 #define GL_OPERAND1_RGB_EXT 0x8591
2158 #define GL_OPERAND2_RGB_EXT 0x8592
2159 #define GL_OPERAND3_RGB_EXT 0x8593
2160 #define GL_OPERAND4_RGB_EXT 0x8594
2161 #define GL_OPERAND5_RGB_EXT 0x8595
2162 #define GL_OPERAND6_RGB_EXT 0x8596
2163 #define GL_OPERAND7_RGB_EXT 0x8597
2164 #define GL_OPERAND0_ALPHA_EXT 0x8598
2165 #define GL_OPERAND1_ALPHA_EXT 0x8599
2166 #define GL_OPERAND2_ALPHA_EXT 0x859A
2167 #define GL_OPERAND3_ALPHA_EXT 0x859B
2168 #define GL_OPERAND4_ALPHA_EXT 0x859C
2169 #define GL_OPERAND5_ALPHA_EXT 0x859D
2170 #define GL_OPERAND6_ALPHA_EXT 0x859E
2171 #define GL_OPERAND7_ALPHA_EXT 0x859F
2173 /* GL_EXT_texture_env_dot3 */
2174 #ifndef GL_EXT_texture_env_dot3
2175 #define GL_EXT_texture_env_dot3 1
2176 #define GL_DOT3_RGB_EXT 0x8740
2177 #define GL_DOT3_RGBA_EXT 0x8741
2179 /* GL_EXT_texture_lod_bias */
2180 #ifndef GL_EXT_texture_lod_bias
2181 #define GL_EXT_texture_lod_bias 1
2182 #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
2183 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
2184 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501
2186 /* GL_ARB_texture_border_clamp */
2187 #ifndef GL_ARB_texture_border_clamp
2188 #define GL_ARB_texture_border_clamp 1
2189 #define GL_CLAMP_TO_BORDER_ARB 0x812D
2191 /* GL_EXT_texture_filter_anisotropic */
2192 #ifndef GL_EXT_texture_filter_anisotropic
2193 #define GL_EXT_texture_filter_anisotropic 1
2194 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
2195 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
2197 /* GL_ARB_texture_mirrored_repeat (full support GL1.4) */
2198 #ifndef GL_ARB_texture_mirrored_repeat
2199 #define GL_ARB_texture_mirrored_repeat 1
2200 #define GL_MIRRORED_REPEAT_ARB 0x8370
2202 /* GL_ATI_texture_mirror_once */
2203 #ifndef GL_ATI_texture_mirror_once
2204 #define GL_ATI_texture_mirror_once 1
2205 #define GL_MIRROR_CLAMP_ATI 0x8742
2206 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
2208 /* GL_ARB_texture_env_dot3 */
2209 #ifndef GL_ARB_texture_env_dot3
2210 #define GL_ARB_texture_env_dot3 1
2211 #define GL_DOT3_RGB_ARB 0x86AE
2212 #define GL_DOT3_RGBA_ARB 0x86AF
2214 /* GL_EXT_texture_env_dot3 */
2215 #ifndef GL_EXT_texture_env_dot3
2216 #define GL_EXT_texture_env_dot3 1
2217 #define GL_DOT3_RGB_EXT 0x8740
2218 #define GL_DOT3_RGBA_EXT 0x8741
2220 /* GL_EXT_texture_sRGB */
2221 #ifndef GL_EXT_texture_sRGB
2222 #define GL_EXT_texture_sRGB 1
2223 #define GL_SRGB_EXT 0x8C40
2224 #define GL_SRGB8_EXT 0x8C41
2225 #define GL_SRGB_ALPHA_EXT 0x8C42
2226 #define GL_SRGB8_ALPHA8_EXT 0x8C43
2227 #define GL_SLUMINANCE_ALPHA_EXT 0x8C44
2228 #define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
2229 #define GL_SLUMINANCE_EXT 0x8C46
2230 #define GL_SLUMINANCE8_EXT 0x8C47
2231 #define GL_COMPRESSED_SRGB_EXT 0x8C48
2232 #define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
2233 #define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
2234 #define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
2235 #define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
2236 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
2237 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
2238 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
2240 /* GL_ARB_texture_float */
2241 #ifndef GL_ARB_texture_float
2242 #define GL_ARB_texture_float 1
2243 #define GL_RGBA32F_ARB 0x8814
2244 #define GL_RGB32F_ARB 0x8815
2245 #define GL_RGBA16F_ARB 0x881A
2246 #define GL_RGB16F_ARB 0x881B
2248 /* GL_ARB_texture_rg */
2249 #ifndef GL_ARB_texture_rg
2250 #define GL_RG 0x8227
2251 #define GL_RG_INTEGER 0x8228
2252 #define GL_R8 0x8229
2253 #define GL_R16 0x822A
2254 #define GL_RG8 0x822B
2255 #define GL_RG16 0x822C
2256 #define GL_R16F 0x822D
2257 #define GL_R32F 0x822E
2258 #define GL_RG16F 0x822F
2259 #define GL_RG32F 0x8230
2260 #define GL_R8I 0x8231
2261 #define GL_R8UI 0x8232
2262 #define GL_R16I 0x8233
2263 #define GL_R16UI 0x8234
2264 #define GL_R32I 0x8235
2265 #define GL_R32UI 0x8236
2266 #define GL_RG8I 0x8237
2267 #define GL_RG8UI 0x8238
2268 #define GL_RG16I 0x8239
2269 #define GL_RG16UI 0x823A
2270 #define GL_RG32I 0x823B
2271 #define GL_RG32UI 0x823C
2273 /* GL_EXT_texture_swizzle */
2274 #ifndef GL_EXT_texture_swizzle
2275 #define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
2276 #define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
2277 #define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
2278 #define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
2279 #define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
2281 /* GL_ARB_half_float_pixel */
2282 #ifndef GL_ARB_half_float_pixel
2283 #define GL_ARB_half_float_pixel
2284 #define GL_HALF_FLOAT_ARB 0x140B
2286 /* GL_ARB_vertex_program */
2287 #ifndef GL_ARB_vertex_program
2288 #define GL_ARB_vertex_program 1
2289 #define GL_VERTEX_PROGRAM_ARB 0x8620
2290 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
2291 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
2292 #define GL_COLOR_SUM_ARB 0x8458
2293 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
2294 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
2295 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
2296 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
2297 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
2298 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
2299 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
2300 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
2301 #define GL_PROGRAM_LENGTH_ARB 0x8627
2302 #define GL_PROGRAM_FORMAT_ARB 0x8876
2303 #define GL_PROGRAM_BINDING_ARB 0x8677
2304 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
2305 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
2306 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
2307 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
2308 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
2309 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
2310 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
2311 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
2312 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8
2313 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
2314 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
2315 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
2316 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC
2317 #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
2318 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
2319 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
2320 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
2321 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
2322 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
2323 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
2324 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
2325 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
2326 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
2327 #define GL_PROGRAM_STRING_ARB 0x8628
2328 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
2329 #define GL_CURRENT_MATRIX_ARB 0x8641
2330 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
2331 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
2332 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
2333 #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
2334 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
2335 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874
2336 #define GL_MATRIX0_ARB 0x88C0
2337 #define GL_MATRIX1_ARB 0x88C1
2338 #define GL_MATRIX2_ARB 0x88C2
2339 #define GL_MATRIX3_ARB 0x88C3
2340 #define GL_MATRIX4_ARB 0x88C4
2341 #define GL_MATRIX5_ARB 0x88C5
2342 #define GL_MATRIX6_ARB 0x88C6
2343 #define GL_MATRIX7_ARB 0x88C7
2344 #define GL_MATRIX8_ARB 0x88C8
2345 #define GL_MATRIX9_ARB 0x88C9
2346 #define GL_MATRIX10_ARB 0x88CA
2347 #define GL_MATRIX11_ARB 0x88CB
2348 #define GL_MATRIX12_ARB 0x88CC
2349 #define GL_MATRIX13_ARB 0x88CD
2350 #define GL_MATRIX14_ARB 0x88CE
2351 #define GL_MATRIX15_ARB 0x88CF
2352 #define GL_MATRIX16_ARB 0x88D0
2353 #define GL_MATRIX17_ARB 0x88D1
2354 #define GL_MATRIX18_ARB 0x88D2
2355 #define GL_MATRIX19_ARB 0x88D3
2356 #define GL_MATRIX20_ARB 0x88D4
2357 #define GL_MATRIX21_ARB 0x88D5
2358 #define GL_MATRIX22_ARB 0x88D6
2359 #define GL_MATRIX23_ARB 0x88D7
2360 #define GL_MATRIX24_ARB 0x88D8
2361 #define GL_MATRIX25_ARB 0x88D9
2362 #define GL_MATRIX26_ARB 0x88DA
2363 #define GL_MATRIX27_ARB 0x88DB
2364 #define GL_MATRIX28_ARB 0x88DC
2365 #define GL_MATRIX29_ARB 0x88DD
2366 #define GL_MATRIX30_ARB 0x88DE
2367 #define GL_MATRIX31_ARB 0x88DF
2369 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
2370 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
2371 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
2372 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
2373 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
2374 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
2375 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
2376 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
2377 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
2378 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
2379 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
2380 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
2381 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
2382 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
2383 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
2384 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
2385 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
2386 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
2387 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
2388 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
2389 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
2390 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
2391 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
2392 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
2393 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
2394 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
2395 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2396 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
2397 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
2398 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
2399 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
2400 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
2401 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
2402 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
2403 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
2404 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
2405 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
2406 typedef void (WINE_GLAPI * PGLFNENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
2407 typedef void (WINE_GLAPI * PGLFNDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
2408 typedef void (WINE_GLAPI * PGLFNPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
2409 typedef void (WINE_GLAPI * PGLFNBINDPROGRAMARBPROC) (GLenum target, GLuint program);
2410 typedef void (WINE_GLAPI * PGLFNDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
2411 typedef void (WINE_GLAPI * PGLFNGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
2412 typedef void (WINE_GLAPI * PGLFNPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2413 typedef void (WINE_GLAPI * PGLFNPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
2414 typedef void (WINE_GLAPI * PGLFNPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
2415 typedef void (WINE_GLAPI * PGLFNPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
2416 typedef void (WINE_GLAPI * PGLFNPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2417 typedef void (WINE_GLAPI * PGLFNPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
2418 typedef void (WINE_GLAPI * PGLFNPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
2419 typedef void (WINE_GLAPI * PGLFNPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
2420 typedef void (WINE_GLAPI * PGLFNGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
2421 typedef void (WINE_GLAPI * PGLFNGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
2422 typedef void (WINE_GLAPI * PGLFNGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
2423 typedef void (WINE_GLAPI * PGLFNGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
2424 typedef void (WINE_GLAPI * PGLFNGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
2425 typedef void (WINE_GLAPI * PGLFNGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
2426 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
2427 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
2428 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
2429 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
2430 typedef GLboolean (WINE_GLAPI * PGLFNISPROGRAMARBPROC) (GLuint program);
2431 #ifndef GL_ARB_fragment_program
2432 #define GL_ARB_fragment_program 1
2433 #define GL_FRAGMENT_PROGRAM_ARB 0x8804
2434 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
2435 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
2436 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
2437 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
2438 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
2439 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
2440 #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
2441 #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
2442 #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
2443 #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
2444 #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
2445 #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
2446 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871
2447 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
2448 /* All ARB_fragment_program entry points are shared with ARB_vertex_program. */
2450 /* GL_ARB_multisample */
2451 #ifndef GL_ARB_multisample
2452 #define GL_ARB_multisample 1
2453 #define GL_MULTISAMPLE_ARB 0x809D
2454 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
2455 #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
2456 #define GL_SAMPLE_COVERAGE_ARB 0x80A0
2457 #define GL_SAMPLE_BUFFERS_ARB 0x80A8
2458 #define GL_SAMPLES_ARB 0x80A9
2459 #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
2460 #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
2461 #define GL_MULTISAMPLE_BIT_ARB 0x20000000
2463 typedef void (WINE_GLAPI * WINED3D_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
2464 /* GL_ARB_vertex_buffer_object */
2465 #ifndef GL_ARB_vertex_buffer_object
2466 #define GL_ARB_vertex_buffer_object 1
2467 #define GL_BUFFER_SIZE_ARB 0x8764
2468 #define GL_BUFFER_USAGE_ARB 0x8765
2469 #define GL_ARRAY_BUFFER_ARB 0x8892
2470 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
2471 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
2472 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
2473 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
2474 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
2475 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
2476 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
2477 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
2478 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
2479 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
2480 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
2481 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
2482 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
2483 #define GL_READ_ONLY_ARB 0x88B8
2484 #define GL_WRITE_ONLY_ARB 0x88B9
2485 #define GL_READ_WRITE_ARB 0x88BA
2486 #define GL_BUFFER_ACCESS_ARB 0x88BB
2487 #define GL_BUFFER_MAPPED_ARB 0x88BC
2488 #define GL_BUFFER_MAP_POINTER_ARB 0x88BD
2489 #define GL_STREAM_DRAW_ARB 0x88E0
2490 #define GL_STREAM_READ_ARB 0x88E1
2491 #define GL_STREAM_COPY_ARB 0x88E2
2492 #define GL_STATIC_DRAW_ARB 0x88E4
2493 #define GL_STATIC_READ_ARB 0x88E5
2494 #define GL_STATIC_COPY_ARB 0x88E6
2495 #define GL_DYNAMIC_DRAW_ARB 0x88E8
2496 #define GL_DYNAMIC_READ_ARB 0x88E9
2497 #define GL_DYNAMIC_COPY_ARB 0x88EA
2499 typedef void (WINE_GLAPI * PGLFNBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
2500 typedef void (WINE_GLAPI * PGLFNDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
2501 typedef void (WINE_GLAPI * PGLFNGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
2502 typedef GLboolean (WINE_GLAPI * PGLFNISBUFFERARBPROC) (GLuint buffer);
2503 typedef void (WINE_GLAPI * PGLFNBUFFERDATAARBPROC) (GLenum target, ptrdiff_t size, const GLvoid *data, GLenum usage);
2504 typedef void (WINE_GLAPI * PGLFNBUFFERSUBDATAARBPROC) (GLenum target, ptrdiff_t offset, ptrdiff_t size, const GLvoid *data);
2505 typedef void (WINE_GLAPI * PGLFNGETBUFFERSUBDATAARBPROC) (GLenum target, ptrdiff_t offset, ptrdiff_t size, GLvoid *data);
2506 typedef GLvoid* (WINE_GLAPI * PGLFNMAPBUFFERARBPROC) (GLenum target, GLenum access);
2507 typedef GLboolean (WINE_GLAPI * PGLFNUNMAPBUFFERARBPROC) (GLenum target);
2508 typedef void (WINE_GLAPI * PGLFNGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
2509 typedef void (WINE_GLAPI * PGLFNGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
2510 /* GL_EXT_blend_equation_separate */
2511 typedef void (WINE_GLAPI * PGLFNBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
2512 /* GL_EXT_blend_func_separate */
2513 #ifndef GL_EXT_blend_func_separate
2514 #define GL_BLEND_DST_RGB_EXT 0x80C8
2515 #define GL_BLEND_SRC_RGB_EXT 0x80C9
2516 #define GL_BLEND_DST_ALPHA_EXT 0x80CA
2517 #define GL_BLEND_SRC_ALPHA_EXT 0x80CB
2519 typedef void (WINE_GLAPI * PGLFNBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
2520 /* GL_EXT_fog_coord */
2521 #ifndef GL_EXT_fog_coord
2522 #define GL_EXT_fog_coord 1
2523 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
2524 #define GL_FOG_COORDINATE_EXT 0x8451
2525 #define GL_FRAGMENT_DEPTH_EXT 0x8452
2526 #define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
2527 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
2528 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
2529 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
2530 #define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
2531 #endif /* GL_EXT_fog_coord */
2532 typedef void (WINE_GLAPI * PGLFNGLFOGCOORDFEXTPROC) (GLfloat coord);
2533 typedef void (WINE_GLAPI * PGLFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
2534 typedef void (WINE_GLAPI * PGLFNGLFOGCOORDDEXTPROC) (GLdouble coord);
2535 typedef void (WINE_GLAPI * PGLFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
2536 typedef void (WINE_GLAPI * PGLFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, GLvoid *data);
2537 /* GL_ARB_shader_objects (GLSL) */
2538 #ifndef GL_ARB_shader_objects
2539 #define GL_ARB_shader_objects 1
2540 typedef char GLcharARB;
2541 typedef unsigned int GLhandleARB;
2542 #define GL_PROGRAM_OBJECT_ARB 0x8B40
2543 #define GL_OBJECT_TYPE_ARB 0x8B4E
2544 #define GL_OBJECT_SUBTYPE_ARB 0x8B4F
2545 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
2546 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
2547 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82
2548 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
2549 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
2550 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
2551 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
2552 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
2553 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
2554 #define GL_SHADER_OBJECT_ARB 0x8B48
2555 #define GL_FLOAT_VEC2_ARB 0x8B50
2556 #define GL_FLOAT_VEC3_ARB 0x8B51
2557 #define GL_FLOAT_VEC4_ARB 0x8B52
2558 #define GL_INT_VEC2_ARB 0x8B53
2559 #define GL_INT_VEC3_ARB 0x8B54
2560 #define GL_INT_VEC4_ARB 0x8B55
2561 #define GL_BOOL_ARB 0x8B56
2562 #define GL_BOOL_VEC2_ARB 0x8B57
2563 #define GL_BOOL_VEC3_ARB 0x8B58
2564 #define GL_BOOL_VEC4_ARB 0x8B59
2565 #define GL_FLOAT_MAT2_ARB 0x8B5A
2566 #define GL_FLOAT_MAT3_ARB 0x8B5B
2567 #define GL_FLOAT_MAT4_ARB 0x8B5C
2568 #define GL_SAMPLER_1D_ARB 0x8B5D
2569 #define GL_SAMPLER_2D_ARB 0x8B5E
2570 #define GL_SAMPLER_3D_ARB 0x8B5F
2571 #define GL_SAMPLER_CUBE_ARB 0x8B60
2572 #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
2573 #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
2574 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
2575 #define GL_SAMPELR_2D_RECT_SHADOW_ARB 0x8B64
2577 #ifndef GL_ARB_shading_language_100
2578 #define GL_ARB_shading_language_100 1
2579 #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
2581 #ifndef GL_ARB_fragment_shader
2582 #define GL_ARB_fragment_shader 1
2583 #define GL_FRAGMENT_SHADER_ARB 0x8B30
2584 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
2585 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
2587 #ifndef GL_ARB_vertex_shader
2588 #define GL_ARB_vertex_shader 1
2589 #define GL_VERTEX_SHADER_ARB 0x8B31
2590 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
2591 #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
2592 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
2593 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
2594 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
2595 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
2597 typedef void (WINE_GLAPI * WINED3D_PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
2598 typedef void (WINE_GLAPI * WINED3D_PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
2599 typedef GLint (WINE_GLAPI * WINED3D_PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
2600 typedef void (WINE_GLAPI * WINED3D_PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
2601 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
2602 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
2603 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
2604 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
2605 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
2606 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
2607 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
2608 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
2609 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
2610 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
2611 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
2612 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
2613 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
2614 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
2615 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
2616 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
2617 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2618 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2619 typedef void (WINE_GLAPI * WINED3D_PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2620 typedef void (WINE_GLAPI * WINED3D_PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
2621 typedef void (WINE_GLAPI * WINED3D_PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
2622 typedef void (WINE_GLAPI * WINED3D_PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
2623 typedef void (WINE_GLAPI * WINED3D_PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
2624 typedef GLhandleARB (WINE_GLAPI * WINED3D_PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
2625 typedef void (WINE_GLAPI * WINED3D_PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
2626 typedef void (WINE_GLAPI * WINED3D_PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
2627 typedef GLhandleARB (WINE_GLAPI * WINED3D_PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
2628 typedef void (WINE_GLAPI * WINED3D_PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
2629 typedef void (WINE_GLAPI * WINED3D_PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
2630 typedef void (WINE_GLAPI * WINED3D_PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
2631 typedef void (WINE_GLAPI * WINED3D_PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
2632 typedef void (WINE_GLAPI * WINED3D_PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
2633 typedef void (WINE_GLAPI * WINED3D_PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
2634 typedef GLhandleARB (WINE_GLAPI * WINED3D_PFNGLGETHANDLEARBPROC) (GLenum pname);
2635 typedef void (WINE_GLAPI * WINED3D_PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
2636 typedef void (WINE_GLAPI * WINED3D_PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
2637 typedef GLint (WINE_GLAPI * WINED3D_PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
2638 /* GL_ARB_pixel_buffer_object */
2639 #ifndef GL_ARB_pixel_buffer_object
2640 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
2641 #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
2642 #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
2643 #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
2645 /* GL_EXT_texture */
2646 #ifndef GL_EXT_texture
2647 #define GL_EXT_texture 1
2648 #define GL_ALPHA4_EXT 0x803B
2649 #define GL_ALPHA8_EXT 0x803C
2650 #define GL_ALPHA12_EXT 0x803D
2651 #define GL_ALPHA16_EXT 0x803E
2652 #define GL_LUMINANCE4_EXT 0x803F
2653 #define GL_LUMINANCE8_EXT 0x8040
2654 #define GL_LUMINANCE12_EXT 0x8041
2655 #define GL_LUMINANCE16_EXT 0x8042
2656 #define GL_LUMINANCE4_ALPHA4_EXT 0x8043
2657 #define GL_LUMINANCE6_ALPHA2_EXT 0x8044
2658 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045
2659 #define GL_LUMINANCE12_ALPHA4_EXT 0x8046
2660 #define GL_LUMINANCE12_ALPHA12_EXT 0x8047
2661 #define GL_LUMINANCE16_ALPHA16_EXT 0x8048
2662 #define GL_INTENSITY_EXT 0x8049
2663 #define GL_INTENSITY4_EXT 0x804A
2664 #define GL_INTENSITY8_EXT 0x804B
2665 #define GL_INTENSITY12_EXT 0x804C
2666 #define GL_INTENSITY16_EXT 0x804D
2667 #define GL_RGB2_EXT 0x804E
2668 #define GL_RGB4_EXT 0x804F
2669 #define GL_RGB5_EXT 0x8050
2670 #define GL_RGB8_EXT 0x8051
2671 #define GL_RGB10_EXT 0x8052
2672 #define GL_RGB12_EXT 0x8053
2673 #define GL_RGB16_EXT 0x8054
2674 #define GL_RGBA2_EXT 0x8055
2675 #define GL_RGBA4_EXT 0x8056
2676 #define GL_RGB5_A1_EXT 0x8057
2677 #define GL_RGBA8_EXT 0x8058
2678 #define GL_RGB10_A2_EXT 0x8059
2679 #define GL_RGBA12_EXT 0x805A
2680 #define GL_RGBA16_EXT 0x805B
2681 #define GL_TEXTURE_RED_SIZE_EXT 0x805C
2682 #define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
2683 #define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
2684 #define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
2685 #define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
2686 #define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
2687 #define GL_REPLACE_EXT 0x8062
2688 #define GL_PROXY_TEXTURE_1D_EXT 0x8063
2689 #define GL_PROXY_TEXTURE_2D_EXT 0x8064
2690 #define GL_TEXTURE_TOO_LARGE_EXT 0x8065
2692 /* GL_EXT_texture_compression_s3tc */
2693 #ifndef GL_EXT_texture_compression_s3tc
2694 #define GL_EXT_texture_compression_s3tc 1
2695 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
2696 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
2697 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
2698 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
2700 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
2701 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
2702 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
2703 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
2704 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
2705 typedef void (WINE_GLAPI * PGLFNCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
2706 typedef void (WINE_GLAPI * PGLFNGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
2707 /* GL_EXT_stencil_wrap */
2708 #ifndef GL_EXT_stencil_wrap
2709 #define GL_EXT_stencil_wrap 1
2710 #define GL_INCR_WRAP_EXT 0x8507
2711 #define GL_DECR_WRAP_EXT 0x8508
2714 /* GL_ARB_half_float_vertex */
2715 #ifndef GL_ARB_half_float_vertex
2716 #define GL_ARB_half_float_vertex
2717 /* No _ARB, see extension spec */
2718 #define GL_HALF_FLOAT 0x140B
2720 /* GL_NV_half_float */
2721 #ifndef GL_NV_half_float
2722 #define GL_NV_half_float 1
2723 typedef unsigned short GLhalfNV;
2724 #define GL_HALF_FLOAT_NV 0x140B
2726 typedef void (WINE_GLAPI * PGLFNVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
2727 typedef void (WINE_GLAPI * PGLFNVERTEX2HVNVPROC) (const GLhalfNV *v);
2728 typedef void (WINE_GLAPI * PGLFNVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
2729 typedef void (WINE_GLAPI * PGLFNVERTEX3HVNVPROC) (const GLhalfNV *v);
2730 typedef void (WINE_GLAPI * PGLFNVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
2731 typedef void (WINE_GLAPI * PGLFNVERTEX4HVNVPROC) (const GLhalfNV *v);
2732 typedef void (WINE_GLAPI * PGLFNNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
2733 typedef void (WINE_GLAPI * PGLFNNORMAL3HVNVPROC) (const GLhalfNV *v);
2734 typedef void (WINE_GLAPI * PGLFNCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
2735 typedef void (WINE_GLAPI * PGLFNCOLOR3HVNVPROC) (const GLhalfNV *v);
2736 typedef void (WINE_GLAPI * PGLFNCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
2737 typedef void (WINE_GLAPI * PGLFNCOLOR4HVNVPROC) (const GLhalfNV *v);
2738 typedef void (WINE_GLAPI * PGLFNTEXCOORD1HNVPROC) (GLhalfNV s);
2739 typedef void (WINE_GLAPI * PGLFNTEXCOORD1HVNVPROC) (const GLhalfNV *v);
2740 typedef void (WINE_GLAPI * PGLFNTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
2741 typedef void (WINE_GLAPI * PGLFNTEXCOORD2HVNVPROC) (const GLhalfNV *v);
2742 typedef void (WINE_GLAPI * PGLFNTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
2743 typedef void (WINE_GLAPI * PGLFNTEXCOORD3HVNVPROC) (const GLhalfNV *v);
2744 typedef void (WINE_GLAPI * PGLFNTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
2745 typedef void (WINE_GLAPI * PGLFNTEXCOORD4HVNVPROC) (const GLhalfNV *v);
2746 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
2747 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
2748 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
2749 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
2750 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
2751 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
2752 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
2753 typedef void (WINE_GLAPI * PGLFNMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
2754 typedef void (WINE_GLAPI * PGLFNFOGCOORDHNVPROC) (GLhalfNV fog);
2755 typedef void (WINE_GLAPI * PGLFNFOGCOORDHVNVPROC) (const GLhalfNV *fog);
2756 typedef void (WINE_GLAPI * PGLFNSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
2757 typedef void (WINE_GLAPI * PGLFNSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
2758 typedef void (WINE_GLAPI * PGLFNVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
2759 typedef void (WINE_GLAPI * PGLFNVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
2760 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
2761 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
2762 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
2763 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
2764 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
2765 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
2766 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
2767 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
2768 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
2769 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
2770 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
2771 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
2773 /* GL_NV_fog_distance */
2774 #ifndef GL_NV_fog_distance
2775 #define GL_NV_fog_distance 1
2776 #define GL_FOG_DISTANCE_MODE_NV 0x855A
2777 #define GL_EYE_RADIAL_NV 0x855B
2778 #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
2779 /* reuse GL_EYE_PLANE */
2781 /* GL_NV_texgen_reflection */
2782 #ifndef GL_NV_texgen_reflection
2783 #define GL_NV_texgen_reflection 1
2784 #define GL_NORMAL_MAP_NV 0x8511
2785 #define GL_REFLECTION_MAP_NV 0x8512
2787 /* GL_NV_texture_env_combine4 */
2788 #ifndef GL_NV_texture_env_combine4
2789 #define GL_NV_texture_env_combine4 1
2790 #define GL_COMBINE4_NV 0x8503
2791 #define GL_SOURCE3_RGB_NV 0x8583
2792 #define GL_SOURCE3_ALPHA_NV 0x858B
2793 #define GL_OPERAND3_RGB_NV 0x8593
2794 #define GL_OPERAND3_ALPHA_NV 0x859B
2796 /* GL_NV_register_combiners */
2797 #ifndef GL_NV_register_combiners
2798 #define GL_NV_register_combiners 1
2799 #define GL_REGISTER_COMBINERS_NV 0x8522
2800 #define GL_VARIABLE_A_NV 0x8523
2801 #define GL_VARIABLE_B_NV 0x8524
2802 #define GL_VARIABLE_C_NV 0x8525
2803 #define GL_VARIABLE_D_NV 0x8526
2804 #define GL_VARIABLE_E_NV 0x8527
2805 #define GL_VARIABLE_F_NV 0x8528
2806 #define GL_VARIABLE_G_NV 0x8529
2807 #define GL_CONSTANT_COLOR0_NV 0x852A
2808 #define GL_CONSTANT_COLOR1_NV 0x852B
2809 #define GL_PRIMARY_COLOR_NV 0x852C
2810 #define GL_SECONDARY_COLOR_NV 0x852D
2811 #define GL_SPARE0_NV 0x852E
2812 #define GL_SPARE1_NV 0x852F
2813 #define GL_DISCARD_NV 0x8530
2814 #define GL_E_TIMES_F_NV 0x8531
2815 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
2816 #define GL_UNSIGNED_IDENTITY_NV 0x8536
2817 #define GL_UNSIGNED_INVERT_NV 0x8537
2818 #define GL_EXPAND_NORMAL_NV 0x8538
2819 #define GL_EXPAND_NEGATE_NV 0x8539
2820 #define GL_HALF_BIAS_NORMAL_NV 0x853A
2821 #define GL_HALF_BIAS_NEGATE_NV 0x853B
2822 #define GL_SIGNED_IDENTITY_NV 0x853C
2823 #define GL_SIGNED_NEGATE_NV 0x853D
2824 #define GL_SCALE_BY_TWO_NV 0x853E
2825 #define GL_SCALE_BY_FOUR_NV 0x853F
2826 #define GL_SCALE_BY_ONE_HALF_NV 0x8540
2827 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
2828 #define GL_COMBINER_INPUT_NV 0x8542
2829 #define GL_COMBINER_MAPPING_NV 0x8543
2830 #define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
2831 #define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
2832 #define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
2833 #define GL_COMBINER_MUX_SUM_NV 0x8547
2834 #define GL_COMBINER_SCALE_NV 0x8548
2835 #define GL_COMBINER_BIAS_NV 0x8549
2836 #define GL_COMBINER_AB_OUTPUT_NV 0x854A
2837 #define GL_COMBINER_CD_OUTPUT_NV 0x854B
2838 #define GL_COMBINER_SUM_OUTPUT_NV 0x854C
2839 #define GL_MAX_GENERAL_COMBINERS_NV 0x854D
2840 #define GL_NUM_GENERAL_COMBINERS_NV 0x854E
2841 #define GL_COLOR_SUM_CLAMP_NV 0x854F
2842 #define GL_COMBINER0_NV 0x8550
2843 #define GL_COMBINER1_NV 0x8551
2844 #define GL_COMBINER2_NV 0x8552
2845 #define GL_COMBINER3_NV 0x8553
2846 #define GL_COMBINER4_NV 0x8554
2847 #define GL_COMBINER5_NV 0x8555
2848 #define GL_COMBINER6_NV 0x8556
2849 #define GL_COMBINER7_NV 0x8557
2850 /* reuse GL_TEXTURE0_ARB */
2851 /* reuse GL_TEXTURE1_ARB */
2856 typedef void (WINE_GLAPI * PGLFNCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
2857 typedef void (WINE_GLAPI * PGLFNCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
2858 typedef void (WINE_GLAPI * PGLFNCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
2859 typedef void (WINE_GLAPI * PGLFNCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
2860 typedef void (WINE_GLAPI * PGLFNCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
2861 typedef void (WINE_GLAPI * PGLFNCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
2862 typedef void (WINE_GLAPI * PGLFNFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
2863 typedef void (WINE_GLAPI * PGLFNGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
2864 typedef void (WINE_GLAPI * PGLFNGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
2865 typedef void (WINE_GLAPI * PGLFNGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
2866 typedef void (WINE_GLAPI * PGLFNGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
2867 typedef void (WINE_GLAPI * PGLFNGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
2868 typedef void (WINE_GLAPI * PGLFNGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
2869 /* GL_NV_register_combiners2 */
2870 #ifndef GL_NV_register_combiners2
2871 #define GL_NV_register_combiners2 1
2872 #define GL_PER_STAGE_CONSTANTS_NV 0x8535
2874 typedef void (WINE_GLAPI * PGLFNCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
2875 typedef void (WINE_GLAPI * PGLFNGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
2876 /* GL_NV_texture_shader */
2877 #ifndef GL_NV_texture_shader
2878 #define GL_NV_texture_shader 1
2879 #define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
2880 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
2881 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
2882 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
2883 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
2884 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
2885 #define GL_DSDT_MAG_INTENSITY_NV 0x86DC
2886 #define GL_SHADER_CONSISTENT_NV 0x86DD
2887 #define GL_TEXTURE_SHADER_NV 0x86DE
2888 #define GL_SHADER_OPERATION_NV 0x86DF
2889 #define GL_CULL_MODES_NV 0x86E0
2890 #define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
2891 #define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
2892 #define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
2893 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
2894 #define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
2895 #define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
2896 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
2897 #define GL_CONST_EYE_NV 0x86E5
2898 #define GL_PASS_THROUGH_NV 0x86E6
2899 #define GL_CULL_FRAGMENT_NV 0x86E7
2900 #define GL_OFFSET_TEXTURE_2D_NV 0x86E8
2901 #define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
2902 #define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
2903 #define GL_DOT_PRODUCT_NV 0x86EC
2904 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
2905 #define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
2906 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
2907 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
2908 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
2909 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
2910 #define GL_HILO_NV 0x86F4
2911 #define GL_DSDT_NV 0x86F5
2912 #define GL_DSDT_MAG_NV 0x86F6
2913 #define GL_DSDT_MAG_VIB_NV 0x86F7
2914 #define GL_HILO16_NV 0x86F8
2915 #define GL_SIGNED_HILO_NV 0x86F9
2916 #define GL_SIGNED_HILO16_NV 0x86FA
2917 #define GL_SIGNED_RGBA_NV 0x86FB
2918 #define GL_SIGNED_RGBA8_NV 0x86FC
2919 #define GL_SIGNED_RGB_NV 0x86FE
2920 #define GL_SIGNED_RGB8_NV 0x86FF
2921 #define GL_SIGNED_LUMINANCE_NV 0x8701
2922 #define GL_SIGNED_LUMINANCE8_NV 0x8702
2923 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
2924 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
2925 #define GL_SIGNED_ALPHA_NV 0x8705
2926 #define GL_SIGNED_ALPHA8_NV 0x8706
2927 #define GL_SIGNED_INTENSITY_NV 0x8707
2928 #define GL_SIGNED_INTENSITY8_NV 0x8708
2929 #define GL_DSDT8_NV 0x8709
2930 #define GL_DSDT8_MAG8_NV 0x870A
2931 #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
2932 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
2933 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
2934 #define GL_HI_SCALE_NV 0x870E
2935 #define GL_LO_SCALE_NV 0x870F
2936 #define GL_DS_SCALE_NV 0x8710
2937 #define GL_DT_SCALE_NV 0x8711
2938 #define GL_MAGNITUDE_SCALE_NV 0x8712
2939 #define GL_VIBRANCE_SCALE_NV 0x8713
2940 #define GL_HI_BIAS_NV 0x8714
2941 #define GL_LO_BIAS_NV 0x8715
2942 #define GL_DS_BIAS_NV 0x8716
2943 #define GL_DT_BIAS_NV 0x8717
2944 #define GL_MAGNITUDE_BIAS_NV 0x8718
2945 #define GL_VIBRANCE_BIAS_NV 0x8719
2946 #define GL_TEXTURE_BORDER_VALUES_NV 0x871A
2947 #define GL_TEXTURE_HI_SIZE_NV 0x871B
2948 #define GL_TEXTURE_LO_SIZE_NV 0x871C
2949 #define GL_TEXTURE_DS_SIZE_NV 0x871D
2950 #define GL_TEXTURE_DT_SIZE_NV 0x871E
2951 #define GL_TEXTURE_MAG_SIZE_NV 0x871F
2953 /* GL_NV_texture_shader2 */
2954 #ifndef GL_NV_texture_shader2
2955 #define GL_NV_texture_shader2 1
2956 #define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
2958 /* GL_NV_texture_shader3 */
2959 #ifndef GL_NV_texture_shader3
2960 #define GL_NV_texture_shader3 1
2961 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
2962 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
2963 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
2964 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
2965 #define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
2966 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
2967 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
2968 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
2969 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
2970 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
2971 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
2972 #define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
2973 #define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
2974 #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
2975 #define GL_HILO8_NV 0x885E
2976 #define GL_SIGNED_HILO8_NV 0x885F
2977 #define GL_FORCE_BLUE_TO_ONE_NV 0x8860
2979 /* GL_ATI_texture_env_combine3 */
2980 #ifndef GL_ATI_texture_env_combine3
2981 #define GL_ATI_texture_env_combine3 1
2982 #define GL_MODULATE_ADD_ATI 0x8744
2983 #define GL_MODULATE_SIGNED_ADD_ATI 0x8745
2984 #define GL_MODULATE_SUBTRACT_ATI 0x8746
2992 /* GL_ARB_point_sprite */
2993 #ifndef GL_ARB_point_sprite
2994 #define GL_ARB_point_sprite 1
2995 #define GL_POINT_SPRITE_ARB 0x8861
2996 #define GL_COORD_REPLACE_ARB 0x8862
2999 * @TODO: GL_NV_point_sprite
3005 /* GL_ARB_occlusion_query */
3006 #ifndef GL_ARB_occlusion_query
3007 #define GL_ARB_occlusion_query 1
3008 #define GL_SAMPLES_PASSED_ARB 0x8914
3009 #define GL_QUERY_COUNTER_BITS_ARB 0x8864
3010 #define GL_CURRENT_QUERY_ARB 0x8865
3011 #define GL_QUERY_RESULT_ARB 0x8866
3012 #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
3014 typedef void (WINE_GLAPI * PGLFNGENQUERIESARBPROC) (GLsizei n, GLuint *queries);
3015 typedef void (WINE_GLAPI * PGLFNDELETEQUERIESARBPROC) (GLsizei n, const GLuint *queries);
3016 typedef GLboolean (WINE_GLAPI * PGLFNISQUERYARBPROC) (GLuint query);
3017 typedef void (WINE_GLAPI * PGLFNBEGINQUERYARBPROC) (GLenum target, GLuint query);
3018 typedef void (WINE_GLAPI * PGLFNENDQUERYARBPROC) (GLenum target);
3019 typedef void (WINE_GLAPI * PGLFNGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
3020 typedef void (WINE_GLAPI * PGLFNGETQUERYOBJECTIVARBPROC) (GLuint query, GLenum pname, GLint *params);
3021 typedef void (WINE_GLAPI * PGLFNGETQUERYOBJECTUIVARBPROC) (GLuint query, GLenum pname, GLuint *params);
3022 /* GL_HP_occlusion_test isn't complete, but it's constants are used by GL_NV_occlusion_query */
3023 #ifndef GL_HP_occlusion_test
3024 #define GL_HP_occlusion_test 1
3025 #define GL_OCCLUSION_TEST_HP 0x8165
3026 #define GL_OCCLUSION_TEST_RESULT_HP 0x8165
3028 /* GL_NV_occlusion_query */
3029 #ifndef GL_NV_occlusion_query
3030 #define GL_NV_occlusion_query 1
3031 #define GL_PIXEL_COUNTER_BITS_NV 0x8864
3032 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
3033 #define GL_PIXEL_COUNT_NV 0x8866
3034 #define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
3036 typedef void (WINE_GLAPI * PGLFNGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
3037 typedef void (WINE_GLAPI * PGLFNDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
3038 typedef GLboolean (WINE_GLAPI * PGLFNISOCCLUSIONQUERYNVPROC) (GLuint id);
3039 typedef void (WINE_GLAPI * PGLFNBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
3040 typedef void (WINE_GLAPI * PGLFNENDOCCLUSIONQUERYNVPROC) (void);
3041 typedef void (WINE_GLAPI * PGLFNGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
3042 typedef void (WINE_GLAPI * PGLFNGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
3043 /* GL_EXT_stencil_two_side */
3044 #ifndef GL_EXT_stencil_two_side
3045 #define GL_EXT_stencil_two_side 1
3046 #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
3047 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
3049 typedef void (WINE_GLAPI * PGLFNACTIVESTENCILFACEEXTPROC) (GLenum face);
3050 /* GL_ATI_separate_stencil */
3051 #ifndef GL_ATI_separate_stencil
3052 #define GL_ATI_separate_stencil 1
3053 #define GL_STENCIL_BACK_FUNC_ATI 0x8800
3054 #define GL_STENCIL_BACK_FAIL_ATI 0x8801
3055 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
3056 #define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
3058 typedef void (WINE_GLAPI * PGLFNSTENCILOPSEPARATEATIPROC) (GLenum, GLenum, GLenum, GLenum);
3059 typedef void (WINE_GLAPI * PGLFNSTENCILFUNCSEPARATEATIPROC) (GLenum, GLenum, GLint, GLuint);
3062 #define GL_NV_fence 1
3063 #define GL_ALL_COMPLETED_NV 0x84F2
3064 #define GL_FENCE_STATUS_NV 0x84F3
3065 #define GL_FENCE_CONDITION_NV 0x84F4
3067 typedef void (WINE_GLAPI * PGLFNGENFENCESNVPROC) (GLsizei, GLuint *);
3068 typedef void (WINE_GLAPI * PGLFNDELETEFENCESNVPROC) (GLuint, const GLuint *);
3069 typedef void (WINE_GLAPI * PGLFNSETFENCENVPROC) (GLuint, GLenum);
3070 typedef GLboolean (WINE_GLAPI * PGLFNTESTFENCENVPROC) (GLuint);
3071 typedef void (WINE_GLAPI * PGLFNFINISHFENCENVPROC) (GLuint);
3072 typedef GLboolean (WINE_GLAPI * PGLFNISFENCENVPROC) (GLuint);
3073 typedef void (WINE_GLAPI * PGLFNGETFENCEIVNVPROC) (GLuint, GLenum, GLint *);
3074 /* GL_APPLE_fence */
3075 #ifndef GL_APPLE_fence
3076 #define GL_APPLE_fence 1
3077 #define GL_DRAW_PIXELS_APPLE 0x8A0A
3078 #define GL_FENCE_APPLE 0x8A0B
3080 typedef void (WINE_GLAPI * PGLFNGENFENCESAPPLEPROC) (GLsizei, GLuint *);
3081 typedef void (WINE_GLAPI * PGLFNDELETEFENCESAPPLEPROC) (GLuint, const GLuint *);
3082 typedef void (WINE_GLAPI * PGLFNSETFENCEAPPLEPROC) (GLuint);
3083 typedef GLboolean (WINE_GLAPI * PGLFNTESTFENCEAPPLEPROC) (GLuint);
3084 typedef void (WINE_GLAPI * PGLFNFINISHFENCEAPPLEPROC) (GLuint);
3085 typedef GLboolean (WINE_GLAPI * PGLFNISFENCEAPPLEPROC) (GLuint);
3086 typedef GLboolean (WINE_GLAPI * PGLFNTESTOBJECTAPPLEPROC) (GLenum, GLuint);
3087 typedef void (WINE_GLAPI * PGLFNFINISHOBJECTAPPLEPROC) (GLenum, GLuint);
3088 /* GL_APPLE_client_storage */
3089 #ifndef GL_APPLE_client_storage
3090 #define GL_APPLE_client_storage 1
3091 #define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
3093 /* GLX_SGI_video_sync */
3094 typedef int (WINE_GLAPI * PGLXFNGETVIDEOSYNCSGIPROC) (unsigned int *);
3095 typedef int (WINE_GLAPI * PGLXFNWAITVIDEOSYNCSGIPROC) (int, int, unsigned int *);
3097 /* GL_SGIS_generate_mipmap */
3098 #ifndef GLX_SGIS_generate_mipmap
3099 #define GL_GENERATE_MIPMAP_SGIS 0x8191
3100 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
3101 #define GLX_SGIS_generate_mipmap
3104 /* GL_NV_depth_clamp */
3105 #ifndef GL_NV_depth_clamp
3106 #define GL_DEPTH_CLAMP_NV 0x864F
3109 /* GL_APPLE_flush_render */
3110 typedef void (WINE_GLAPI * PGLFNFLUSHRENDERAPPLEPROC) (void);
3111 typedef void (WINE_GLAPI * PGLFNFINISHRENDERAPPLEPROC) (void);
3113 /* GL_APPLE_ycbcr_422 */
3114 #ifndef GL_APPLE_ycbcr_422
3115 #define GL_APPLE_ycbcr_422
3116 #define GL_YCBCR_422_APPLE 0x85B9
3117 #define UNSIGNED_SHORT_8_8_APPLE 0x85BA
3118 #define UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
3121 /* GL_ARB_texture_rectangle */
3122 #ifndef GL_ARB_texture_rectangle
3123 #define GL_ARB_texture_rectangle
3124 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
3125 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
3126 #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
3127 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
3128 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
3129 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
3132 /* GL_APPLE_float_pixels */
3133 #ifndef GL_APPLE_float_pixels
3134 #define GL_APPLE_float_pixels
3135 #define GL_HALF_APPLE 0x140B
3136 #define GL_COLOR_FLOAT_APPLE 0x8A0F
3137 #define GL_RGBA_FLOAT32_APPLE 0x8814
3138 #define GL_RGB_FLOAT32_APPLE 0x8815
3139 #define GL_ALPHA_FLOAT32_APPLE 0x8816
3140 #define GL_INTENSITY_FLOAT32_APPLE 0x8817
3141 #define GL_LUMINANCE_FLOAT32_APPLE 0x8818
3142 #define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
3143 #define GL_RGBA_FLOAT16_APPLE 0x881A
3144 #define GL_RGB_FLOAT16_APPLE 0x881B
3145 #define GL_ALPHA_FLOAT16_APPLE 0x881C
3146 #define GL_INTENSITY_FLOAT16_APPLE 0x881D
3147 #define GL_LUMINANCE_FLOAT16_APPLE 0x881E
3148 #define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
3151 /* GL_EXT_gpu_program_parameters */
3152 #ifndef GL_EXT_gpu_program_parameters
3153 #define GL_EXT_gpu_program_parameters
3154 typedef void (WINE_GLAPI * PGLFNPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const float *params);
3155 typedef void (WINE_GLAPI * PGLFNPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const float *params);
3158 /* GL_NV_light_max_exponent */
3159 #ifndef GL_NV_light_max_exponent
3160 #define GL_NV_light_max_exponent
3161 #define GL_MAX_SHININESS_NV 0x8504
3162 #define GL_MAX_SPOT_EXPONENT_NV 0x8505
3165 /* GL_ATI_fragment_shader */
3166 #ifndef GL_ATI_fragment_shader
3167 #define GL_ATI_fragment_shader
3168 typedef GLuint (WINE_GLAPI *PGLFNGENFRAGMENTSHADERSATI) (GLuint range);
3169 typedef void (WINE_GLAPI *PGLFNBINDFRAGMENTSHADERATI) (GLuint id);
3170 typedef void (WINE_GLAPI *PGLFNDELETEFRAGMENTSHADERATI) (GLuint id);
3171 typedef void (WINE_GLAPI *PGLFNBEGINFRAGMENTSHADERATI) (void);
3172 typedef void (WINE_GLAPI *PGLFNENDFRAGMENTSHADERATI) (void);
3173 typedef void (WINE_GLAPI *PGLFNPASSTEXCOORDATI) (GLuint dst, GLuint coord, GLenum swizzle);
3174 typedef void (WINE_GLAPI *PGLFNSAMPLEMAPATI) (GLuint dst, GLuint interp, GLenum swizzle);
3175 typedef void (WINE_GLAPI *PGLFNCOLORFRAGMENTOP1ATI) (GLenum op, GLuint dst, GLuint dstMask,
3176 GLuint dstMod, GLuint arg1, GLuint arg1Rep,
3178 typedef void (WINE_GLAPI *PGLFNCOLORFRAGMENTOP2ATI) (GLenum op, GLuint dst, GLuint dstMask,
3179 GLuint dstMod, GLuint arg1, GLuint arg1Rep,
3180 GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
3182 typedef void (WINE_GLAPI *PGLFNCOLORFRAGMENTOP3ATI) (GLenum op, GLuint dst, GLuint dstMask,
3183 GLuint dstMod, GLuint arg1, GLuint arg1Rep,
3184 GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
3185 GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
3187 typedef void (WINE_GLAPI *PGLFNALPHAFRAGMENTOP1ATI) (GLenum op, GLuint dst, GLuint dstMod,
3188 GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
3189 typedef void (WINE_GLAPI *PGLFNALPHAFRAGMENTOP2ATI) (GLenum op, GLuint dst, GLuint dstMod,
3190 GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
3191 GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
3192 typedef void (WINE_GLAPI *PGLFNALPHAFRAGMENTOP3ATI) (GLenum op, GLuint dst, GLuint dstMod,
3193 GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
3194 GLuint arg2, GLuint arg2Rep, GLuint arg2Mod,
3195 GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
3196 typedef void (WINE_GLAPI *PGLFNSETFRAGMENTSHADERCONSTANTATI) (GLuint dst, const GLfloat *value);
3197 #define GL_FRAGMENT_SHADER_ATI 0x8920
3198 #define GL_REG_0_ATI 0x8921
3199 #define GL_REG_1_ATI 0x8922
3200 #define GL_REG_2_ATI 0x8923
3201 #define GL_REG_3_ATI 0x8924
3202 #define GL_REG_4_ATI 0x8925
3203 #define GL_REG_5_ATI 0x8926
3204 #define GL_CON_0_ATI 0x8941
3205 #define GL_CON_1_ATI 0x8942
3206 #define GL_CON_2_ATI 0x8943
3207 #define GL_CON_3_ATI 0x8944
3208 #define GL_CON_4_ATI 0x8945
3209 #define GL_CON_5_ATI 0x8946
3210 #define GL_CON_6_ATI 0x8947
3211 #define GL_CON_7_ATI 0x8948
3212 #define GL_MOV_ATI 0x8961
3213 #define GL_ADD_ATI 0x8963
3214 #define GL_MUL_ATI 0x8964
3215 #define GL_SUB_ATI 0x8965
3216 #define GL_DOT3_ATI 0x8966
3217 #define GL_DOT4_ATI 0x8967
3218 #define GL_MAD_ATI 0x8968
3219 #define GL_LERP_ATI 0x8969
3220 #define GL_CND_ATI 0x896A
3221 #define GL_CND0_ATI 0x896B
3222 #define GL_DOT2_ADD_ATI 0x896C
3223 #define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
3224 #define GL_SWIZZLE_STR_ATI 0x8976
3225 #define GL_SWIZZLE_STQ_ATI 0x8977
3226 #define GL_SWIZZLE_STR_DR_ATI 0x8978
3227 #define GL_SWIZZLE_STQ_DQ_ATI 0x8979
3228 #define GL_RED_BIT_ATI 0x00000001
3229 #define GL_GREEN_BIT_ATI 0x00000002
3230 #define GL_BLUE_BIT_ATI 0x00000004
3231 #define GL_2X_BIT_ATI 0x00000001
3232 #define GL_4X_BIT_ATI 0x00000002
3233 #define GL_8X_BIT_ATI 0x00000004
3234 #define GL_HALF_BIT_ATI 0x00000008
3235 #define GL_QUARTER_BIT_ATI 0x00000010
3236 #define GL_EIGHTH_BIT_ATI 0x00000020
3237 #define GL_SATURATE_BIT_ATI 0x00000040
3238 #define GL_2X_BIT_ATI 0x00000001
3239 #define GL_COMP_BIT_ATI 0x00000002
3240 #define GL_NEGATE_BIT_ATI 0x00000004
3241 #define GL_BIAS_BIT_ATI 0x00000008
3243 /* GL_ATI_texture_compression_3dc */
3244 #ifndef GL_ATI_texture_compression_3dc
3245 #define GL_ATI_texture_compression_3dc
3246 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
3248 /* GL_EXT_texture_compression_rgtc */
3249 #ifndef GL_EXT_texture_compression_rgtc
3250 #define GL_EXT_texture_compression_rgtc
3251 #define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
3252 #define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
3253 #define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
3254 #define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
3257 /* GL_NV_vertex_program2_option */
3258 #ifndef GL_NV_vertex_program2_option
3259 #define GL_NV_vertex_program2_option
3260 #define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
3261 #define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
3264 /* GL_VERSION_2_0 */
3265 #ifndef GL_VERSION_2_0
3266 #define GL_VERSION_2_0 1
3267 #define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
3268 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
3269 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
3270 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
3271 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
3272 #define GL_CURRENT_VERTEX_ATTRIB 0x8626
3273 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
3274 #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
3275 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
3276 #define GL_STENCIL_BACK_FUNC 0x8800
3277 #define GL_STENCIL_BACK_FAIL 0x8801
3278 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
3279 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
3280 #define GL_MAX_DRAW_BUFFERS 0x8824
3281 #define GL_DRAW_BUFFER0 0x8825
3282 #define GL_DRAW_BUFFER1 0x8826
3283 #define GL_DRAW_BUFFER2 0x8827
3284 #define GL_DRAW_BUFFER3 0x8828
3285 #define GL_DRAW_BUFFER4 0x8829
3286 #define GL_DRAW_BUFFER5 0x882A
3287 #define GL_DRAW_BUFFER6 0x882B
3288 #define GL_DRAW_BUFFER7 0x882C
3289 #define GL_DRAW_BUFFER8 0x882D
3290 #define GL_DRAW_BUFFER9 0x882E
3291 #define GL_DRAW_BUFFER10 0x882F
3292 #define GL_DRAW_BUFFER11 0x8830
3293 #define GL_DRAW_BUFFER12 0x8831
3294 #define GL_DRAW_BUFFER13 0x8832
3295 #define GL_DRAW_BUFFER14 0x8833
3296 #define GL_DRAW_BUFFER15 0x8834
3297 #define GL_BLEND_EQUATION_ALPHA 0x883D
3298 #define GL_POINT_SPRITE 0x8861
3299 #define GL_COORD_REPLACE 0x8862
3300 #define GL_MAX_VERTEX_ATTRIBS 0x8869
3301 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
3302 #define GL_MAX_TEXTURE_COORDS 0x8871
3303 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
3304 #define GL_FRAGMENT_SHADER 0x8B30
3305 #define GL_VERTEX_SHADER 0x8B31
3306 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
3307 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
3308 #define GL_MAX_VARYING_FLOATS 0x8B4B
3309 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
3310 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
3311 #define GL_SHADER_TYPE 0x8B4F
3312 #define GL_FLOAT_VEC2 0x8B50
3313 #define GL_FLOAT_VEC3 0x8B51
3314 #define GL_FLOAT_VEC4 0x8B52
3315 #define GL_INT_VEC2 0x8B53
3316 #define GL_INT_VEC3 0x8B54
3317 #define GL_INT_VEC4 0x8B55
3318 #define GL_BOOL 0x8B56
3319 #define GL_BOOL_VEC2 0x8B57
3320 #define GL_BOOL_VEC3 0x8B58
3321 #define GL_BOOL_VEC4 0x8B59
3322 #define GL_FLOAT_MAT2 0x8B5A
3323 #define GL_FLOAT_MAT3 0x8B5B
3324 #define GL_FLOAT_MAT4 0x8B5C
3325 #define GL_SAMPLER_1D 0x8B5D
3326 #define GL_SAMPLER_2D 0x8B5E
3327 #define GL_SAMPLER_3D 0x8B5F
3328 #define GL_SAMPLER_CUBE 0x8B60
3329 #define GL_SAMPLER_1D_SHADOW 0x8B61
3330 #define GL_SAMPLER_2D_SHADOW 0x8B62
3331 #define GL_DELETE_STATUS 0x8B80
3332 #define GL_COMPILE_STATUS 0x8B81
3333 #define GL_LINK_STATUS 0x8B82
3334 #define GL_VALIDATE_STATUS 0x8B83
3335 #define GL_INFO_LOG_LENGTH 0x8B84
3336 #define GL_ATTACHED_SHADERS 0x8B85
3337 #define GL_ACTIVE_UNIFORMS 0x8B86
3338 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
3339 #define GL_SHADER_SOURCE_LENGTH 0x8B88
3340 #define GL_ACTIVE_ATTRIBUTES 0x8B89
3341 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
3342 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
3343 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
3344 #define GL_CURRENT_PROGRAM 0x8B8D
3345 #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
3346 #define GL_LOWER_LEFT 0x8CA1
3347 #define GL_UPPER_LEFT 0x8CA2
3348 #define GL_STENCIL_BACK_REF 0x8CA3
3349 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
3350 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
3351 typedef char GLchar;
3353 typedef void (WINE_GLAPI * PGLFNBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
3354 typedef void (WINE_GLAPI * PGLFNDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
3355 typedef void (WINE_GLAPI * PGLFNSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
3356 typedef void (WINE_GLAPI * PGLFNSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
3357 typedef void (WINE_GLAPI * PGLFNSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
3358 typedef void (WINE_GLAPI * PGLFNATTACHSHADERPROC) (GLuint program, GLuint shader);
3359 typedef void (WINE_GLAPI * PGLFNBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
3360 typedef void (WINE_GLAPI * PGLFNCOMPILESHADERPROC) (GLuint shader);
3361 typedef GLuint (WINE_GLAPI * PGLFNCREATEPROGRAMPROC) (void);
3362 typedef GLuint (WINE_GLAPI * PGLFNCREATESHADERPROC) (GLenum type);
3363 typedef void (WINE_GLAPI * PGLFNDELETEPROGRAMPROC) (GLuint program);
3364 typedef void (WINE_GLAPI * PGLFNDELETESHADERPROC) (GLuint shader);
3365 typedef void (WINE_GLAPI * PGLFNDETACHSHADERPROC) (GLuint program, GLuint shader);
3366 typedef void (WINE_GLAPI * PGLFNDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
3367 typedef void (WINE_GLAPI * PGLFNENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
3368 typedef void (WINE_GLAPI * PGLFNGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
3369 typedef void (WINE_GLAPI * PGLFNGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
3370 typedef void (WINE_GLAPI * PGLFNGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
3371 typedef GLint (WINE_GLAPI * PGLFNGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
3372 typedef void (WINE_GLAPI * PGLFNGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
3373 typedef void (WINE_GLAPI * PGLFNGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
3374 typedef void (WINE_GLAPI * PGLFNGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
3375 typedef void (WINE_GLAPI * PGLFNGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
3376 typedef void (WINE_GLAPI * PGLFNGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
3377 typedef GLint (WINE_GLAPI * PGLFNGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
3378 typedef void (WINE_GLAPI * PGLFNGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
3379 typedef void (WINE_GLAPI * PGLFNGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
3380 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
3381 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
3382 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
3383 typedef void (WINE_GLAPI * PGLFNGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
3384 typedef GLboolean (WINE_GLAPI * PGLFNISPROGRAMPROC) (GLuint program);
3385 typedef GLboolean (WINE_GLAPI * PGLFNISSHADERPROC) (GLuint shader);
3386 typedef void (WINE_GLAPI * PGLFNLINKPROGRAMPROC) (GLuint program);
3387 typedef void (WINE_GLAPI * PGLFNSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
3388 typedef void (WINE_GLAPI * PGLFNUSEPROGRAMPROC) (GLuint program);
3389 typedef void (WINE_GLAPI * PGLFNUNIFORM1FPROC) (GLint location, GLfloat v0);
3390 typedef void (WINE_GLAPI * PGLFNUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
3391 typedef void (WINE_GLAPI * PGLFNUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
3392 typedef void (WINE_GLAPI * PGLFNUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
3393 typedef void (WINE_GLAPI * PGLFNUNIFORM1IPROC) (GLint location, GLint v0);
3394 typedef void (WINE_GLAPI * PGLFNUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
3395 typedef void (WINE_GLAPI * PGLFNUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
3396 typedef void (WINE_GLAPI * PGLFNUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
3397 typedef void (WINE_GLAPI * PGLFNUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
3398 typedef void (WINE_GLAPI * PGLFNUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
3399 typedef void (WINE_GLAPI * PGLFNUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
3400 typedef void (WINE_GLAPI * PGLFNUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
3401 typedef void (WINE_GLAPI * PGLFNUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
3402 typedef void (WINE_GLAPI * PGLFNUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
3403 typedef void (WINE_GLAPI * PGLFNUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
3404 typedef void (WINE_GLAPI * PGLFNUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
3405 typedef void (WINE_GLAPI * PGLFNUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3406 typedef void (WINE_GLAPI * PGLFNUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3407 typedef void (WINE_GLAPI * PGLFNUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3408 typedef void (WINE_GLAPI * PGLFNVALIDATEPROGRAMPROC) (GLuint program);
3409 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
3410 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
3411 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
3412 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
3413 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
3414 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
3415 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
3416 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
3417 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
3418 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
3419 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
3420 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
3421 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
3422 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
3423 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
3424 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
3425 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
3426 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
3427 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
3428 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
3429 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
3430 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
3431 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
3432 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
3433 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
3434 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
3435 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3436 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
3437 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
3438 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
3439 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
3440 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
3441 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
3442 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
3443 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
3444 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
3445 typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
3448 /****************************************************
3449 * OpenGL Official Version
3451 ****************************************************/
3452 /* GL_VERSION_1_3 */
3453 #if !defined(GL_DOT3_RGBA)
3454 # define GL_DOT3_RGBA 0x8741
3456 #if !defined(GL_SUBTRACT)
3457 # define GL_SUBTRACT 0x84E7
3461 /****************************************************
3463 ****************************************************/
3464 typedef enum _GL_Vendors {
3467 VENDOR_ATI = 0x1002,
3468 VENDOR_NVIDIA = 0x10de,
3469 VENDOR_INTEL = 0x8086
3472 typedef enum _GL_Cards {
3475 CARD_ATI_RAGE_128PRO = 0x5246,
3476 CARD_ATI_RADEON_7200 = 0x5144,
3477 CARD_ATI_RADEON_8500 = 0x514c,
3478 CARD_ATI_RADEON_9500 = 0x4144,
3479 CARD_ATI_RADEON_XPRESS_200M = 0x5955,
3480 CARD_ATI_RADEON_X700 = 0x5e4c,
3481 CARD_ATI_RADEON_X1600 = 0x71c2,
3482 CARD_ATI_RADEON_HD2300 = 0x7210,
3483 CARD_ATI_RADEON_HD2600 = 0x9581,
3484 CARD_ATI_RADEON_HD2900 = 0x9400,
3485 CARD_ATI_RADEON_HD3200 = 0x9620,
3486 CARD_ATI_RADEON_HD4350 = 0x954f,
3487 CARD_ATI_RADEON_HD4550 = 0x9540,
3488 CARD_ATI_RADEON_HD4600 = 0x9495,
3489 CARD_ATI_RADEON_HD4650 = 0x9498,
3490 CARD_ATI_RADEON_HD4670 = 0x9490,
3491 CARD_ATI_RADEON_HD4700 = 0x944e,
3492 CARD_ATI_RADEON_HD4770 = 0x94b3,
3493 CARD_ATI_RADEON_HD4800 = 0x944c, /* picked one value between 9440,944c,9442,9460 */
3494 CARD_ATI_RADEON_HD4830 = 0x944c,
3495 CARD_ATI_RADEON_HD4850 = 0x9442,
3496 CARD_ATI_RADEON_HD4870 = 0x9440,
3497 CARD_ATI_RADEON_HD4890 = 0x9460,
3499 CARD_NVIDIA_RIVA_128 = 0x0018,
3500 CARD_NVIDIA_RIVA_TNT = 0x0020,
3501 CARD_NVIDIA_RIVA_TNT2 = 0x0028,
3502 CARD_NVIDIA_GEFORCE = 0x0100,
3503 CARD_NVIDIA_GEFORCE2_MX = 0x0110,
3504 CARD_NVIDIA_GEFORCE2 = 0x0150,
3505 CARD_NVIDIA_GEFORCE3 = 0x0200,
3506 CARD_NVIDIA_GEFORCE4_MX = 0x0170,
3507 CARD_NVIDIA_GEFORCE4_TI4200 = 0x0253,
3508 CARD_NVIDIA_GEFORCEFX_5200 = 0x0320,
3509 CARD_NVIDIA_GEFORCEFX_5600 = 0x0312,
3510 CARD_NVIDIA_GEFORCEFX_5800 = 0x0302,
3511 CARD_NVIDIA_GEFORCE_6200 = 0x014f,
3512 CARD_NVIDIA_GEFORCE_6600GT = 0x0140,
3513 CARD_NVIDIA_GEFORCE_6800 = 0x0041,
3514 CARD_NVIDIA_GEFORCE_7400 = 0x01d8,
3515 CARD_NVIDIA_GEFORCE_7300 = 0x01d7, /* GeForce Go 7300 */
3516 CARD_NVIDIA_GEFORCE_7600 = 0x0391,
3517 CARD_NVIDIA_GEFORCE_7800GT = 0x0092,
3518 CARD_NVIDIA_GEFORCE_8300GS = 0x0423,
3519 CARD_NVIDIA_GEFORCE_8600GT = 0x0402,
3520 CARD_NVIDIA_GEFORCE_8600MGT = 0x0407,
3521 CARD_NVIDIA_GEFORCE_8800GTS = 0x0193,
3522 CARD_NVIDIA_GEFORCE_9200 = 0x086d,
3523 CARD_NVIDIA_GEFORCE_9400GT = 0x042c,
3524 CARD_NVIDIA_GEFORCE_9500GT = 0x0640,
3525 CARD_NVIDIA_GEFORCE_9600GT = 0x0622,
3526 CARD_NVIDIA_GEFORCE_9800GT = 0x0614,
3527 CARD_NVIDIA_GEFORCE_GTX260 = 0x05e2,
3528 CARD_NVIDIA_GEFORCE_GTX275 = 0x05e6,
3529 CARD_NVIDIA_GEFORCE_GTX280 = 0x05e1,
3531 CARD_INTEL_845G = 0x2562,
3532 CARD_INTEL_I830G = 0x3577,
3533 CARD_INTEL_I855G = 0x3582,
3534 CARD_INTEL_I865G = 0x2572,
3535 CARD_INTEL_I915G = 0x2582,
3536 CARD_INTEL_I915GM = 0x2592,
3537 CARD_INTEL_I945GM = 0x27a2, /* Same as GMA 950?? */
3538 CARD_INTEL_X3100 = 0x2a02, /* found in macs. Same as GMA 965? */
3541 #define WINE_DEFAULT_VIDMEM 64*1024*1024
3543 #define MAKEDWORD_VERSION(maj, min) ((maj & 0x0000FFFF) << 16) | (min & 0x0000FFFF)
3545 /* OpenGL Supported Extensions (ARB and EXT) */
3546 typedef enum _GL_SupportedExt {
3547 WINED3D_GL_EXT_NONE,
3549 ARB_COLOR_BUFFER_FLOAT,
3550 ARB_DEPTH_BUFFER_FLOAT,
3554 ARB_FRAGMENT_PROGRAM,
3555 ARB_FRAGMENT_SHADER,
3556 ARB_FRAMEBUFFER_OBJECT,
3557 ARB_GEOMETRY_SHADER4,
3561 ARB_OCCLUSION_QUERY,
3562 ARB_POINT_PARAMETERS,
3563 ARB_PROVOKING_VERTEX,
3564 ARB_PIXEL_BUFFER_OBJECT,
3566 ARB_TEXTURE_COMPRESSION,
3567 ARB_TEXTURE_CUBE_MAP,
3568 ARB_TEXTURE_ENV_ADD,
3569 ARB_TEXTURE_ENV_COMBINE,
3570 ARB_TEXTURE_ENV_DOT3,
3572 ARB_HALF_FLOAT_PIXEL,
3573 ARB_TEXTURE_BORDER_CLAMP,
3574 ARB_TEXTURE_MIRRORED_REPEAT,
3575 ARB_TEXTURE_NON_POWER_OF_TWO,
3576 ARB_TEXTURE_RECTANGLE,
3580 ARB_VERTEX_BUFFER_OBJECT,
3583 ARB_SHADER_TEXTURE_LOD,
3584 ARB_HALF_FLOAT_VERTEX,
3588 EXT_BLEND_EQUATION_SEPARATE,
3589 EXT_BLEND_FUNC_SEPARATE,
3591 EXT_FRAMEBUFFER_OBJECT,
3592 EXT_FRAMEBUFFER_BLIT,
3593 EXT_FRAMEBUFFER_MULTISAMPLE,
3594 EXT_PACKED_DEPTH_STENCIL,
3595 EXT_PALETTED_TEXTURE,
3596 EXT_PIXEL_BUFFER_OBJECT,
3597 EXT_POINT_PARAMETERS,
3598 EXT_PROVOKING_VERTEX,
3599 EXT_SECONDARY_COLOR,
3600 EXT_STENCIL_TWO_SIDE,
3603 EXT_TEXTURE_COMPRESSION_S3TC,
3604 EXT_TEXTURE_COMPRESSION_RGTC,
3605 EXT_TEXTURE_FILTER_ANISOTROPIC,
3607 EXT_TEXTURE_LOD_BIAS,
3608 EXT_TEXTURE_ENV_ADD,
3609 EXT_TEXTURE_ENV_COMBINE,
3610 EXT_TEXTURE_ENV_DOT3,
3612 EXT_TEXTURE_SWIZZLE,
3613 EXT_GPU_PROGRAM_PARAMETERS,
3614 EXT_VERTEX_ARRAY_BGRA,
3618 NV_FRAGMENT_PROGRAM,
3619 NV_FRAGMENT_PROGRAM2,
3621 NV_REGISTER_COMBINERS,
3622 NV_REGISTER_COMBINERS2,
3623 NV_TEXGEN_REFLECTION,
3624 NV_TEXTURE_ENV_COMBINE4,
3629 NV_VERTEX_PROGRAM1_1,
3631 NV_VERTEX_PROGRAM2_OPTION,
3633 NV_FRAGMENT_PROGRAM_OPTION,
3636 NV_LIGHT_MAX_EXPONENT,
3638 ATI_SEPARATE_STENCIL,
3639 ATI_TEXTURE_ENV_COMBINE3,
3640 ATI_TEXTURE_MIRROR_ONCE,
3642 ATI_FRAGMENT_SHADER,
3643 ATI_TEXTURE_COMPRESSION_3DC,
3646 APPLE_CLIENT_STORAGE,
3652 SGIS_GENERATE_MIPMAP,
3654 /* Internally used */
3655 WINE_NORMALIZED_TEXRECT,
3657 /* WGL extensions */
3659 WGL_ARB_PIXEL_FORMAT,
3660 WGL_WINE_PIXEL_FORMAT_PASSTHROUGH,
3662 WINED3D_GL_EXT_COUNT,
3666 /****************************************************
3668 ****************************************************/
3669 #define GL_EXT_FUNCS_GEN \
3670 /** ARB Extensions **/ \
3671 /* GL_ARB_color_buffer_float */ \
3672 USE_GL_FUNC(PGLFNCLAMPCOLORARBPROC, glClampColorARB, ARB_COLOR_BUFFER_FLOAT, NULL )\
3673 /* GL_ARB_draw_buffers */ \
3674 USE_GL_FUNC(PGLFNDRAWBUFFERSARBPROC, glDrawBuffersARB, ARB_DRAW_BUFFERS, NULL )\
3675 /* GL_ARB_framebuffer_object */ \
3676 USE_GL_FUNC(PGLFNGLISRENDERBUFFERPROC, glIsRenderbuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3677 USE_GL_FUNC(PGLFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3678 USE_GL_FUNC(PGLFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers, ARB_FRAMEBUFFER_OBJECT, NULL )\
3679 USE_GL_FUNC(PGLFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers, ARB_FRAMEBUFFER_OBJECT, NULL )\
3680 USE_GL_FUNC(PGLFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage, ARB_FRAMEBUFFER_OBJECT, NULL )\
3681 USE_GL_FUNC(PGLFNRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample, ARB_FRAMEBUFFER_OBJECT, NULL )\
3682 USE_GL_FUNC(PGLFNGLGETRENDERBUFFERPARAMETERIVPROC, glGetRenderbufferParameteriv, ARB_FRAMEBUFFER_OBJECT, NULL )\
3683 USE_GL_FUNC(PGLFNGLISFRAMEBUFFERPROC, glIsFramebuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3684 USE_GL_FUNC(PGLFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3685 USE_GL_FUNC(PGLFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers, ARB_FRAMEBUFFER_OBJECT, NULL )\
3686 USE_GL_FUNC(PGLFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers, ARB_FRAMEBUFFER_OBJECT, NULL )\
3687 USE_GL_FUNC(PGLFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus, ARB_FRAMEBUFFER_OBJECT, NULL )\
3688 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE1DPROC, glFramebufferTexture1D, ARB_FRAMEBUFFER_OBJECT, NULL )\
3689 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D, ARB_FRAMEBUFFER_OBJECT, NULL )\
3690 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D, ARB_FRAMEBUFFER_OBJECT, NULL )\
3691 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURELAYERPROC, glFramebufferTextureLayer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3692 USE_GL_FUNC(PGLFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3693 USE_GL_FUNC(PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC, glGetFramebufferAttachmentParameteriv, ARB_FRAMEBUFFER_OBJECT, NULL )\
3694 USE_GL_FUNC(PGLFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer, ARB_FRAMEBUFFER_OBJECT, NULL )\
3695 USE_GL_FUNC(PGLFNGLGENERATEMIPMAPPROC, glGenerateMipmap, ARB_FRAMEBUFFER_OBJECT, NULL )\
3696 /* GL_ARB_geometry_shader4 */ \
3697 USE_GL_FUNC(PGLFNPROGRAMPARAMETERIARBPROC, glProgramParameteriARB, ARB_GEOMETRY_SHADER4, NULL ) \
3698 USE_GL_FUNC(PGLFNFRAMEBUFFERTEXTUREARBPROC, glFramebufferTextureARB, ARB_GEOMETRY_SHADER4, NULL ) \
3699 USE_GL_FUNC(PGLFNFRAMEBUFFERTEXTURELAYERARBPROC, glFramebufferTextureLayerARB, ARB_GEOMETRY_SHADER4, NULL ) \
3700 USE_GL_FUNC(PGLFNFRAMEBUFFERTEXTUREFACEARBPROC, glFramebufferTextureFaceARB, ARB_GEOMETRY_SHADER4, NULL ) \
3701 /* GL_ARB_imaging, GL_EXT_blend_minmax */ \
3702 USE_GL_FUNC(PGLFNBLENDCOLORPROC, glBlendColorEXT, EXT_BLEND_COLOR, NULL )\
3703 USE_GL_FUNC(PGLFNBLENDEQUATIONPROC, glBlendEquationEXT, EXT_BLEND_MINMAX, NULL )\
3704 /* GL_ARB_multisample */ \
3705 USE_GL_FUNC(WINED3D_PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB, ARB_MULTISAMPLE, NULL )\
3706 /* GL_ARB_multitexture */ \
3707 USE_GL_FUNC(WINED3D_PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB, ARB_MULTITEXTURE, NULL )\
3708 USE_GL_FUNC(WINED3D_PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB, ARB_MULTITEXTURE, NULL )\
3709 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB, ARB_MULTITEXTURE, NULL )\
3710 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB, ARB_MULTITEXTURE, NULL )\
3711 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB, ARB_MULTITEXTURE, NULL )\
3712 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB, ARB_MULTITEXTURE, NULL )\
3713 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB, ARB_MULTITEXTURE, NULL )\
3714 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB, ARB_MULTITEXTURE, NULL )\
3715 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB, ARB_MULTITEXTURE, NULL )\
3716 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB, ARB_MULTITEXTURE, NULL )\
3717 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB, ARB_MULTITEXTURE, NULL )\
3718 USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB, ARB_MULTITEXTURE, NULL )\
3719 /* GL_ARB_occlusion_query */ \
3720 USE_GL_FUNC(PGLFNGENQUERIESARBPROC, glGenQueriesARB, ARB_OCCLUSION_QUERY, NULL )\
3721 USE_GL_FUNC(PGLFNDELETEQUERIESARBPROC, glDeleteQueriesARB, ARB_OCCLUSION_QUERY, NULL )\
3722 USE_GL_FUNC(PGLFNBEGINQUERYARBPROC, glBeginQueryARB, ARB_OCCLUSION_QUERY, NULL )\
3723 USE_GL_FUNC(PGLFNENDQUERYARBPROC, glEndQueryARB, ARB_OCCLUSION_QUERY, NULL )\
3724 USE_GL_FUNC(PGLFNGETQUERYOBJECTIVARBPROC, glGetQueryObjectivARB, ARB_OCCLUSION_QUERY, NULL )\
3725 USE_GL_FUNC(PGLFNGETQUERYOBJECTUIVARBPROC, glGetQueryObjectuivARB, ARB_OCCLUSION_QUERY, NULL )\
3726 /* GL_ARB_point_parameters */ \
3727 USE_GL_FUNC(PGLFNGLPOINTPARAMETERFARBPROC, glPointParameterfARB, ARB_POINT_PARAMETERS, NULL )\
3728 USE_GL_FUNC(PGLFNGLPOINTPARAMETERFVARBPROC, glPointParameterfvARB, ARB_POINT_PARAMETERS, NULL )\
3729 /* GL_ARB_provoking_vertex */ \
3730 USE_GL_FUNC(PGLFNGLPROVOKINGVERTEXPROC, glProvokingVertex, ARB_PROVOKING_VERTEX, NULL)\
3731 /* GL_ARB_texture_compression */ \
3732 USE_GL_FUNC(PGLFNCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2DARB, ARB_TEXTURE_COMPRESSION,NULL )\
3733 USE_GL_FUNC(PGLFNCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3DARB, ARB_TEXTURE_COMPRESSION,NULL )\
3734 USE_GL_FUNC(PGLFNCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2DARB, ARB_TEXTURE_COMPRESSION,NULL )\
3735 USE_GL_FUNC(PGLFNCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3DARB, ARB_TEXTURE_COMPRESSION,NULL )\
3736 USE_GL_FUNC(PGLFNGETCOMPRESSEDTEXIMAGEPROC, glGetCompressedTexImageARB, ARB_TEXTURE_COMPRESSION,NULL )\
3737 /* GL_ARB_vertex_blend */ \
3738 USE_GL_FUNC(PGLFNGLWEIGHTPOINTERARB, glWeightPointerARB, ARB_VERTEX_BLEND, NULL )\
3739 USE_GL_FUNC(PGLFNGLWEIGHTBV, glWeightbvARB, ARB_VERTEX_BLEND, NULL )\
3740 USE_GL_FUNC(PGLFNGLWEIGHTSV, glWeightsvARB, ARB_VERTEX_BLEND, NULL )\
3741 USE_GL_FUNC(PGLFNGLWEIGHTIV, glWeightivARB, ARB_VERTEX_BLEND, NULL )\
3742 USE_GL_FUNC(PGLFNGLWEIGHTFV, glWeightfvARB, ARB_VERTEX_BLEND, NULL )\
3743 USE_GL_FUNC(PGLFNGLWEIGHTDV, glWeightdvARB, ARB_VERTEX_BLEND, NULL )\
3744 USE_GL_FUNC(PGLFNGLWEIGHTUBV, glWeightubvARB, ARB_VERTEX_BLEND, NULL )\
3745 USE_GL_FUNC(PGLFNGLWEIGHTUSV, glWeightusvARB, ARB_VERTEX_BLEND, NULL )\
3746 USE_GL_FUNC(PGLFNGLWEIGHTUIV, glWeightuivARB, ARB_VERTEX_BLEND, NULL )\
3747 USE_GL_FUNC(PGLFNGLVERTEXBLENDARB, glVertexBlendARB, ARB_VERTEX_BLEND, NULL )\
3748 /* GL_ARB_vertex_buffer_object */ \
3749 USE_GL_FUNC(PGLFNBINDBUFFERARBPROC, glBindBufferARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3750 USE_GL_FUNC(PGLFNDELETEBUFFERSARBPROC, glDeleteBuffersARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3751 USE_GL_FUNC(PGLFNGENBUFFERSARBPROC, glGenBuffersARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3752 USE_GL_FUNC(PGLFNISBUFFERARBPROC, glIsBufferARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3753 USE_GL_FUNC(PGLFNBUFFERDATAARBPROC, glBufferDataARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3754 USE_GL_FUNC(PGLFNBUFFERSUBDATAARBPROC, glBufferSubDataARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3755 USE_GL_FUNC(PGLFNGETBUFFERSUBDATAARBPROC, glGetBufferSubDataARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3756 USE_GL_FUNC(PGLFNMAPBUFFERARBPROC, glMapBufferARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3757 USE_GL_FUNC(PGLFNUNMAPBUFFERARBPROC, glUnmapBufferARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3758 USE_GL_FUNC(PGLFNGETBUFFERPARAMETERIVARBPROC, glGetBufferParameterivARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3759 USE_GL_FUNC(PGLFNGETBUFFERPOINTERVARBPROC, glGetBufferPointervARB, ARB_VERTEX_BUFFER_OBJECT,NULL)\
3760 /** EXT Extensions **/ \
3761 /* GL_EXT_blend_equation_separate */ \
3762 USE_GL_FUNC(PGLFNBLENDFUNCSEPARATEEXTPROC, glBlendFuncSeparateEXT, EXT_BLEND_FUNC_SEPARATE, NULL)\
3763 /* GL_EXT_blend_func_separate */ \
3764 USE_GL_FUNC(PGLFNBLENDEQUATIONSEPARATEEXTPROC, glBlendEquationSeparateEXT, EXT_BLEND_EQUATION_SEPARATE, NULL)\
3765 /* GL_EXT_fog_coord */ \
3766 USE_GL_FUNC(PGLFNGLFOGCOORDFEXTPROC, glFogCoordfEXT, EXT_FOG_COORD, NULL )\
3767 USE_GL_FUNC(PGLFNGLFOGCOORDFVEXTPROC, glFogCoordfvEXT, EXT_FOG_COORD, NULL )\
3768 USE_GL_FUNC(PGLFNGLFOGCOORDDEXTPROC, glFogCoorddEXT, EXT_FOG_COORD, NULL )\
3769 USE_GL_FUNC(PGLFNGLFOGCOORDDVEXTPROC, glFogCoorddvEXT, EXT_FOG_COORD, NULL )\
3770 USE_GL_FUNC(PGLFNGLFOGCOORDPOINTEREXTPROC, glFogCoordPointerEXT, EXT_FOG_COORD, NULL )\
3771 /* GL_EXT_framebuffer_object */ \
3772 USE_GL_FUNC(PGLFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3773 USE_GL_FUNC(PGLFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3774 USE_GL_FUNC(PGLFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3775 USE_GL_FUNC(PGLFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3776 USE_GL_FUNC(PGLFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3777 USE_GL_FUNC(PGLFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3778 USE_GL_FUNC(PGLFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3779 USE_GL_FUNC(PGLFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3780 USE_GL_FUNC(PGLFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3781 USE_GL_FUNC(PGLFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3782 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE1DEXTPROC, glFramebufferTexture1DEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3783 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3784 USE_GL_FUNC(PGLFNGLFRAMEBUFFERTEXTURE3DEXTPROC, glFramebufferTexture3DEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3785 USE_GL_FUNC(PGLFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3786 USE_GL_FUNC(PGLFNGLGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3787 USE_GL_FUNC(PGLFNGLGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3788 USE_GL_FUNC(PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC, glGetFramebufferAttachmentParameterivEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
3789 /* GL_EXT_framebuffer_blit */ \
3790 USE_GL_FUNC(PGLFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT, EXT_FRAMEBUFFER_BLIT, NULL )\
3791 /* GL_EXT_framebuffer_multisample */ \
3792 USE_GL_FUNC(PGLFNRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT, EXT_FRAMEBUFFER_MULTISAMPLE, NULL )\
3793 /* GL_EXT_paletted_texture */ \
3794 USE_GL_FUNC(PGLFNGLCOLORTABLEEXTPROC, glColorTableEXT, EXT_PALETTED_TEXTURE, NULL )\
3795 /* GL_EXT_point_parameters */ \
3796 USE_GL_FUNC(PGLFNGLPOINTPARAMETERFEXTPROC, glPointParameterfEXT, EXT_POINT_PARAMETERS, NULL )\
3797 USE_GL_FUNC(PGLFNGLPOINTPARAMETERFVEXTPROC, glPointParameterfvEXT, EXT_POINT_PARAMETERS, NULL )\
3798 /* GL_EXT_provoking_vertex */ \
3799 USE_GL_FUNC(PGLFNGLPROVOKINGVERTEXEXTPROC, glProvokingVertexEXT, EXT_PROVOKING_VERTEX, NULL)\
3800 /* GL_EXT_secondary_color */ \
3801 USE_GL_FUNC(PGLFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT, EXT_SECONDARY_COLOR, NULL )\
3802 USE_GL_FUNC(PGLFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT, EXT_SECONDARY_COLOR, NULL )\
3803 USE_GL_FUNC(PGLFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT, EXT_SECONDARY_COLOR, NULL )\
3804 USE_GL_FUNC(PGLFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT, EXT_SECONDARY_COLOR, NULL )\
3805 USE_GL_FUNC(PGLFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT, EXT_SECONDARY_COLOR, NULL )\
3806 /* GL_EXT_texture3D */ \
3807 USE_GL_FUNC(PGLFNGLTEXIMAGE3DEXTPROC, glTexImage3DEXT, EXT_TEXTURE3D, glTexImage3D)\
3808 USE_GL_FUNC(PGLFNGLTEXSUBIMAGE3DEXTPROC, glTexSubImage3DEXT, EXT_TEXTURE3D, glTexSubImage3D)\
3809 /* GL_ARB_vertex_program */ \
3810 USE_GL_FUNC(PGLFNGENPROGRAMSARBPROC, glGenProgramsARB, ARB_VERTEX_PROGRAM, NULL )\
3811 USE_GL_FUNC(PGLFNBINDPROGRAMARBPROC, glBindProgramARB, ARB_VERTEX_PROGRAM, NULL )\
3812 USE_GL_FUNC(PGLFNPROGRAMSTRINGARBPROC, glProgramStringARB, ARB_VERTEX_PROGRAM, NULL )\
3813 USE_GL_FUNC(PGLFNDELETEPROGRAMSARBPROC, glDeleteProgramsARB, ARB_VERTEX_PROGRAM, NULL )\
3814 USE_GL_FUNC(PGLFNPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB, ARB_VERTEX_PROGRAM, NULL )\
3815 USE_GL_FUNC(PGLFNPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB, ARB_VERTEX_PROGRAM, NULL )\
3816 USE_GL_FUNC(PGLFNVERTEXATTRIBPOINTERARBPROC, glVertexAttribPointerARB, ARB_VERTEX_PROGRAM, NULL )\
3817 USE_GL_FUNC(PGLFNENABLEVERTEXATTRIBARRAYARBPROC, glEnableVertexAttribArrayARB, ARB_VERTEX_PROGRAM, NULL )\
3818 USE_GL_FUNC(PGLFNDISABLEVERTEXATTRIBARRAYARBPROC, glDisableVertexAttribArrayARB, ARB_VERTEX_PROGRAM, NULL )\
3819 USE_GL_FUNC(PGLFNVERTEXATTRIB1DARBPROC, glVertexAttrib1dARB, ARB_VERTEX_PROGRAM, NULL )\
3820 USE_GL_FUNC(PGLFNVERTEXATTRIB1DVARBPROC, glVertexAttrib1dvARB, ARB_VERTEX_PROGRAM, NULL )\
3821 USE_GL_FUNC(PGLFNVERTEXATTRIB1FARBPROC, glVertexAttrib1fARB, ARB_VERTEX_PROGRAM, NULL )\
3822 USE_GL_FUNC(PGLFNVERTEXATTRIB1FVARBPROC, glVertexAttrib1fvARB, ARB_VERTEX_PROGRAM, NULL )\
3823 USE_GL_FUNC(PGLFNVERTEXATTRIB1SARBPROC, glVertexAttrib1sARB, ARB_VERTEX_PROGRAM, NULL )\
3824 USE_GL_FUNC(PGLFNVERTEXATTRIB1SVARBPROC, glVertexAttrib1svARB, ARB_VERTEX_PROGRAM, NULL )\
3825 USE_GL_FUNC(PGLFNVERTEXATTRIB2DARBPROC, glVertexAttrib2dARB, ARB_VERTEX_PROGRAM, NULL )\
3826 USE_GL_FUNC(PGLFNVERTEXATTRIB2DVARBPROC, glVertexAttrib2dvARB, ARB_VERTEX_PROGRAM, NULL )\
3827 USE_GL_FUNC(PGLFNVERTEXATTRIB2FARBPROC, glVertexAttrib2fARB, ARB_VERTEX_PROGRAM, NULL )\
3828 USE_GL_FUNC(PGLFNVERTEXATTRIB2FVARBPROC, glVertexAttrib2fvARB, ARB_VERTEX_PROGRAM, NULL )\
3829 USE_GL_FUNC(PGLFNVERTEXATTRIB2SARBPROC, glVertexAttrib2sARB, ARB_VERTEX_PROGRAM, NULL )\
3830 USE_GL_FUNC(PGLFNVERTEXATTRIB2SVARBPROC, glVertexAttrib2svARB, ARB_VERTEX_PROGRAM, NULL )\
3831 USE_GL_FUNC(PGLFNVERTEXATTRIB3DARBPROC, glVertexAttrib3dARB, ARB_VERTEX_PROGRAM, NULL )\
3832 USE_GL_FUNC(PGLFNVERTEXATTRIB3DVARBPROC, glVertexAttrib3dvARB, ARB_VERTEX_PROGRAM, NULL )\
3833 USE_GL_FUNC(PGLFNVERTEXATTRIB3FARBPROC, glVertexAttrib3fARB, ARB_VERTEX_PROGRAM, NULL )\
3834 USE_GL_FUNC(PGLFNVERTEXATTRIB3FVARBPROC, glVertexAttrib3fvARB, ARB_VERTEX_PROGRAM, NULL )\
3835 USE_GL_FUNC(PGLFNVERTEXATTRIB3SARBPROC, glVertexAttrib3sARB, ARB_VERTEX_PROGRAM, NULL )\
3836 USE_GL_FUNC(PGLFNVERTEXATTRIB3SVARBPROC, glVertexAttrib3svARB, ARB_VERTEX_PROGRAM, NULL )\
3837 USE_GL_FUNC(PGLFNVERTEXATTRIB4NBVARBPROC, glVertexAttrib4NbvARB, ARB_VERTEX_PROGRAM, NULL )\
3838 USE_GL_FUNC(PGLFNVERTEXATTRIB4NIVARBPROC, glVertexAttrib4NivARB, ARB_VERTEX_PROGRAM, NULL )\
3839 USE_GL_FUNC(PGLFNVERTEXATTRIB4NSVARBPROC, glVertexAttrib4NsvARB, ARB_VERTEX_PROGRAM, NULL )\
3840 USE_GL_FUNC(PGLFNVERTEXATTRIB4NUBARBPROC, glVertexAttrib4NubARB, ARB_VERTEX_PROGRAM, NULL )\
3841 USE_GL_FUNC(PGLFNVERTEXATTRIB4NUBVARBPROC, glVertexAttrib4NubvARB, ARB_VERTEX_PROGRAM, NULL )\
3842 USE_GL_FUNC(PGLFNVERTEXATTRIB4NUIVARBPROC, glVertexAttrib4NuivARB, ARB_VERTEX_PROGRAM, NULL )\
3843 USE_GL_FUNC(PGLFNVERTEXATTRIB4NUSVARBPROC, glVertexAttrib4NusvARB, ARB_VERTEX_PROGRAM, NULL )\
3844 USE_GL_FUNC(PGLFNVERTEXATTRIB4BVARBPROC, glVertexAttrib4bvARB, ARB_VERTEX_PROGRAM, NULL )\
3845 USE_GL_FUNC(PGLFNVERTEXATTRIB4DARBPROC, glVertexAttrib4dARB, ARB_VERTEX_PROGRAM, NULL )\
3846 USE_GL_FUNC(PGLFNVERTEXATTRIB4DVARBPROC, glVertexAttrib4dvARB, ARB_VERTEX_PROGRAM, NULL )\
3847 USE_GL_FUNC(PGLFNVERTEXATTRIB4FARBPROC, glVertexAttrib4fARB, ARB_VERTEX_PROGRAM, NULL )\
3848 USE_GL_FUNC(PGLFNVERTEXATTRIB4FVARBPROC, glVertexAttrib4fvARB, ARB_VERTEX_PROGRAM, NULL )\
3849 USE_GL_FUNC(PGLFNVERTEXATTRIB4IVARBPROC, glVertexAttrib4ivARB, ARB_VERTEX_PROGRAM, NULL )\
3850 USE_GL_FUNC(PGLFNVERTEXATTRIB4SARBPROC, glVertexAttrib4sARB, ARB_VERTEX_PROGRAM, NULL )\
3851 USE_GL_FUNC(PGLFNVERTEXATTRIB4SVARBPROC, glVertexAttrib4svARB, ARB_VERTEX_PROGRAM, NULL )\
3852 USE_GL_FUNC(PGLFNVERTEXATTRIB4UBVARBPROC, glVertexAttrib4ubvARB, ARB_VERTEX_PROGRAM, NULL )\
3853 USE_GL_FUNC(PGLFNVERTEXATTRIB4UIVARBPROC, glVertexAttrib4uivARB, ARB_VERTEX_PROGRAM, NULL )\
3854 USE_GL_FUNC(PGLFNVERTEXATTRIB4USVARBPROC, glVertexAttrib4usvARB, ARB_VERTEX_PROGRAM, NULL )\
3855 USE_GL_FUNC(PGLFNGETPROGRAMIVARBPROC, glGetProgramivARB, ARB_VERTEX_PROGRAM, NULL )\
3856 /* GL_ARB_shader_objects */ \
3857 USE_GL_FUNC(WINED3D_PFNGLGETOBJECTPARAMETERIVARBPROC, glGetObjectParameterivARB, ARB_SHADER_OBJECTS, NULL )\
3858 USE_GL_FUNC(WINED3D_PFNGLGETOBJECTPARAMETERFVARBPROC, glGetObjectParameterfvARB, ARB_SHADER_OBJECTS, NULL )\
3859 USE_GL_FUNC(WINED3D_PFNGLGETUNIFORMLOCATIONARBPROC, glGetUniformLocationARB, ARB_SHADER_OBJECTS, NULL )\
3860 USE_GL_FUNC(WINED3D_PFNGLGETACTIVEUNIFORMARBPROC, glGetActiveUniformARB, ARB_SHADER_OBJECTS, NULL )\
3861 USE_GL_FUNC(WINED3D_PFNGLUNIFORM1IARBPROC, glUniform1iARB, ARB_SHADER_OBJECTS, NULL )\
3862 USE_GL_FUNC(WINED3D_PFNGLUNIFORM2IARBPROC, glUniform2iARB, ARB_SHADER_OBJECTS, NULL )\
3863 USE_GL_FUNC(WINED3D_PFNGLUNIFORM3IARBPROC, glUniform3iARB, ARB_SHADER_OBJECTS, NULL )\
3864 USE_GL_FUNC(WINED3D_PFNGLUNIFORM4IARBPROC, glUniform4iARB, ARB_SHADER_OBJECTS, NULL )\
3865 USE_GL_FUNC(WINED3D_PFNGLUNIFORM1IARBPROC, glUniform1fARB, ARB_SHADER_OBJECTS, NULL )\
3866 USE_GL_FUNC(WINED3D_PFNGLUNIFORM2FARBPROC, glUniform2fARB, ARB_SHADER_OBJECTS, NULL )\
3867 USE_GL_FUNC(WINED3D_PFNGLUNIFORM3FARBPROC, glUniform3fARB, ARB_SHADER_OBJECTS, NULL )\
3868 USE_GL_FUNC(WINED3D_PFNGLUNIFORM4FARBPROC, glUniform4fARB, ARB_SHADER_OBJECTS, NULL )\
3869 USE_GL_FUNC(WINED3D_PFNGLUNIFORM1FVARBPROC, glUniform1fvARB, ARB_SHADER_OBJECTS, NULL )\
3870 USE_GL_FUNC(WINED3D_PFNGLUNIFORM2FVARBPROC, glUniform2fvARB, ARB_SHADER_OBJECTS, NULL )\
3871 USE_GL_FUNC(WINED3D_PFNGLUNIFORM3FVARBPROC, glUniform3fvARB, ARB_SHADER_OBJECTS, NULL )\
3872 USE_GL_FUNC(WINED3D_PFNGLUNIFORM4FVARBPROC, glUniform4fvARB, ARB_SHADER_OBJECTS, NULL )\
3873 USE_GL_FUNC(WINED3D_PFNGLUNIFORM1IVARBPROC, glUniform1ivARB, ARB_SHADER_OBJECTS, NULL )\
3874 USE_GL_FUNC(WINED3D_PFNGLUNIFORM2IVARBPROC, glUniform2ivARB, ARB_SHADER_OBJECTS, NULL )\
3875 USE_GL_FUNC(WINED3D_PFNGLUNIFORM3IVARBPROC, glUniform3ivARB, ARB_SHADER_OBJECTS, NULL )\
3876 USE_GL_FUNC(WINED3D_PFNGLUNIFORM4IVARBPROC, glUniform4ivARB, ARB_SHADER_OBJECTS, NULL )\
3877 USE_GL_FUNC(WINED3D_PFNGLUNIFORMMATRIX2FVARBPROC, glUniformMatrix2fvARB, ARB_SHADER_OBJECTS, NULL )\
3878 USE_GL_FUNC(WINED3D_PFNGLUNIFORMMATRIX3FVARBPROC, glUniformMatrix3fvARB, ARB_SHADER_OBJECTS, NULL )\
3879 USE_GL_FUNC(WINED3D_PFNGLUNIFORMMATRIX4FVARBPROC, glUniformMatrix4fvARB, ARB_SHADER_OBJECTS, NULL )\
3880 USE_GL_FUNC(WINED3D_PFNGLGETUNIFORMFVARBPROC, glGetUniformfvARB, ARB_SHADER_OBJECTS, NULL )\
3881 USE_GL_FUNC(WINED3D_PFNGLGETUNIFORMIVARBPROC, glGetUniformivARB, ARB_SHADER_OBJECTS, NULL )\
3882 USE_GL_FUNC(WINED3D_PFNGLGETINFOLOGARBPROC, glGetInfoLogARB, ARB_SHADER_OBJECTS, NULL )\
3883 USE_GL_FUNC(WINED3D_PFNGLUSEPROGRAMOBJECTARBPROC, glUseProgramObjectARB, ARB_SHADER_OBJECTS, NULL )\
3884 USE_GL_FUNC(WINED3D_PFNGLCREATESHADEROBJECTARBPROC, glCreateShaderObjectARB, ARB_SHADER_OBJECTS, NULL )\
3885 USE_GL_FUNC(WINED3D_PFNGLSHADERSOURCEARBPROC, glShaderSourceARB, ARB_SHADER_OBJECTS, NULL )\
3886 USE_GL_FUNC(WINED3D_PFNGLCOMPILESHADERARBPROC, glCompileShaderARB, ARB_SHADER_OBJECTS, NULL )\
3887 USE_GL_FUNC(WINED3D_PFNGLCREATEPROGRAMOBJECTARBPROC, glCreateProgramObjectARB, ARB_SHADER_OBJECTS, NULL )\
3888 USE_GL_FUNC(WINED3D_PFNGLATTACHOBJECTARBPROC, glAttachObjectARB, ARB_SHADER_OBJECTS, NULL )\
3889 USE_GL_FUNC(WINED3D_PFNGLLINKPROGRAMARBPROC, glLinkProgramARB, ARB_SHADER_OBJECTS, NULL )\
3890 USE_GL_FUNC(WINED3D_PFNGLDETACHOBJECTARBPROC, glDetachObjectARB, ARB_SHADER_OBJECTS, NULL )\
3891 USE_GL_FUNC(WINED3D_PFNGLDELETEOBJECTARBPROC, glDeleteObjectARB, ARB_SHADER_OBJECTS, NULL )\
3892 USE_GL_FUNC(WINED3D_PFNGLVALIDATEPROGRAMARBPROC, glValidateProgramARB, ARB_SHADER_OBJECTS, NULL )\
3893 USE_GL_FUNC(WINED3D_PFNGLGETATTACHEDOBJECTSARBPROC, glGetAttachedObjectsARB, ARB_SHADER_OBJECTS, NULL )\
3894 USE_GL_FUNC(WINED3D_PFNGLGETHANDLEARBPROC, glGetHandleARB, ARB_SHADER_OBJECTS, NULL )\
3895 USE_GL_FUNC(WINED3D_PFNGLGETSHADERSOURCEARBPROC, glGetShaderSourceARB, ARB_SHADER_OBJECTS, NULL )\
3896 USE_GL_FUNC(WINED3D_PFNGLBINDATTRIBLOCATIONARBPROC, glBindAttribLocationARB, ARB_SHADER_OBJECTS, NULL )\
3897 USE_GL_FUNC(WINED3D_PFNGLGETATTRIBLOCATIONARBPROC, glGetAttribLocationARB, ARB_SHADER_OBJECTS, NULL )\
3898 /* GL_EXT_stencil_two_side */ \
3899 USE_GL_FUNC(PGLFNACTIVESTENCILFACEEXTPROC, glActiveStencilFaceEXT, EXT_STENCIL_TWO_SIDE, NULL )\
3900 /* GL_ATI_separate_stencil */ \
3901 USE_GL_FUNC(PGLFNSTENCILOPSEPARATEATIPROC, glStencilOpSeparateATI, ATI_SEPARATE_STENCIL, NULL )\
3902 USE_GL_FUNC(PGLFNSTENCILFUNCSEPARATEATIPROC, glStencilFuncSeparateATI, ATI_SEPARATE_STENCIL, NULL )\
3903 /* GL_NV_half_float */ \
3904 USE_GL_FUNC(PGLFNVERTEX2HNVPROC, glVertex2hNV, NV_HALF_FLOAT, NULL )\
3905 USE_GL_FUNC(PGLFNVERTEX2HVNVPROC, glVertex2hvNV, NV_HALF_FLOAT, NULL )\
3906 USE_GL_FUNC(PGLFNVERTEX3HNVPROC, glVertex3hNV, NV_HALF_FLOAT, NULL )\
3907 USE_GL_FUNC(PGLFNVERTEX3HVNVPROC, glVertex3hvNV, NV_HALF_FLOAT, NULL )\
3908 USE_GL_FUNC(PGLFNVERTEX4HNVPROC, glVertex4hNV, NV_HALF_FLOAT, NULL )\
3909 USE_GL_FUNC(PGLFNVERTEX4HVNVPROC, glVertex4hvNV, NV_HALF_FLOAT, NULL )\
3910 USE_GL_FUNC(PGLFNNORMAL3HNVPROC, glNormal3hNV, NV_HALF_FLOAT, NULL )\
3911 USE_GL_FUNC(PGLFNNORMAL3HVNVPROC, glNormal3hvNV, NV_HALF_FLOAT, NULL )\
3912 USE_GL_FUNC(PGLFNCOLOR3HNVPROC, glColor3hNV, NV_HALF_FLOAT, NULL )\
3913 USE_GL_FUNC(PGLFNCOLOR3HVNVPROC, glColor3hvNV, NV_HALF_FLOAT, NULL )\
3914 USE_GL_FUNC(PGLFNCOLOR4HNVPROC, glColor4hNV, NV_HALF_FLOAT, NULL )\
3915 USE_GL_FUNC(PGLFNCOLOR4HVNVPROC, glColor4hvNV, NV_HALF_FLOAT, NULL )\
3916 USE_GL_FUNC(PGLFNTEXCOORD1HNVPROC, glTexCoord1hNV, NV_HALF_FLOAT, NULL )\
3917 USE_GL_FUNC(PGLFNTEXCOORD1HVNVPROC, glTexCoord1hvNV, NV_HALF_FLOAT, NULL )\
3918 USE_GL_FUNC(PGLFNTEXCOORD2HNVPROC, glTexCoord2hNV, NV_HALF_FLOAT, NULL )\
3919 USE_GL_FUNC(PGLFNTEXCOORD2HVNVPROC, glTexCoord2hvNV, NV_HALF_FLOAT, NULL )\
3920 USE_GL_FUNC(PGLFNTEXCOORD3HNVPROC, glTexCoord3hNV, NV_HALF_FLOAT, NULL )\
3921 USE_GL_FUNC(PGLFNTEXCOORD3HVNVPROC, glTexCoord3hvNV, NV_HALF_FLOAT, NULL )\
3922 USE_GL_FUNC(PGLFNTEXCOORD4HNVPROC, glTexCoord4hNV, NV_HALF_FLOAT, NULL )\
3923 USE_GL_FUNC(PGLFNTEXCOORD4HVNVPROC, glTexCoord4hvNV, NV_HALF_FLOAT, NULL )\
3924 USE_GL_FUNC(PGLFNMULTITEXCOORD1HNVPROC, glMultiTexCoord1hNV, NV_HALF_FLOAT, NULL )\
3925 USE_GL_FUNC(PGLFNMULTITEXCOORD1HVNVPROC, glMultiTexCoord1hvNV, NV_HALF_FLOAT, NULL )\
3926 USE_GL_FUNC(PGLFNMULTITEXCOORD2HNVPROC, glMultiTexCoord2hNV, NV_HALF_FLOAT, NULL )\
3927 USE_GL_FUNC(PGLFNMULTITEXCOORD2HVNVPROC, glMultiTexCoord2hvNV, NV_HALF_FLOAT, NULL )\
3928 USE_GL_FUNC(PGLFNMULTITEXCOORD3HNVPROC, glMultiTexCoord3hNV, NV_HALF_FLOAT, NULL )\
3929 USE_GL_FUNC(PGLFNMULTITEXCOORD3HVNVPROC, glMultiTexCoord3hvNV, NV_HALF_FLOAT, NULL )\
3930 USE_GL_FUNC(PGLFNMULTITEXCOORD4HNVPROC, glMultiTexCoord4hNV, NV_HALF_FLOAT, NULL )\
3931 USE_GL_FUNC(PGLFNMULTITEXCOORD4HVNVPROC, glMultiTexCoord4hvNV, NV_HALF_FLOAT, NULL )\
3932 USE_GL_FUNC(PGLFNFOGCOORDHNVPROC, glFogCoordhNV, NV_HALF_FLOAT, NULL )\
3933 USE_GL_FUNC(PGLFNFOGCOORDHVNVPROC, glFogCoordhvNV, NV_HALF_FLOAT, NULL )\
3934 USE_GL_FUNC(PGLFNSECONDARYCOLOR3HNVPROC, glSecondaryColor3hNV, NV_HALF_FLOAT, NULL )\
3935 USE_GL_FUNC(PGLFNSECONDARYCOLOR3HVNVPROC, glSecondaryColor3hvNV, NV_HALF_FLOAT, NULL )\
3936 USE_GL_FUNC(PGLFNVERTEXWEIGHTHNVPROC, glVertexWeighthNV, NV_HALF_FLOAT, NULL )\
3937 USE_GL_FUNC(PGLFNVERTEXWEIGHTHVNVPROC, glVertexWeighthvNV, NV_HALF_FLOAT, NULL )\
3938 USE_GL_FUNC(PGLFNVERTEXATTRIB1HNVPROC, glVertexAttrib1hNV, NV_HALF_FLOAT, NULL )\
3939 USE_GL_FUNC(PGLFNVERTEXATTRIB1HVNVPROC, glVertexAttrib1hvNV, NV_HALF_FLOAT, NULL )\
3940 USE_GL_FUNC(PGLFNVERTEXATTRIB2HNVPROC, glVertexAttrib2hNV, NV_HALF_FLOAT, NULL )\
3941 USE_GL_FUNC(PGLFNVERTEXATTRIB2HVNVPROC, glVertexAttrib2hvNV, NV_HALF_FLOAT, NULL )\
3942 USE_GL_FUNC(PGLFNVERTEXATTRIB3HNVPROC, glVertexAttrib3hNV, NV_HALF_FLOAT, NULL )\
3943 USE_GL_FUNC(PGLFNVERTEXATTRIB3HVNVPROC, glVertexAttrib3hvNV, NV_HALF_FLOAT, NULL )\
3944 USE_GL_FUNC(PGLFNVERTEXATTRIB4HNVPROC, glVertexAttrib4hNV, NV_HALF_FLOAT, NULL )\
3945 USE_GL_FUNC(PGLFNVERTEXATTRIB4HVNVPROC, glVertexAttrib4hvNV, NV_HALF_FLOAT, NULL )\
3946 USE_GL_FUNC(PGLFNVERTEXATTRIBS1HVNVPROC, glVertexAttribs1hvNV, NV_HALF_FLOAT, NULL )\
3947 USE_GL_FUNC(PGLFNVERTEXATTRIBS2HVNVPROC, glVertexAttribs2hvNV, NV_HALF_FLOAT, NULL )\
3948 USE_GL_FUNC(PGLFNVERTEXATTRIBS3HVNVPROC, glVertexAttribs3hvNV, NV_HALF_FLOAT, NULL )\
3949 USE_GL_FUNC(PGLFNVERTEXATTRIBS4HVNVPROC, glVertexAttribs4hvNV, NV_HALF_FLOAT, NULL )\
3950 /* GL_NV_register_combiners */ \
3951 USE_GL_FUNC(PGLFNCOMBINERINPUTNVPROC, glCombinerInputNV, NV_REGISTER_COMBINERS, NULL )\
3952 USE_GL_FUNC(PGLFNCOMBINEROUTPUTNVPROC, glCombinerOutputNV, NV_REGISTER_COMBINERS, NULL )\
3953 USE_GL_FUNC(PGLFNCOMBINERPARAMETERFNVPROC, glCombinerParameterfNV, NV_REGISTER_COMBINERS, NULL )\
3954 USE_GL_FUNC(PGLFNCOMBINERPARAMETERFVNVPROC, glCombinerParameterfvNV, NV_REGISTER_COMBINERS, NULL )\
3955 USE_GL_FUNC(PGLFNCOMBINERPARAMETERINVPROC, glCombinerParameteriNV, NV_REGISTER_COMBINERS, NULL )\
3956 USE_GL_FUNC(PGLFNCOMBINERPARAMETERIVNVPROC, glCombinerParameterivNV, NV_REGISTER_COMBINERS, NULL )\
3957 USE_GL_FUNC(PGLFNFINALCOMBINERINPUTNVPROC, glFinalCombinerInputNV, NV_REGISTER_COMBINERS, NULL )\
3959 USE_GL_FUNC(PGLFNGENFENCESNVPROC, glGenFencesNV, NV_FENCE, NULL )\
3960 USE_GL_FUNC(PGLFNDELETEFENCESNVPROC, glDeleteFencesNV, NV_FENCE, NULL )\
3961 USE_GL_FUNC(PGLFNSETFENCENVPROC, glSetFenceNV, NV_FENCE, NULL )\
3962 USE_GL_FUNC(PGLFNTESTFENCENVPROC, glTestFenceNV, NV_FENCE, NULL )\
3963 USE_GL_FUNC(PGLFNFINISHFENCENVPROC, glFinishFenceNV, NV_FENCE, NULL )\
3964 USE_GL_FUNC(PGLFNISFENCENVPROC, glIsFenceNV, NV_FENCE, NULL )\
3965 USE_GL_FUNC(PGLFNGETFENCEIVNVPROC, glGetFenceivNV, NV_FENCE, NULL )\
3966 /* GL_APPLE_fence */ \
3967 USE_GL_FUNC(PGLFNGENFENCESAPPLEPROC, glGenFencesAPPLE, APPLE_FENCE, NULL )\
3968 USE_GL_FUNC(PGLFNDELETEFENCESAPPLEPROC, glDeleteFencesAPPLE, APPLE_FENCE, NULL )\
3969 USE_GL_FUNC(PGLFNSETFENCEAPPLEPROC, glSetFenceAPPLE, APPLE_FENCE, NULL )\
3970 USE_GL_FUNC(PGLFNTESTFENCEAPPLEPROC, glTestFenceAPPLE, APPLE_FENCE, NULL )\
3971 USE_GL_FUNC(PGLFNFINISHFENCEAPPLEPROC, glFinishFenceAPPLE, APPLE_FENCE, NULL )\
3972 USE_GL_FUNC(PGLFNISFENCEAPPLEPROC, glIsFenceAPPLE, APPLE_FENCE, NULL )\
3973 USE_GL_FUNC(PGLFNTESTOBJECTAPPLEPROC, glTestObjectAPPLE, APPLE_FENCE, NULL )\
3974 USE_GL_FUNC(PGLFNFINISHOBJECTAPPLEPROC, glFinishObjectAPPLE, APPLE_FENCE, NULL )\
3975 /* GLX_SGI_video_sync */ \
3976 USE_GL_FUNC(PGLXFNGETVIDEOSYNCSGIPROC, glXGetVideoSyncSGI, SGI_VIDEO_SYNC, NULL )\
3977 USE_GL_FUNC(PGLXFNWAITVIDEOSYNCSGIPROC, glXWaitVideoSyncSGI, SGI_VIDEO_SYNC, NULL )\
3978 /* GL_APPLE_flush_render */ \
3979 USE_GL_FUNC(PGLFNFLUSHRENDERAPPLEPROC, glFlushRenderAPPLE, APPLE_FLUSH_RENDER, NULL )\
3980 USE_GL_FUNC(PGLFNFINISHRENDERAPPLEPROC, glFinishRenderAPPLE, APPLE_FLUSH_RENDER, NULL )\
3981 /* GL_EXT_gpu_program_parameters */ \
3982 USE_GL_FUNC(PGLFNPROGRAMENVPARAMETERS4FVEXTPROC, glProgramEnvParameters4fvEXT, EXT_GPU_PROGRAM_PARAMETERS,NULL )\
3983 USE_GL_FUNC(PGLFNPROGRAMLOCALPARAMETERS4FVEXTPROC, glProgramLocalParameters4fvEXT, EXT_GPU_PROGRAM_PARAMETERS,NULL )\
3984 /* GL_ATI_fragment_shader */ \
3985 USE_GL_FUNC(PGLFNGENFRAGMENTSHADERSATI, glGenFragmentShadersATI, ATI_FRAGMENT_SHADER, NULL )\
3986 USE_GL_FUNC(PGLFNBINDFRAGMENTSHADERATI, glBindFragmentShaderATI, ATI_FRAGMENT_SHADER, NULL )\
3987 USE_GL_FUNC(PGLFNDELETEFRAGMENTSHADERATI, glDeleteFragmentShaderATI, ATI_FRAGMENT_SHADER, NULL )\
3988 USE_GL_FUNC(PGLFNBEGINFRAGMENTSHADERATI, glBeginFragmentShaderATI, ATI_FRAGMENT_SHADER, NULL )\
3989 USE_GL_FUNC(PGLFNENDFRAGMENTSHADERATI, glEndFragmentShaderATI, ATI_FRAGMENT_SHADER, NULL )\
3990 USE_GL_FUNC(PGLFNPASSTEXCOORDATI, glPassTexCoordATI, ATI_FRAGMENT_SHADER, NULL )\
3991 USE_GL_FUNC(PGLFNSAMPLEMAPATI, glSampleMapATI, ATI_FRAGMENT_SHADER, NULL )\
3992 USE_GL_FUNC(PGLFNCOLORFRAGMENTOP1ATI, glColorFragmentOp1ATI, ATI_FRAGMENT_SHADER, NULL )\
3993 USE_GL_FUNC(PGLFNCOLORFRAGMENTOP2ATI, glColorFragmentOp2ATI, ATI_FRAGMENT_SHADER, NULL )\
3994 USE_GL_FUNC(PGLFNCOLORFRAGMENTOP3ATI, glColorFragmentOp3ATI, ATI_FRAGMENT_SHADER, NULL )\
3995 USE_GL_FUNC(PGLFNALPHAFRAGMENTOP1ATI, glAlphaFragmentOp1ATI, ATI_FRAGMENT_SHADER, NULL )\
3996 USE_GL_FUNC(PGLFNALPHAFRAGMENTOP2ATI, glAlphaFragmentOp2ATI, ATI_FRAGMENT_SHADER, NULL )\
3997 USE_GL_FUNC(PGLFNALPHAFRAGMENTOP3ATI, glAlphaFragmentOp3ATI, ATI_FRAGMENT_SHADER, NULL )\
3998 USE_GL_FUNC(PGLFNSETFRAGMENTSHADERCONSTANTATI, glSetFragmentShaderConstantATI, ATI_FRAGMENT_SHADER, NULL )
4000 /****************************************************
4001 * OpenGL WGL defines and functions pointer
4002 ****************************************************/
4004 /* WGL_ARB_extensions_string */
4005 typedef const char * (WINAPI * WINED3D_PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
4006 /* WGL_ARB_multisample */
4007 #ifndef WGL_ARB_multisample
4008 #define WGL_SAMPLE_BUFFERS_ARB 0x2041
4009 #define WGL_SAMPLES_ARB 0x2042
4011 /* WGL_ARB_pixel_format */
4012 #ifndef WGL_ARB_pixel_format
4013 #define WGL_ARB_pixel_format 1
4014 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
4015 #define WGL_DRAW_TO_WINDOW_ARB 0x2001
4016 #define WGL_DRAW_TO_BITMAP_ARB 0x2002
4017 #define WGL_ACCELERATION_ARB 0x2003
4018 #define WGL_NEED_PALETTE_ARB 0x2004
4019 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
4020 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
4021 #define WGL_SWAP_METHOD_ARB 0x2007
4022 #define WGL_NUMBER_OVERLAYS_ARB 0x2008
4023 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009
4024 #define WGL_TRANSPARENT_ARB 0x200A
4025 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
4026 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
4027 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
4028 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
4029 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
4030 #define WGL_SHARE_DEPTH_ARB 0x200C
4031 #define WGL_SHARE_STENCIL_ARB 0x200D
4032 #define WGL_SHARE_ACCUM_ARB 0x200E
4033 #define WGL_SUPPORT_GDI_ARB 0x200F
4034 #define WGL_SUPPORT_OPENGL_ARB 0x2010
4035 #define WGL_DOUBLE_BUFFER_ARB 0x2011
4036 #define WGL_STEREO_ARB 0x2012
4037 #define WGL_PIXEL_TYPE_ARB 0x2013
4038 #define WGL_COLOR_BITS_ARB 0x2014
4039 #define WGL_RED_BITS_ARB 0x2015
4040 #define WGL_RED_SHIFT_ARB 0x2016
4041 #define WGL_GREEN_BITS_ARB 0x2017
4042 #define WGL_GREEN_SHIFT_ARB 0x2018
4043 #define WGL_BLUE_BITS_ARB 0x2019
4044 #define WGL_BLUE_SHIFT_ARB 0x201A
4045 #define WGL_ALPHA_BITS_ARB 0x201B
4046 #define WGL_ALPHA_SHIFT_ARB 0x201C
4047 #define WGL_ACCUM_BITS_ARB 0x201D
4048 #define WGL_ACCUM_RED_BITS_ARB 0x201E
4049 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F
4050 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020
4051 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
4052 #define WGL_DEPTH_BITS_ARB 0x2022
4053 #define WGL_STENCIL_BITS_ARB 0x2023
4054 #define WGL_AUX_BUFFERS_ARB 0x2024
4055 #define WGL_NO_ACCELERATION_ARB 0x2025
4056 #define WGL_GENERIC_ACCELERATION_ARB 0x2026
4057 #define WGL_FULL_ACCELERATION_ARB 0x2027
4058 #define WGL_SWAP_EXCHANGE_ARB 0x2028
4059 #define WGL_SWAP_COPY_ARB 0x2029
4060 #define WGL_SWAP_UNDEFINED_ARB 0x202A
4061 #define WGL_TYPE_RGBA_ARB 0x202B
4062 #define WGL_TYPE_COLORINDEX_ARB 0x202C
4064 typedef BOOL (WINAPI * WINED3D_PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
4065 typedef BOOL (WINAPI * WINED3D_PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
4066 typedef BOOL (WINAPI * WINED3D_PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
4067 /* WGL_ARB_make_current_read */
4068 typedef BOOL (WINAPI * WINED3D_PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
4069 typedef HDC (WINAPI * WINED3D_PFNWGLGETCURRENTREADDCARBPROC) (void);
4070 /* WGL_ARB_pbuffer */
4071 #ifndef WGL_ARB_pbuffer
4072 #define WGL_ARB_pbuffer 1
4073 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D
4074 #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
4075 #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
4076 #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
4077 #define WGL_PBUFFER_LARGEST_ARB 0x2033
4078 #define WGL_PBUFFER_WIDTH_ARB 0x2034
4079 #define WGL_PBUFFER_HEIGHT_ARB 0x2035
4080 #define WGL_PBUFFER_LOST_ARB 0x2036
4082 DECLARE_HANDLE(HPBUFFERARB);
4083 typedef HPBUFFERARB (WINAPI * WINED3D_PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
4084 typedef HDC (WINAPI * WINED3D_PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
4085 typedef int (WINAPI * WINED3D_PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
4086 typedef BOOL (WINAPI * WINED3D_PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
4087 typedef BOOL (WINAPI * WINED3D_PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
4088 #ifndef WGL_ARB_pixel_format_float
4089 #define WGL_ARB_pixel_format_float 1
4090 #define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
4092 /* WGL_WINE_pixel_format_passthrough */
4093 typedef BOOL (WINAPI * WINED3D_PFNWGLSETPIXELFORMATWINE) (HDC hdc, int iPixelFormat, const PIXELFORMATDESCRIPTOR* ppfd);
4095 #define WGL_EXT_FUNCS_GEN \
4096 USE_GL_FUNC(WINED3D_PFNWGLGETEXTENSIONSSTRINGARBPROC, wglGetExtensionsStringARB, 0, NULL) \
4097 USE_GL_FUNC(WINED3D_PFNWGLGETPIXELFORMATATTRIBIVARBPROC, wglGetPixelFormatAttribivARB, 0, NULL) \
4098 USE_GL_FUNC(WINED3D_PFNWGLGETPIXELFORMATATTRIBFVARBPROC, wglGetPixelFormatAttribfvARB, 0, NULL) \
4099 USE_GL_FUNC(WINED3D_PFNWGLCHOOSEPIXELFORMATARBPROC, wglChoosePixelFormatARB, 0, NULL) \
4100 USE_GL_FUNC(WINED3D_PFNWGLMAKECONTEXTCURRENTARBPROC, wglMakeContextCurrentARB, 0, NULL) \
4101 USE_GL_FUNC(WINED3D_PFNWGLGETCURRENTREADDCARBPROC, wglGetCurrentReadDCARB, 0, NULL) \
4102 USE_GL_FUNC(WINED3D_PFNWGLCREATEPBUFFERARBPROC, wglCreatePbufferARB, 0, NULL) \
4103 USE_GL_FUNC(WINED3D_PFNWGLGETPBUFFERDCARBPROC, wglGetPbufferDCARB, 0, NULL) \
4104 USE_GL_FUNC(WINED3D_PFNWGLRELEASEPBUFFERDCARBPROC, wglReleasePbufferDCARB, 0, NULL) \
4105 USE_GL_FUNC(WINED3D_PFNWGLDESTROYPBUFFERARBPROC, wglDestroyPbufferARB, 0, NULL) \
4106 USE_GL_FUNC(WINED3D_PFNWGLQUERYPBUFFERARBPROC, wglQueryPbufferARB, 0, NULL) \
4107 USE_GL_FUNC(WINED3D_PFNWGLSETPIXELFORMATWINE, wglSetPixelFormatWINE, 0, NULL)
4110 /****************************************************
4112 ****************************************************/
4114 struct wined3d_fbo_ops
4116 PGLFNGLISRENDERBUFFERPROC glIsRenderbuffer;
4117 PGLFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
4118 PGLFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
4119 PGLFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
4120 PGLFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
4121 PGLFNRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
4122 PGLFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv;
4123 PGLFNGLISFRAMEBUFFERPROC glIsFramebuffer;
4124 PGLFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
4125 PGLFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
4126 PGLFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
4127 PGLFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
4128 PGLFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D;
4129 PGLFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
4130 PGLFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D;
4131 PGLFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
4132 PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv;
4133 PGLFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
4134 PGLFNGLGENERATEMIPMAPPROC glGenerateMipmap;
4137 #define USE_GL_FUNC(type, pfn, ext, replace) type pfn;
4139 struct wined3d_gl_info
4141 GL_Vendors gl_vendor;
4144 DWORD driver_version;
4145 DWORD driver_version_hipart;
4146 const char *driver_description;
4151 UINT max_texture_stages;
4152 UINT max_fragment_samplers;
4153 UINT max_vertex_samplers;
4154 UINT max_combined_samplers;
4155 UINT max_sampler_stages;
4156 UINT max_clipplanes;
4157 UINT max_texture_size;
4158 UINT max_texture3d_size;
4159 float max_pointsize, max_pointsizemin;
4160 UINT max_point_sprite_units;
4162 UINT max_anisotropy;
4163 UINT max_glsl_varyings;
4164 float max_shininess;
4166 unsigned int max_vshader_constantsF;
4167 unsigned int max_pshader_constantsF;
4169 unsigned int max_vs_arb_constantsF;
4170 unsigned int max_vs_arb_instructions;
4171 unsigned int max_vs_arb_temps;
4172 unsigned int max_ps_arb_constantsF;
4173 unsigned int max_ps_arb_local_constants;
4174 unsigned int max_ps_arb_instructions;
4175 unsigned int max_ps_arb_temps;
4176 unsigned int max_vs_glsl_constantsF;
4177 unsigned int max_ps_glsl_constantsF;
4179 DWORD reserved_glsl_constants;
4183 BOOL supported[WINED3D_GL_EXT_COUNT];
4185 struct wined3d_fbo_ops fbo_ops;
4186 /* GL function pointers */
4188 /* WGL function pointers */
4191 struct GlPixelFormatDesc *gl_formats;
4196 #endif /* __WINE_WINED3D_GL */