1 #ifndef __gl_ATI_h_
2 #define __gl_ATI_h_
3 /*
4 ** Copyright (C) 1998-2002 ATI Technologies Inc.
5 */
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #ifndef APIENTRY
12 #define WIN32_LEAN_AND_MEAN 1
13 #include <windows.h>
14 #endif
15 
16 /*
17 ** Notes:
18 **
19 **  Listed support is for current drivers and should really only be used
20 **  as a guideline.  ISV should still use glGetString() and
21 **  wglGetExtensionsString() to determine the exact set of supported
22 **  GL and WGL extensions.
23 **
24 */
25 
26 /*
27 **  ARB EXTENSIONS
28 */
29 
30 /*
31 ** GL_ARB_matrix_palette
32 **
33 ** Support:
34 **   Rage   128  based : Not Supported
35 **   Radeon 7xxx based : Not Supported
36 **   Radeon 8xxx based : Not Supported
37 */
38 #ifndef GL_ARB_matrix_palette
39 #define GL_ARB_matrix_palette                   1
40 
41 #define GL_MATRIX_PALETTE_ARB                   0x8840
42 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB   0x8841
43 #define GL_MAX_PALETTE_MATRICES_ARB             0x8842
44 #define GL_CURRENT_PALETTE_MATRIX_ARB           0x8843
45 #define GL_MATRIX_INDEX_ARRAY_ARB               0x8844
46 #define GL_CURRENT_MATRIX_INDEX_ARB             0x8845
47 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB          0x8846
48 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB          0x8847
49 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB        0x8848
50 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB       0x8849
51 
52 typedef void (APIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
53 typedef void (APIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices);
54 typedef void (APIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices);
55 typedef void (APIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices);
56 typedef void (APIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
57 
58 #endif /* GL_ARB_matrix_palette */
59 
60 /*
61 ** GL_ARB_multisample
62 **
63 ** Support:
64 **   Rage   128  based : Not Supported
65 **   Radeon 7xxx based : Not Supported
66 **   Radeon 8xxx based : Not Supported
67 */
68 #ifndef GL_ARB_multisample
69 #define GL_ARB_multisample
70 
71 #define GL_MULTISAMPLE_ARB              0x809D
72 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
73 #define GL_SAMPLE_ALPHA_TO_ONE_ARB      0x809F
74 #define GL_SAMPLE_COVERAGE_ARB          0x80A0
75 #define GL_SAMPLE_BUFFERS_ARB           0x80A8
76 #define GL_SAMPLES_ARB                  0x80A9
77 #define GL_SAMPLE_COVERAGE_VALUE_ARB    0x80AA
78 #define GL_SAMPLE_COVERAGE_INVERT_ARB   0x80AB
79 #define GL_MULTISAMPLE_BIT_ARB          0x20000000
80 
81 typedef void (APIENTRY * PFNGLSAMPLECOVERAGEARBPROC)(GLclampf value, GLboolean invert);
82 
83 #endif /* GL_ARB_multisample */
84 
85 /*
86 ** GL_ARB_multitexture
87 **
88 **  Support:
89 **   Rage 128 based    : Supported
90 **   Radeon 7xxx based : Supported
91 **   Radeon 8xxx based : Supported
92 */
93 #ifndef GL_ARB_multitexture
94 #define GL_ARB_multitexture                 1
95 
96 #define GL_ACTIVE_TEXTURE_ARB               0x84E0
97 #define GL_CLIENT_ACTIVE_TEXTURE_ARB        0x84E1
98 #define GL_MAX_TEXTURE_UNITS_ARB            0x84E2
99 #define GL_TEXTURE0_ARB                     0x84C0
100 #define GL_TEXTURE1_ARB                     0x84C1
101 #define GL_TEXTURE2_ARB                     0x84C2
102 #define GL_TEXTURE3_ARB                     0x84C3
103 #define GL_TEXTURE4_ARB                     0x84C4
104 #define GL_TEXTURE5_ARB                     0x84C5
105 #define GL_TEXTURE6_ARB                     0x84C6
106 #define GL_TEXTURE7_ARB                     0x84C7
107 #define GL_TEXTURE8_ARB                     0x84C8
108 #define GL_TEXTURE9_ARB                     0x84C9
109 #define GL_TEXTURE10_ARB                    0x84CA
110 #define GL_TEXTURE11_ARB                    0x84CB
111 #define GL_TEXTURE12_ARB                    0x84CC
112 #define GL_TEXTURE13_ARB                    0x84CD
113 #define GL_TEXTURE14_ARB                    0x84CE
114 #define GL_TEXTURE15_ARB                    0x84CF
115 #define GL_TEXTURE16_ARB                    0x84D0
116 #define GL_TEXTURE17_ARB                    0x84D1
117 #define GL_TEXTURE18_ARB                    0x84D2
118 #define GL_TEXTURE19_ARB                    0x84D3
119 #define GL_TEXTURE20_ARB                    0x84D4
120 #define GL_TEXTURE21_ARB                    0x84D5
121 #define GL_TEXTURE22_ARB                    0x84D6
122 #define GL_TEXTURE23_ARB                    0x84D7
123 #define GL_TEXTURE24_ARB                    0x84D8
124 #define GL_TEXTURE25_ARB                    0x84D9
125 #define GL_TEXTURE26_ARB                    0x84DA
126 #define GL_TEXTURE27_ARB                    0x84DB
127 #define GL_TEXTURE28_ARB                    0x84DC
128 #define GL_TEXTURE29_ARB                    0x84DD
129 #define GL_TEXTURE30_ARB                    0x84DE
130 #define GL_TEXTURE31_ARB                    0x84DF
131 
132 typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
133 typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
134 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum texture, GLdouble s);
135 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum texture, const GLdouble *v);
136 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum texture, GLfloat s);
137 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum texture, const GLfloat *v);
138 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum texture, GLint s);
139 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum texture, const GLint *v);
140 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum texture, GLshort s);
141 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum texture, const GLshort *v);
142 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum texture, GLdouble s, GLdouble t);
143 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum texture, const GLdouble *v);
144 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum texture, GLfloat s, GLfloat t);
145 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum texture, const GLfloat *v);
146 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum texture, GLint s, GLint t);
147 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum texture, const GLint *v);
148 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum texture, GLshort s, GLshort t);
149 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum texture, const GLshort *v);
150 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r);
151 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum texture, const GLdouble *v);
152 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r);
153 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum texture, const GLfloat *v);
154 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum texture, GLint s, GLint t, GLint r);
155 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum texture, const GLint *v);
156 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum texture, GLshort s, GLshort t, GLshort r);
157 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum texture, const GLshort *v);
158 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
159 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum texture, const GLdouble *v);
160 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
161 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum texture, const GLfloat *v);
162 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum texture, GLint s, GLint t, GLint r, GLint q);
163 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum texture, const GLint *v);
164 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum texture, GLshort s, GLshort t, GLshort r, GLshort q);
165 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum texture, const GLshort *v);
166 
167 #endif /* GL_ARB_multitexture */
168 
169 /*
170 ** GL_ARB_texture_border_clamp
171 **
172 ** Support:
173 **   Rage 128 based    : Supported
174 **   Radeon 7xxx based : Supported
175 **   Radeon 8xxx based : Supported
176 */
177 #ifndef GL_ARB_texture_border_clamp
178 #define GL_ARB_texture_border_clamp 1
179 
180 #define GL_CLAMP_TO_BORDER_ARB  0x812D
181 
182 #endif /* GL_ARB_texture_border_clamp */
183 
184 /*
185 ** GL_ARB_texture_compression
186 **
187 ** Support:
188 **   Rage 128 based    : Not Supported
189 **   Radeon 7xxx based : Supported
190 **   Radeon 8xxx based : Supported
191 */
192 #ifndef GL_ARB_texture_compression
193 #define GL_ARB_texture_compression 1
194 
195 #define GL_COMPRESSED_ALPHA_ARB               0x84E9
196 #define GL_COMPRESSED_LUMINANCE_ARB           0x84EA
197 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB     0x84EB
198 #define GL_COMPRESSED_INTENSITY_ARB           0x84EC
199 #define GL_COMPRESSED_RGB_ARB                 0x84ED
200 #define GL_COMPRESSED_RGBA_ARB                0x84EE
201 #define GL_TEXTURE_COMPRESSION_HINT_ARB       0x84EF
202 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB  0x86A0
203 #define GL_TEXTURE_COMPRESSED_ARB             0x86A1
204 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
205 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB     0x86A3
206 
207 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level,
208                                                            GLenum internalFormat, GLsizei width,
209                                                            GLsizei height, GLsizei depth,
210                                                            GLint border, GLsizei imageSize,
211                                                            const GLvoid *data);
212 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level,
213                                                            GLenum internalFormat, GLsizei width,
214                                                            GLsizei height, GLint border,
215                                                            GLsizei imageSize, const GLvoid *data);
216 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum target, GLint level,
217                                                            GLenum internalFormat, GLsizei width,
218                                                            GLint border, GLsizei imageSize,
219                                                            const GLvoid *data);
220 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum target, GLint level,
221                                                               GLint xoffset, GLint yoffset,
222                                                               GLint zoffset, GLsizei width,
223                                                               GLsizei height, GLsizei depth,
224                                                               GLenum format, GLsizei imageSize,
225                                                               const GLvoid *data);
226 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum target, GLint level,
227                                                               GLint xoffset, GLint yoffset,
228                                                               GLsizei width, GLsizei height,
229                                                               GLenum format, GLsizei imageSize,
230                                                               const GLvoid *data);
231 typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum target, GLint level,
232                                                               GLint xoffset, GLsizei width,
233                                                               GLenum format, GLsizei imageSize,
234                                                               const GLvoid *data);
235 typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod,
236                                                             GLvoid *img);
237 
238 
239 #endif /* GL_ARB_texture_compression */
240 
241 /*
242 ** GL_ARB_texture_cube_map
243 **
244 **  Support:
245 **   Rage 128 based    : Not Supported
246 **   Radeon 7xxx based : Supported
247 **   Radeon 8xxx based : Supported
248 */
249 #ifndef GL_ARB_texture_cube_map
250 #define GL_ARB_texture_cube_map 1
251 
252 #define GL_NORMAL_MAP_ARB                  0x8511
253 #define GL_REFLECTION_MAP_ARB              0x8512
254 #define GL_TEXTURE_CUBE_MAP_ARB            0x8513
255 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB    0x8514
256 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
257 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
258 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
259 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
260 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
261 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
262 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB      0x851B
263 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB   0x851C
264 
265 #endif /* GL_ARB_texture_cube_map */
266 
267 /*
268 ** GL_ARB_texture_env_add
269 **
270 **  Support:
271 **   Rage 128 based    : Supported
272 **   Radeon 7xxx based : Supported
273 **   Radeon 8xxx based : Supported
274 */
275 #ifndef GL_ARB_texture_env_add
276 #define GL_ARB_texture_env_add  1
277 
278 #endif /* GL_ARB_texture_env_add */
279 
280 /*
281 ** GL_ARB_texture_env_combine
282 **
283 **  Support:
284 **   Rage 128 based    : Not Supported
285 **   Radeon 7xxx based : Supported
286 **   Radeon 8xxx based : Supported
287 */
288 
289 #ifndef GL_ARB_texture_env_combine
290 #define GL_ARB_texture_env_combine  1
291 
292 #define GL_COMBINE_ARB        0x8570
293 #define GL_COMBINE_RGB_ARB    0x8571
294 #define GL_COMBINE_ALPHA_ARB  0x8572
295 #define GL_SOURCE0_RGB_ARB    0x8580
296 #define GL_SOURCE1_RGB_ARB    0x8581
297 #define GL_SOURCE2_RGB_ARB    0x8582
298 #define GL_SOURCE0_ALPHA_ARB  0x8588
299 #define GL_SOURCE1_ALPHA_ARB  0x8589
300 #define GL_SOURCE2_ALPHA_ARB  0x858A
301 #define GL_OPERAND0_RGB_ARB   0x8590
302 #define GL_OPERAND1_RGB_ARB   0x8591
303 #define GL_OPERAND2_RGB_ARB   0x8592
304 #define GL_OPERAND0_ALPHA_ARB 0x8598
305 #define GL_OPERAND1_ALPHA_ARB 0x8599
306 #define GL_OPERAND2_ALPHA_ARB 0x859A
307 #define GL_RGB_SCALE_ARB      0x8573
308 #define GL_ADD_SIGNED_ARB     0x8574
309 #define GL_INTERPOLATE_ARB    0x8575
310 #define GL_CONSTANT_ARB       0x8576
311 #define GL_PRIMARY_COLOR_ARB  0x8577
312 #define GL_PREVIOUS_ARB       0x8578
313 #define GL_SUBTRACT_ARB       0x84E7
314 
315 #endif /* GL_ARB_texture_env_combine */
316 
317 /*
318 ** GL_ARB_texture_env_crossbar
319 **
320 **  Support:
321 **   Rage 128 based    : Not Supported
322 **   Radeon 7xxx based : Supported
323 **   Radeon 8xxx based : Supported
324 */
325 #ifndef GL_ARB_texture_env_crossbar
326 #define GL_ARB_texture_env_crossbar 1
327 
328 #endif /* GL_ARB_texture_env_crossbar */
329 
330 /*
331 ** GL_ARB_texture_env_dot3
332 **
333 **  Support:
334 **   Rage 128 based     : Not Supported
335 **   Radeon 7xxx based  : Supported
336 **   Radeon 8xxx based : Supported
337 */
338 #ifndef GL_ARB_texture_env_dot3
339 #define GL_ARB_texture_env_dot3 1
340 
341 #define GL_DOT3_RGB_ARB  0x86AE
342 #define GL_DOT3_RGBA_ARB 0x86AF
343 
344 #endif /* GL_ARB_texture_env_dot3 */
345 
346 /*
347 ** GL_ARB_transpose_matrix
348 **
349 **  Support:
350 **   Rage 128 based    : Supported
351 **   Radeon 7xxx based : Supported
352 **   Radeon 8xxx based : Supported
353 */
354 #ifndef GL_ARB_transpose_matrix
355 #define GL_ARB_transpose_matrix 1
356 
357 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB  0x84E3
358 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
359 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB    0x84E5
360 #define GL_TRANSPOSE_COLOR_MATRIX_ARB      0x84E6
361 
362 typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat m[16]);
363 typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble m[16]);
364 typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat m[16]);
365 typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble m[16]);
366 
367 #endif /* GL_ARB_transpose_matrix */
368 
369 /*
370 ** GL_ARB_vertex_blend
371 **
372 **  Support:
373 **   Rage 128 based    : Supported
374 **   Radeon 7xxx based : Supported
375 **   Radeon 8xxx based : Supported
376 */
377 #ifndef GL_ARB_vertex_blend
378 #define GL_ARB_vertex_blend         1
379 
380 #define GL_MAX_VERTEX_UNITS_ARB     0x86A4
381 #define GL_ACTIVE_VERTEX_UNITS_ARB  0x86A5
382 #define GL_WEIGHT_SUM_UNITY_ARB     0x86A6
383 #define GL_VERTEX_BLEND_ARB         0x86A7
384 #define GL_CURRENT_WEIGHT_ARB       0x86A8
385 #define GL_WEIGHT_ARRAY_TYPE_ARB    0x86A9
386 #define GL_WEIGHT_ARRAY_STRIDE_ARB  0x86AA
387 #define GL_WEIGHT_ARRAY_SIZE_ARB    0x86AB
388 #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
389 #define GL_WEIGHT_ARRAY_ARB         0x86AD
390 #define GL_MODELVIEW0_ARB           0x1700
391 #define GL_MODELVIEW1_ARB           0x850a
392 #define GL_MODELVIEW2_ARB           0x8722
393 #define GL_MODELVIEW3_ARB           0x8723
394 #define GL_MODELVIEW4_ARB           0x8724
395 #define GL_MODELVIEW5_ARB           0x8725
396 #define GL_MODELVIEW6_ARB           0x8726
397 #define GL_MODELVIEW7_ARB           0x8727
398 #define GL_MODELVIEW8_ARB           0x8728
399 #define GL_MODELVIEW9_ARB           0x8729
400 #define GL_MODELVIEW10_ARB          0x872A
401 #define GL_MODELVIEW11_ARB          0x872B
402 #define GL_MODELVIEW12_ARB          0x872C
403 #define GL_MODELVIEW13_ARB          0x872D
404 #define GL_MODELVIEW14_ARB          0x872E
405 #define GL_MODELVIEW15_ARB          0x872F
406 #define GL_MODELVIEW16_ARB          0x8730
407 #define GL_MODELVIEW17_ARB          0x8731
408 #define GL_MODELVIEW18_ARB          0x8732
409 #define GL_MODELVIEW19_ARB          0x8733
410 #define GL_MODELVIEW20_ARB          0x8734
411 #define GL_MODELVIEW21_ARB          0x8735
412 #define GL_MODELVIEW22_ARB          0x8736
413 #define GL_MODELVIEW23_ARB          0x8737
414 #define GL_MODELVIEW24_ARB          0x8738
415 #define GL_MODELVIEW25_ARB          0x8739
416 #define GL_MODELVIEW26_ARB          0x873A
417 #define GL_MODELVIEW27_ARB          0x873B
418 #define GL_MODELVIEW28_ARB          0x873C
419 #define GL_MODELVIEW29_ARB          0x873D
420 #define GL_MODELVIEW30_ARB          0x873E
421 #define GL_MODELVIEW31_ARB          0x873F
422 
423 typedef void (APIENTRY *PFNGLWEIGHTBVARBPROC)(GLint size, GLbyte *weights);
424 typedef void (APIENTRY *PFNGLWEIGHTSVARBPROC)(GLint size, GLshort *weights);
425 typedef void (APIENTRY *PFNGLWEIGHTIVARBPROC)(GLint size, GLint *weights);
426 typedef void (APIENTRY *PFNGLWEIGHTFVARBPROC)(GLint size, GLfloat *weights);
427 typedef void (APIENTRY *PFNGLWEIGHTDVARBPROC)(GLint size, GLdouble *weights);
428 typedef void (APIENTRY *PFNGLWEIGHTUBVARBPROC)(GLint size, GLubyte *weights);
429 typedef void (APIENTRY *PFNGLWEIGHTUSVARBPROC)(GLint size, GLushort *weights);
430 typedef void (APIENTRY *PFNGLWEIGHTUIVARBPROC)(GLint size, GLuint *weights);
431 typedef void (APIENTRY *PFNGLWEIGHTPOINTERARBPROC)(GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
432 typedef void (APIENTRY *PFNGLVERTEXBLENDARBPROC)(GLint count);
433 
434 #endif /* GL_ARB_vertex_blend */
435 
436 /*
437 ** GL_ARB_window_pos
438 **
439 **  Support:
440 **   Rage 128  * based : Supported
441 **   Radeon 7xxx based : Supported
442 **   Radeon 8xxx based : Supported
443 */
444 #ifndef GL_ARB_window_pos
445 #define GL_ARB_window_pos   1
446 
447 typedef void (APIENTRY * PFNGLWINDOWPOS2DARBPROC) (double x, double y);
448 typedef void (APIENTRY * PFNGLWINDOWPOS2FARBPROC) (float x, float y);
449 typedef void (APIENTRY * PFNGLWINDOWPOS2IARBPROC) (int x, int y);
450 typedef void (APIENTRY * PFNGLWINDOWPOS2SARBPROC) (short x, short y);
451 typedef void (APIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const int *p);
452 typedef void (APIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const short *p);
453 typedef void (APIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const float *p);
454 typedef void (APIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const double *p);
455 typedef void (APIENTRY * PFNGLWINDOWPOS3IARBPROC) (int x, int y, int z);
456 typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (short x, short y, short z);
457 typedef void (APIENTRY * PFNGLWINDOWPOS3FARBPROC) (float x, float y, float z);
458 typedef void (APIENTRY * PFNGLWINDOWPOS3DARBPROC) (double x, double y, double z);
459 typedef void (APIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const int *p);
460 typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const short *p);
461 typedef void (APIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const float *p);
462 typedef void (APIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const double *p);
463 
464 #endif /* GL_ARB_window_pos */
465 
466 /*
467 ** GL_ARB_depth_texture
468 **
469 ** Support:
470 **   Rage 128 based    : Not Supported
471 **   Radeon 7xxx based : Not Supported
472 **   Radeon 8xxx based : Not Supported
473 */
474 
475 #ifndef GL_ARB_depth_texture
476 #define GL_ARB_depth_texture            1
477 
478 #define GL_DEPTH_COMPONENT16_ARB        0x81A5
479 #define GL_DEPTH_COMPONENT24_ARB        0x81A6
480 #define GL_DEPTH_COMPONENT32_ARB        0x81A7
481 
482 #define GL_TEXTURE_DEPTH_SIZE_ARB       0x884A
483 
484 #define GL_DEPTH_TEXTURE_MODE_ARB       0x884B
485 
486 #endif /* GL_ARB_depth_texture */
487 
488 #ifndef GL_ARB_shadow
489 #define GL_ARB_shadow                   1
490 
491 /*
492 ** GL_ARB_shadow
493 **
494 ** Support:
495 **   Rage 128 based    : Not Supported
496 **   Radeon 7xxx based : Not Supported
497 **   Radeon 8xxx based : Not Supported
498 */
499 
500 #define GL_TEXTURE_COMPARE_MODE_ARB     0x884C
501 #define GL_TEXTURE_COMPARE_FUNC_ARB     0X884D
502 #define GL_COMPARE_R_TO_TEXTURE_ARB     0x884E
503 #endif  /* GL_ARB_shadow */
504 
505 /*
506 ** GL_ARB_shadow_ambient
507 **
508 ** Support:
509 **   Rage 128 based    : Not Supported
510 **   Radeon 7xxx based : Not Supported
511 **   Radeon 8xxx based : Not Supported
512 */
513 #ifndef GL_ARB_shadow_ambient
514 #define GL_ARB_shadow_ambient             1
515 
516 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
517 
518 #endif /* GL_ARB_shadow_ambient */
519 
520 /*
521 **  ATI EXTENSIONS
522 */
523 
524 /*
525 ** GL_ATI_envmap_bumpmap
526 **
527 ** Support:
528 **   Rage 128 based     : Not Supported
529 **   Radeon 7xxx based  : Supported
530 **   Radeon 8xxx based  : Supported
531 */
532 #ifndef GL_ATI_envmap_bumpmap
533 #define GL_ATI_envmap_bumpmap       1
534 
535 #define GL_BUMP_ROT_MATRIX_ATI      0x8775
536 #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
537 #define GL_BUMP_NUM_TEX_UNITS_ATI   0x8777
538 #define GL_BUMP_TEX_UNITS_ATI       0x8778
539 #define GL_DUDV_ATI                 0x8779
540 #define GL_DU8DV8_ATI               0x877A
541 #define GL_BUMP_ENVMAP_ATI          0x877B
542 #define GL_BUMP_TARGET_ATI          0x877C
543 
544 typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
545 typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
546 typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
547 typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
548 
549 
550 #endif /* GL_ATI_envmap_bumpmap */
551 
552 
553 /*
554 ** GL_ATI_fragment_shader
555 **
556 ** Support:
557 **   Rage 128 based     : Not Supported
558 **   Radeon 7xxx based  : Not Supported
559 **   Radeon 8xxx based  : Supported
560 */
561 #ifndef GL_ATI_fragment_shader
562 
563 #define GL_FRAGMENT_SHADER_ATI                   0x8920
564 #define GL_REG_0_ATI                             0x8921
565 #define GL_REG_1_ATI                             0x8922
566 #define GL_REG_2_ATI                             0x8923
567 #define GL_REG_3_ATI                             0x8924
568 #define GL_REG_4_ATI                             0x8925
569 #define GL_REG_5_ATI                             0x8926
570 #define GL_REG_6_ATI                             0x8927
571 #define GL_REG_7_ATI                             0x8928
572 #define GL_REG_8_ATI                             0x8929
573 #define GL_REG_9_ATI                             0x892A
574 #define GL_REG_10_ATI                            0x892B
575 #define GL_REG_11_ATI                            0x892C
576 #define GL_REG_12_ATI                            0x892D
577 #define GL_REG_13_ATI                            0x892E
578 #define GL_REG_14_ATI                            0x892F
579 #define GL_REG_15_ATI                            0x8930
580 #define GL_REG_16_ATI                            0x8931
581 #define GL_REG_17_ATI                            0x8932
582 #define GL_REG_18_ATI                            0x8933
583 #define GL_REG_19_ATI                            0x8934
584 #define GL_REG_20_ATI                            0x8935
585 #define GL_REG_21_ATI                            0x8936
586 #define GL_REG_22_ATI                            0x8937
587 #define GL_REG_23_ATI                            0x8938
588 #define GL_REG_24_ATI                            0x8939
589 #define GL_REG_25_ATI                            0x893A
590 #define GL_REG_26_ATI                            0x893B
591 #define GL_REG_27_ATI                            0x893C
592 #define GL_REG_28_ATI                            0x893D
593 #define GL_REG_29_ATI                            0x893E
594 #define GL_REG_30_ATI                            0x893F
595 #define GL_REG_31_ATI                            0x8940
596 #define GL_CON_0_ATI                             0x8941
597 #define GL_CON_1_ATI                             0x8942
598 #define GL_CON_2_ATI                             0x8943
599 #define GL_CON_3_ATI                             0x8944
600 #define GL_CON_4_ATI                             0x8945
601 #define GL_CON_5_ATI                             0x8946
602 #define GL_CON_6_ATI                             0x8947
603 #define GL_CON_7_ATI                             0x8948
604 #define GL_CON_8_ATI                             0x8949
605 #define GL_CON_9_ATI                             0x894A
606 #define GL_CON_10_ATI                            0x894B
607 #define GL_CON_11_ATI                            0x894C
608 #define GL_CON_12_ATI                            0x894D
609 #define GL_CON_13_ATI                            0x894E
610 #define GL_CON_14_ATI                            0x894F
611 #define GL_CON_15_ATI                            0x8950
612 #define GL_CON_16_ATI                            0x8951
613 #define GL_CON_17_ATI                            0x8952
614 #define GL_CON_18_ATI                            0x8953
615 #define GL_CON_19_ATI                            0x8954
616 #define GL_CON_20_ATI                            0x8955
617 #define GL_CON_21_ATI                            0x8956
618 #define GL_CON_22_ATI                            0x8957
619 #define GL_CON_23_ATI                            0x8958
620 #define GL_CON_24_ATI                            0x8959
621 #define GL_CON_25_ATI                            0x895A
622 #define GL_CON_26_ATI                            0x895B
623 #define GL_CON_27_ATI                            0x895C
624 #define GL_CON_28_ATI                            0x895D
625 #define GL_CON_29_ATI                            0x895E
626 #define GL_CON_30_ATI                            0x895F
627 #define GL_CON_31_ATI                            0x8960
628 #define GL_MOV_ATI                               0x8961
629 #define GL_ADD_ATI                               0x8963
630 #define GL_MUL_ATI                               0x8964
631 #define GL_SUB_ATI                               0x8965
632 #define GL_DOT3_ATI                              0x8966
633 #define GL_DOT4_ATI                              0x8967
634 #define GL_MAD_ATI                               0x8968
635 #define GL_LERP_ATI                              0x8969
636 #define GL_CND_ATI                               0x896A
637 #define GL_CND0_ATI                              0x896B
638 #define GL_DOT2_ADD_ATI                          0x896C
639 #define GL_SECONDARY_INTERPOLATOR_ATI            0x896D
640 #define GL_NUM_FRAGMENT_REGISTERS_ATI            0x896E
641 #define GL_NUM_FRAGMENT_CONSTANTS_ATI            0x896F
642 #define GL_NUM_PASSES_ATI                        0x8970
643 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI         0x8971
644 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI            0x8972
645 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
646 #define GL_NUM_LOOPBACK_COMPONENTS_ATI           0x8974
647 #define GL_COLOR_ALPHA_PAIRING_ATI               0x8975
648 #define GL_SWIZZLE_STR_ATI                       0x8976
649 #define GL_SWIZZLE_STQ_ATI                       0x8977
650 #define GL_SWIZZLE_STR_DR_ATI                    0x8978
651 #define GL_SWIZZLE_STQ_DQ_ATI                    0x8979
652 #define GL_SWIZZLE_STRQ_ATI                      0x897A
653 #define GL_SWIZZLE_STRQ_DQ_ATI                   0x897B
654 #define GL_RED_BIT_ATI                           0x00000001
655 #define GL_GREEN_BIT_ATI                         0x00000002
656 #define GL_BLUE_BIT_ATI                          0x00000004
657 #define GL_2X_BIT_ATI                            0x00000001
658 #define GL_4X_BIT_ATI                            0x00000002
659 #define GL_8X_BIT_ATI                            0x00000004
660 #define GL_HALF_BIT_ATI                          0x00000008
661 #define GL_QUARTER_BIT_ATI                       0x00000010
662 #define GL_EIGHTH_BIT_ATI                        0x00000020
663 #define GL_SATURATE_BIT_ATI                      0x00000040
664 #define GL_COMP_BIT_ATI                          0x00000002
665 #define GL_NEGATE_BIT_ATI                        0x00000004
666 #define GL_BIAS_BIT_ATI                          0x00000008
667 
668 #endif /* GL_ATI_fragment_shader */
669 
670 #if !defined (GL_ATI_fragment_shader) || defined (__APPLE__) || defined (MACOSX)
671 #if !defined (GL_ATI_fragment_shader)
672 #define GL_ATI_fragment_shader                   1
673 #endif /* GL_ATI_fragment_shader */
674 typedef GLuint (APIENTRY *PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);
675 typedef GLvoid (APIENTRY *PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);
676 typedef GLvoid (APIENTRY *PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);
677 typedef GLvoid (APIENTRY *PFNGLBEGINFRAGMENTSHADERATIPROC)(GLvoid);
678 typedef GLvoid (APIENTRY *PFNGLENDFRAGMENTSHADERATIPROC)(GLvoid);
679 typedef GLvoid (APIENTRY *PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);
680 typedef GLvoid (APIENTRY *PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);
681 typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
682                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
683                                                         GLuint arg1Mod);
684 typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
685                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
686                                                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
687                                                         GLuint arg2Mod);
688 typedef GLvoid (APIENTRY *PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
689                                                         GLuint dstMod, GLuint arg1, GLuint arg1Rep,
690                                                         GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
691                                                         GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
692                                                         GLuint arg3Mod);
693 typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
694                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
695 typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
696                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
697                                                         GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
698 typedef GLvoid (APIENTRY *PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
699                                                         GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
700                                                         GLuint arg2, GLuint arg2Rep, GLuint arg2Mod,
701                                                         GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
702 typedef GLvoid (APIENTRY *PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);
703 
704 #endif /* !GL_ATI_fragment_shader || __APPLE__ || MACOSX */
705 
706 /*
707 ** GL_ATI_pn_triangles
708 **
709 ** Support
710 **   Rage 128 based     : Not Supported
711 **   Radeon 7xxx based  : Not Supported
712 **   Radeon 8xxx based  : Supported
713 */
714 #ifndef GL_ATI_pn_triangles
715 #define GL_ATI_pn_triangles                       1
716 
717 #define GL_PN_TRIANGLES_ATI                       0x87F0
718 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
719 #define GL_PN_TRIANGLES_POINT_MODE_ATI            0x87F2
720 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI           0x87F3
721 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI     0x87F4
722 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI     0x87F5
723 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI      0x87F6
724 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI    0x87F7
725 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
726 
727 typedef void (APIENTRY *PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);
728 typedef void (APIENTRY *PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);
729 
730 #endif /* GL_ATI_pn_triangles */
731 
732 /*
733 ** GL_ATI_texture_mirror_once
734 **
735 **  Support:
736 **   Rage 128 based    : Supported
737 **   Radeon 7xxx based : Supported
738 **   Radeon 8xxx based : Supported
739 */
740 #ifndef GL_ATI_texture_mirror_once
741 #define GL_ATI_texture_mirror_once  1
742 
743 #define GL_MIRROR_CLAMP_ATI         0x8742
744 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
745 
746 #endif /* GL_ATI_texture_mirror_once */
747 
748 /*
749 ** GL_ATI_vertex_streams
750 **
751 **  Support:
752 **   Rage 128 based    : Supported
753 **   Radeon 7xxx based : Supported
754 **   Radeon 8xxx based : Supported
755 */
756 #ifndef GL_ATI_vertex_streams
757 #define GL_ATI_vertex_streams                                   1
758 
759 #define GL_MAX_VERTEX_STREAMS_ATI                               0x876B
760 #define GL_VERTEX_SOURCE_ATI                                    0x876C
761 #define GL_VERTEX_STREAM0_ATI                                   0x876D
762 #define GL_VERTEX_STREAM1_ATI                                   0x876E
763 #define GL_VERTEX_STREAM2_ATI                                   0x876F
764 #define GL_VERTEX_STREAM3_ATI                                   0x8770
765 #define GL_VERTEX_STREAM4_ATI                                   0x8771
766 #define GL_VERTEX_STREAM5_ATI                                   0x8772
767 #define GL_VERTEX_STREAM6_ATI                                   0x8773
768 #define GL_VERTEX_STREAM7_ATI                                   0x8774
769 
770 typedef void (APIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
771 typedef void (APIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
772 typedef void (APIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
773 typedef void (APIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
774 typedef void (APIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v);
775 typedef void (APIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
776 typedef void (APIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v);
777 typedef void (APIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
778 typedef void (APIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v);
779 typedef void (APIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
780 typedef void (APIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v);
781 typedef void (APIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
782 typedef void (APIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
783 typedef void (APIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
784 typedef void (APIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
785 typedef void (APIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
786 typedef void (APIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
787 typedef void (APIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
788 typedef void (APIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
789 typedef void (APIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
790 typedef void (APIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v);
791 typedef void (APIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
792 typedef void (APIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v);
793 typedef void (APIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
794 typedef void (APIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v);
795 typedef void (APIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
796 typedef void (APIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v);
797 typedef void (APIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
798 typedef void (APIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v);
799 typedef void (APIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
800 typedef void (APIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
801 typedef void (APIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
802 typedef void (APIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
803 typedef void (APIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
804 typedef void (APIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
805 typedef void (APIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
806 typedef void (APIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
807 
808 #endif /* GL_ATI_vertex_streams */
809 
810 /*
811 ** GL_ATI_point_cull_mode
812 **
813 **  Support:
814 **   Rage 128 based    : Not Supported
815 **   Radeon 7xxx based : Not Supported
816 **   Radeon 8xxx based : Supported
817 */
818 #ifndef GL_ATI_point_cull_mode
819 #define GL_ATI_point_cull_mode                      1
820 
821 #define GL_POINT_CULL_MODE_ATI                      0x60b3
822 #define GL_POINT_CULL_CENTER_ATI                    0x60b4
823 #define GL_POINT_CLIP_ATI                           0x60b5
824 
825 #endif /* GL_ATI_point_cull_mode */
826 
827 /*
828 ** GL_ATI_vertex_array_object
829 **
830 ** Support:
831 **   Rage 128 based    : Not Supported
832 **   Radeon 7xxx based : Supported
833 **   Radeon 8xxx based : Supported
834 */
835 #ifndef GL_ATI_vertex_array_object
836 #define GL_ATI_vertex_array_object              1
837 
838 #define GL_STATIC_ATI                           0x8760
839 #define GL_DYNAMIC_ATI                          0x8761
840 #define GL_PRESERVE_ATI                         0x8762
841 #define GL_DISCARD_ATI                          0x8763
842 
843 #define GL_OBJECT_BUFFER_SIZE_ATI               0x8764
844 #define GL_OBJECT_BUFFER_USAGE_ATI              0x8765
845 #define GL_ARRAY_OBJECT_BUFFER_ATI              0x8766
846 #define GL_ARRAY_OBJECT_OFFSET_ATI              0x8767
847 
848 typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei size, const GLvoid *pointer, GLenum usage);
849 typedef GLboolean (APIENTRY * PFNGLISOBJECTBUFFERATIPROC)(GLuint buffer);
850 typedef void (APIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint buffer, GLuint offset, GLsizei size,
851                                                          const GLvoid *pointer, GLenum preserve);
852 typedef void (APIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint buffer, GLenum pname, GLfloat *params);
853 typedef void (APIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint buffer, GLenum pname, GLint *params);
854 typedef void (APIENTRY * PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);
855 typedef void (APIENTRY * PFNGLARRAYOBJECTATIPROC)(GLenum array, GLint size, GLenum type,
856                                                   GLsizei stride, GLuint buffer, GLuint offset);
857 typedef void (APIENTRY * PFNGLGETARRAYOBJECTFVATIPROC)(GLenum array, GLenum pname, GLfloat *params);
858 typedef void (APIENTRY * PFNGLGETARRAYOBJECTIVATIPROC)(GLenum array, GLenum pname, GLint *params);
859 typedef void (APIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint id, GLenum type,
860                                                          GLsizei stride, GLuint buffer, GLuint offset);
861 typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint id, GLenum pname, GLfloat *params);
862 typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint id, GLenum pname, GLint *params);
863 #endif  /* GL_ATI_vertex_array_object */
864 
865 /*
866 ** GL_ATI_element_array
867 **
868 ** Support:
869 **   Rage 128 based    : Not Supported
870 **   Radeon 7xxx based : Not Supported
871 **   Radeon 8xxx based : Supported
872 */
873 #ifndef GL_ATI_element_array
874 #define GL_ATI_element_array            1
875 
876 #define GL_ELEMENT_ARRAY_ATI            0x8768
877 
878 #define GL_ELEMENT_ARRAY_TYPE_ATI       0x8769
879 #define GL_ELEMENT_ARRAY_POINTER_ATI    0x876A
880 
881 typedef void (APIENTRY * PFNGLELEMENTPOINTERATIPROC)(GLenum type, const GLvoid *pointer);
882 typedef void (APIENTRY * PFNGLDRAWELEMENTARRAYATIPROC)(GLenum mode, GLsizei count);
883 typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count);
884 
885 #endif /* GL_ATI_element_array */
886 
887 /*
888 ** GL_ATI_map_object_buffer
889 **
890 ** Support:
891 **   Rage 128 based    : Not Supported
892 **   Radeon 7xxx based : Supported
893 **   Radeon 8xxx based : Supported
894 */
895 #ifndef GL_ATI_map_object_buffer
896 #define GL_ATI_map_object_buffer                1
897 
898 typedef void *(APIENTRY * PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);
899 typedef void (APIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);
900 
901 #endif /* GL_ATI_map_object_buffer */
902 
903 /*
904 **  ATIX EXTENSIONS
905 */
906 
907 /*
908 ** GL_ATIX_texture_env_combine3
909 **
910 ** Support:
911 **  Rage 128 based    : Not Supported
912 **  Radeon 7xxx based : Supported
913 **  Radeon 8xxx based : Supported
914 */
915 #ifndef GL_ATIX_texture_env_combine3
916 #define GL_ATIX_texture_env_combine3
917 
918 #define GL_MODULATE_ADD_ATIX                            0x8744
919 #define GL_MODULATE_SIGNED_ADD_ATIX                     0x8745
920 #define GL_MODULATE_SUBTRACT_ATIX                       0x8746
921 
922 #endif /* GL_ATIX_texture_env_combine3 */
923 
924 /*
925 ** GL_ATIX_texture_env_route
926 **
927 ** Support
928 **   Rage 128 based    : Not Supported
929 **   Radeon 7xxx based : Supported
930 **   Radeon 8xxx based : Supported
931 */
932 #ifndef GL_ATIX_texture_env_route
933 #define GL_ATIX_texture_env_route 1
934 
935 #define GL_SECONDARY_COLOR_ATIX                 0x8747
936 #define GL_TEXTURE_OUTPUT_RGB_ATIX              0x8748
937 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX            0x8749
938 
939 #endif /* GL_ATIX_texture_env_route */
940 
941 /*
942 ** GL_ATIX_vertex_shader_output_point_size
943 **
944 **  Support:
945 **   Rage 128 based    : Supported (software)
946 **   Radeon 7xxx based : Supported (software)
947 **   Radeon 8xxx based : Supported
948 */
949 #ifndef GL_ATIX_vertex_shader_output_point_size
950 #define GL_ATIX_vertex_shader_output_point_size 1
951 
952 #define GL_OUTPUT_POINT_SIZE_ATIX       0x610E
953 
954 #endif /* GL_ATIX_vertex_shader_output_point_size */
955 
956 /*
957 **  EXT EXTENSIONS
958 */
959 /*
960 ** GL_EXT_stencil_wrap
961 **
962 ** Support:
963 **   Rage 128 based    : Supported
964 **   Radeon 7xxx based : Supported
965 **   Radeon 8xxx based : Supported
966 */
967 #ifndef GL_EXT_stencil_wrap
968 #define GL_EXT_stencil_wrap                                     1
969 
970 #define GL_INCR_WRAP_EXT                                        0x8507
971 #define GL_DECR_WRAP_EXT                                        0x8508
972 
973 #endif  /* GL_EXT_stencil_wrap */
974 
975 /*
976 ** GL_EXT_abgr
977 **
978 **  Support:
979 **   Rage 128 based    : Supported
980 **   Radeon 7xxx based : Supported
981 **   Radeon 8xxx based : Supported
982 */
983 #ifndef GL_EXT_abgr
984 #define GL_EXT_abgr                         1
985 
986 #define GL_ABGR_EXT                         0x8000
987 
988 #endif /* GL_EXT_abgr */
989 
990 
991 /*
992 ** GL_EXT_bgra
993 **
994 **  Support:
995 **   Rage 128 based    : Supported
996 **   Radeon 7xxx based : Supported
997 **   Radeon 8xxx based : Supported
998 */
999 #ifndef GL_EXT_bgra
1000 #define GL_EXT_bgra                         1
1001 
1002 #define GL_BGR_EXT                          0x80E0
1003 #define GL_BGRA_EXT                         0x80E1
1004 
1005 #endif /* GL_EXT_bgra */
1006 
1007 /*
1008 ** GL_EXT_blend_color
1009 **
1010 ** Support:
1011 **   Rage 128 based    : Not Supported
1012 **   Radeon 7xxx based : Not Supported
1013 **   Radeon 8xxx based : Supported
1014 */
1015 #ifndef GL_EXT_blend_color
1016 #define GL_EXT_blend_color              1
1017 
1018 #define GL_CONSTANT_COLOR_EXT           0x8001
1019 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
1020 #define GL_CONSTANT_ALPHA_EXT           0x8003
1021 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
1022 #define GL_BLEND_COLOR_EXT              0x8005
1023 
1024 typedef void (APIENTRY * PFNGLBLENDCOLOREXTPROC)  (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
1025 
1026 #endif  /* GL_EXT_blend_color */
1027 
1028 /*
1029 ** GL_EXT_blend_func_separate
1030 **
1031 ** Support:
1032 **   Rage 128 based    : Not Supported
1033 **   Radeon 7xxx based : Not Supported
1034 **   Radeon 8xxx based : Supported
1035 */
1036 
1037 #ifndef GL_EXT_blend_func_separate
1038 #define GL_EXT_blend_func_separate  1
1039 
1040 #define GL_BLEND_DST_RGB_EXT    0x80C8
1041 #define GL_BLEND_SRC_RGB_EXT    0x80C9
1042 #define GL_BLEND_DST_ALPHA_EXT  0x80CA
1043 #define GL_BLEND_SRC_ALPHA_EXT  0x80CB
1044 
1045 typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC)  (GLenum sfactorRGB, GLenum dfactorRGB,
1046                                                                                                                   GLenum sfactorAlpha, GLenum dfactorAlpha);
1047 #endif /* GL_EXT_blend_func_separate */
1048 
1049 /*
1050 ** GL_EXT_blend_minmax
1051 **
1052 ** Support:
1053 **   Rage 128 based    : Not Supported
1054 **   Radeon 7xxx based : Not Supported
1055 **   Radeon 8xxx based : Supported
1056 */
1057 #ifndef GL_EXT_blend_minmax
1058 #define GL_EXT_blend_minmax     1
1059 
1060 #define GL_FUNC_ADD_EXT         0x8006
1061 #define GL_MIN_EXT              0x8007
1062 #define GL_MAX_EXT              0x8008
1063 #define GL_BLEND_EQUATION_EXT   0x8009
1064 
1065 typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC)  (GLenum mode);
1066 
1067 #endif /* GL_EXT_blend_minmax */
1068 
1069 /*
1070 ** GL_EXT_blend_subtract
1071 **
1072 ** Support:
1073 **   Rage 128 based    : Not Supported
1074 **   Radeon 7xxx based : Not Supported
1075 **   Radeon 8xxx based : Supported
1076 */
1077 #ifndef GL_EXT_blend_subtract
1078 #define GL_EXT_blend_subtract                1
1079 
1080 #define GL_FUNC_SUBTRACT_EXT                 0x800A
1081 #define GL_FUNC_REVERSE_SUBTRACT_EXT         0x800B
1082 
1083 #endif /* GL_EXT_blend_subtract */
1084 
1085 /*
1086 ** GL_EXT_clip_volume_hint
1087 **
1088 **  Support:
1089 **   Rage 128 based    : Not Supported
1090 **   Radeon 7xxx based : Supported
1091 **   Radeon 8xxx based : Supported
1092 */
1093 #ifndef GL_EXT_clip_volume_hint
1094 #define GL_EXT_clip_volume_hint             1
1095 
1096 #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT    0x80F0
1097 
1098 #endif /* GL_EXT_clip_volume_hint */
1099 
1100 /*
1101 ** GL_EXT_compiled_vertex_array
1102 **
1103 **  Support:
1104 **   Rage 128 based    : Supported
1105 **   Radeon 7xxx based : Supported
1106 **   Radeon 8xxx based : Supported
1107 */
1108 #ifndef GL_EXT_compiled_vertex_array
1109 #define GL_EXT_compiled_vertex_array        1
1110 
1111 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT     0x81A8
1112 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT     0x81A9
1113 
1114 typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
1115 typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
1116 
1117 #endif /* GL_EXT_compiled_vertex_array */
1118 
1119 /*
1120 ** GL_EXT_draw_range_elements
1121 **
1122 **  Support:
1123 **   Rage 128 based    : Supported
1124 **   Radeon 7xxx based : Supported
1125 **   Radeon 8xxx based : Supported
1126 */
1127 #ifndef GL_EXT_draw_range_elements
1128 #define GL_EXT_draw_range_elements           1
1129 
1130 #define GL_MAX_ELEMENTS_VERTICES_EXT         0x80E8
1131 #define GL_MAX_ELEMENTS_INDICES_EXT          0x80E9
1132 
1133 typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum  mode, GLuint start,
1134                                                          GLuint end, GLsizei count,
1135                                                          GLenum type, const GLvoid *indices);
1136 
1137 #endif /* GL_EXT_draw_range_elements */
1138 
1139 /*
1140 ** GL_EXT_fog_coord
1141 **
1142 **  Support:
1143 **   Rage 128 based    : Supported
1144 **   Radeon 7xxx based : Supported
1145 **   Radeon 8xxx based : Supported
1146 */
1147 #ifndef GL_EXT_fog_coord
1148 #define GL_EXT_fog_coord                     1
1149 
1150 #define GL_FOG_COORDINATE_SOURCE_EXT         0x8450
1151 #define GL_FOG_COORDINATE_EXT                0x8451
1152 #define GL_FRAGMENT_DEPTH_EXT                0x8452
1153 #define GL_CURRENT_FOG_COORDINATE_EXT        0x8453
1154 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT     0x8454
1155 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT   0x8455
1156 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT  0x8456
1157 #define GL_FOG_COORDINATE_ARRAY_EXT          0x8457
1158 
1159 typedef void (APIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat f);
1160 typedef void (APIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble f);
1161 typedef void (APIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *v);
1162 typedef void (APIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *v);
1163 typedef void (APIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer);
1164 
1165 #endif /* GL_EXT_fog_coord */
1166 
1167 /*
1168 ** GL_EXT_packed_pixels
1169 **
1170 **  Support:
1171 **   Rage 128 based    : Supported
1172 **   Radeon 7xxx based : Supported
1173 **   Radeon 8xxx based : Supported
1174 */
1175 #ifndef GL_EXT_packed_pixels
1176 #define GL_EXT_packed_pixels                 1
1177 
1178 #define GL_UNSIGNED_BYTE_3_3_2_EXT           0x8032
1179 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT        0x8033
1180 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT        0x8034
1181 #define GL_UNSIGNED_INT_8_8_8_8_EXT          0x8035
1182 #define GL_UNSIGNED_INT_10_10_10_2_EXT       0x8036
1183 
1184 #endif /* GL_EXT_packed_pixels */
1185 
1186 /*
1187 ** GL_EXT_point_parameters
1188 **
1189 **  Support:
1190 **   Rage 128 based    : Not Supported
1191 **   Radeon 7xxx based : Supported
1192 **   Radeon 8xxx based : Supported
1193 */
1194 #ifndef GL_EXT_point_parameters
1195 #define GL_EXT_point_parameters              1
1196 
1197 #define GL_POINT_SIZE_MIN_EXT                0x8126
1198 #define GL_POINT_SIZE_MAX_EXT                0x8127
1199 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT     0x8128
1200 #define GL_DISTANCE_ATTENUATION_EXT          0x8129
1201 
1202 typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC)  (GLenum pname, GLfloat param);
1203 typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC)  (GLenum pname, GLfloat *params);
1204 typedef void (APIENTRY * PFNGLPOINTPARAMETERIEXTPROC)  (GLenum pname, GLint param);
1205 typedef void (APIENTRY * PFNGLPOINTPARAMETERIVEXTPROC)  (GLenum pname, GLint *params);
1206 
1207 #endif /* GL_EXT_point_parameters */
1208 
1209 /*
1210 ** GL_ARB_point_parameters
1211 **
1212 **  Support:
1213 **   Rage 128 based    : Not Supported
1214 **   Radeon 7xxx based : Supported
1215 **   Radeon 8xxx based : Supported
1216 */
1217 #ifndef GL_ARB_point_parameters
1218 #define GL_ARB_point_parameters              1
1219 
1220 #define GL_POINT_SIZE_MIN_ARB                0x8126
1221 #define GL_POINT_SIZE_MAX_ARB                0x8127
1222 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB     0x8128
1223 #define GL_POINT_DISTANCE_ATTENUATION_ARB    0x8129
1224 
1225 typedef void (APIENTRY * PFNGLPOINTPARAMETERFARBPROC)  (GLenum pname, GLfloat param);
1226 typedef void (APIENTRY * PFNGLPOINTPARAMETERFVARBPROC)  (GLenum pname, GLfloat *params);
1227 typedef void (APIENTRY * PFNGLPOINTPARAMETERIARBPROC)  (GLenum pname, GLint param);
1228 typedef void (APIENTRY * PFNGLPOINTPARAMETERIVARBPROC)  (GLenum pname, GLint *params);
1229 
1230 #endif /* GL_ARB_point_parameters */
1231 
1232 /*
1233 ** GL_EXT_rescale_normal
1234 **
1235 **  Support:
1236 **   Rage 128 based    : Supported
1237 **   Radeon 7xxx based : Supported
1238 **   Radeon 8xxx based : Supported
1239 */
1240 #ifndef GL_EXT_rescale_normal
1241 #define GL_EXT_rescale_normal                1
1242 
1243 #define GL_RESCALE_NORMAL_EXT                0x803A
1244 
1245 #endif /* GL_EXT_rescale_normal */
1246 
1247 /*
1248 ** GL_EXT_separate_specular_color
1249 **
1250 **  Support:
1251 **   Rage 128 based    : Supported
1252 **   Radeon 7xxx based : Supported
1253 **   Radeon 8xxx based : Supported
1254 */
1255 #ifndef GL_EXT_separate_specular_color
1256 #define GL_EXT_separate_specular_color       1
1257 
1258 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT     0x81F8
1259 #define GL_SINGLE_COLOR_EXT                  0x81F9
1260 #define GL_SEPARATE_SPECULAR_COLOR_EXT       0x81FA
1261 
1262 #endif /* GL_EXT_separate_specular_color */
1263 
1264 /*
1265 ** GL_EXT_secondary_color
1266 **
1267 **  Support:
1268 **   Rage 128 based    : Supported
1269 **   Radeon 7xxx based : Supported
1270 **   Radeon 8xxx based : Supported
1271 */
1272 #ifndef GL_EXT_secondary_color
1273 #define GL_EXT_secondary_color               1
1274 
1275 #define GL_COLOR_SUM_EXT                     0x8458
1276 #define GL_CURRENT_SECONDARY_COLOR_EXT       0x8459
1277 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT    0x845A
1278 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT    0x845B
1279 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT  0x845C
1280 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
1281 #define GL_SECONDARY_COLOR_ARRAY_EXT         0x845E
1282 
1283 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat r, GLfloat g, GLfloat b);
1284 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble r, GLdouble g, GLdouble b);
1285 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte r, GLbyte g, GLbyte b);
1286 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort r, GLshort g, GLshort b);
1287 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint r, GLint g, GLint b);
1288 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte r, GLubyte g, GLubyte b);
1289 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort r, GLushort g, GLushort b);
1290 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint r, GLuint g, GLuint b);
1291 
1292 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
1293 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
1294 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
1295 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
1296 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
1297 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte *v);
1298 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort *v);
1299 typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint *v);
1300 
1301 typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint size, GLenum type, GLsizei stride, void *pointer);
1302 
1303 #endif /* GL_EXT_secondary_color */
1304 
1305 
1306 /*
1307 ** GL_EXT_texgen_reflection
1308 **
1309 **  Support:
1310 **   Rage 128 based    : Supported
1311 **   Radeon 7xxx based : Supported
1312 **   Radeon 8xxx based : Supported
1313 */
1314 #ifndef GL_EXT_texgen_reflection
1315 #define GL_EXT_texgen_reflection              1
1316 
1317 #define GL_NORMAL_MAP_EXT                     0x8511
1318 #define GL_REFLECTION_MAP_EXT                 0x8512
1319 
1320 #endif /* GL_EXT_texgen_reflection */
1321 
1322 /*
1323 ** GL_EXT_texture_cube_map
1324 **
1325 **  Support:
1326 **   Rage 128 based    : Not Supported
1327 **   Radeon 7xxx based : Supported
1328 **   Radeon 8xxx based : Supported
1329 */
1330 #ifndef GL_EXT_texture_cube_map
1331 #define GL_EXT_texture_cube_map              1
1332 
1333 #define GL_TEXTURE_CUBE_MAP_EXT              0x8513
1334 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT      0x8514
1335 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT   0x8515
1336 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT   0x8516
1337 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT   0x8517
1338 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT   0x8518
1339 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT   0x8519
1340 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT   0x851A
1341 #define GL_PROXY_TEXTURE_CUBE_MAP_EXT        0x851B
1342 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT     0x851C
1343 
1344 #endif /* GL_EXT_texture_cube_map */
1345 
1346 /*
1347 ** GL_EXT_texture3D
1348 **
1349 ** Support:
1350 **   Rage 128 based    : Supported (software)
1351 **   Radeon 7xxx based : Supported
1352 **   Radeon 8xxx based : Supported
1353 */
1354 #ifndef GL_EXT_texture3D
1355 #define GL_EXT_texture3D                     1
1356 
1357 #define GL_TEXTURE_BINDING_3D_EXT            0x806A
1358 #define GL_PACK_SKIP_IMAGES_EXT              0x806B
1359 #define GL_PACK_IMAGE_HEIGHT_EXT             0x806C
1360 #define GL_UNPACK_SKIP_IMAGES_EXT            0x806D
1361 #define GL_UNPACK_IMAGE_HEIGHT_EXT           0x806E
1362 #define GL_TEXTURE_3D_EXT                    0x806F
1363 #define GL_PROXY_TEXTURE_3D_EXT              0x8070
1364 #define GL_TEXTURE_DEPTH_EXT                 0x8071
1365 #define GL_TEXTURE_WRAP_R_EXT                0x8072
1366 #define GL_MAX_3D_TEXTURE_SIZE_EXT           0x8073
1367 
1368 
1369 typedef void (APIENTRY * PFNGLTEXIMAGE3DEXTPROC)(GLenum target, GLint level, GLenum internalformat,
1370                                                  GLsizei width, GLsizei height, GLsizei depth,
1371                                                  GLint border, GLenum format, GLenum type,
1372                                                  const GLvoid* pixels);
1373 
1374 typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint lod,
1375                                                  GLint xoffset, GLint yoffset, GLint zoffset,
1376                                                  GLsizei w, GLsizei h, GLsizei d,
1377                                                  GLenum format, GLenum type, const GLvoid *buf);
1378 
1379 typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset,
1380                                                      GLint yoffset, GLint zoffset, GLint x,
1381                                                      GLint y, GLsizei width, GLsizei height);
1382 
1383 #endif /* GL_EXT_texture3D */
1384 
1385 /*
1386 ** GL_EXT_texture_compression_s3tc
1387 **
1388 ** Support:
1389 **   Rage 128 based    : Not Supported
1390 **   Radeon 7xxx based : Supported
1391 **   Radeon 8xxx based : Supported
1392 */
1393 #ifndef GL_EXT_texture_compression_s3tc
1394 #define GL_EXT_texture_compression_s3tc      1
1395 
1396 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT      0x83F0
1397 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT     0x83F1
1398 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT     0x83F2
1399 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT     0x83F3
1400 
1401 #endif /* GL_EXT_texture_compression_s3tc */
1402 
1403 /*
1404 ** GL_EXT_texture_edge_clamp
1405 **
1406 **  Support:
1407 **   Rage 128 based    : Supported
1408 **   Radeon 7xxx based : Supported
1409 **   Radeon 8xxx based : Supported
1410 */
1411 #ifndef GL_EXT_texture_edge_clamp
1412 #define GL_EXT_texture_edge_clamp            1
1413 
1414 #define GL_CLAMP_TO_EDGE_EXT                 0x812F
1415 
1416 #endif /* GL_EXT_texture_edge_clamp */
1417 
1418 /*
1419 ** GL_EXT_texture_env_add
1420 **
1421 **  Support:
1422 **   Rage 128 based    : Supported
1423 **   Radeon 7xxx based : Supported
1424 **   Radeon 8xxx based : Supported
1425 **   Radeon 9xxx based : Supported
1426 */
1427 #ifndef GL_EXT_texture_env_add
1428 #define GL_EXT_texture_env_add               1
1429 
1430 #endif /* GL_EXT_texture_env_add */
1431 
1432 /*
1433 ** GL_EXT_texture_env_combine
1434 **
1435 **  Support:
1436 **   Rage 128 based    : Supported
1437 **   Radeon 7xxx based : Supported
1438 **   Radeon 8xxx based : Supported
1439 */
1440 #ifndef GL_EXT_texture_env_combine
1441 #define GL_EXT_texture_env_combine           1
1442 
1443 #define GL_COMBINE_EXT                       0x8570
1444 #define GL_COMBINE_RGB_EXT                   0x8571
1445 #define GL_COMBINE_ALPHA_EXT                 0x8572
1446 #define GL_SOURCE0_RGB_EXT                   0x8580
1447 #define GL_SOURCE1_RGB_EXT                   0x8581
1448 #define GL_SOURCE2_RGB_EXT                   0x8582
1449 #define GL_SOURCE0_ALPHA_EXT                 0x8588
1450 #define GL_SOURCE1_ALPHA_EXT                 0x8589
1451 #define GL_SOURCE2_ALPHA_EXT                 0x858A
1452 #define GL_OPERAND0_RGB_EXT                  0x8590
1453 #define GL_OPERAND1_RGB_EXT                  0x8591
1454 #define GL_OPERAND2_RGB_EXT                  0x8592
1455 #define GL_OPERAND0_ALPHA_EXT                0x8598
1456 #define GL_OPERAND1_ALPHA_EXT                0x8599
1457 #define GL_OPERAND2_ALPHA_EXT                0x859A
1458 #define GL_RGB_SCALE_EXT                     0x8573
1459 #define GL_ADD_SIGNED_EXT                    0x8574
1460 #define GL_INTERPOLATE_EXT                   0x8575
1461 #define GL_CONSTANT_EXT                      0x8576
1462 #define GL_PRIMARY_COLOR_EXT                 0x8577
1463 #define GL_PREVIOUS_EXT                      0x8578
1464 
1465 #endif /* GL_EXT_texture_env_combine */
1466 
1467 /*
1468 ** GL_EXT_texture_env_dot3
1469 **
1470 ** Support:
1471 **   Rage 128 based    : Not Supported
1472 **   Radeon 7xxx based : Supported
1473 **   Radeon 8xxx based : Supported
1474 */
1475 #ifndef GL_EXT_texture_env_dot3
1476 #define GL_EXT_texture_env_dot3 1
1477 
1478 #define GL_DOT3_RGB_EXT  0x8740
1479 #define GL_DOT3_RGBA_EXT 0x8741
1480 
1481 #endif /* GL_EXT_texture_env_dot3 */
1482 
1483 /*
1484 ** GL_EXT_texture_lod_bias
1485 **
1486 ** Support:
1487 **   Rage 128 based    : Not Supported
1488 **   Radeon 7xxx based : Supported
1489 **   Radeon 8xxx based : Supported
1490 */
1491 #ifndef GL_EXT_texture_lod_bias
1492 #define GL_EXT_texture_lod_bias              1
1493 
1494 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
1495 #define GL_TEXTURE_LOD_BIAS_EXT       0x8501
1496 #define GL_MAX_TEXTURE_LOD_BIAS_EXT   0x84FD
1497 
1498 #endif /* GL_EXT_texture_lod_bias */
1499 
1500 /*
1501 ** GL_EXT_texture_filter_anisotropic
1502 **
1503 ** Support:
1504 **
1505 **   Rage 128 based    : Not Supported
1506 **   Radeon 7xxx based : Supported
1507 **   Radeon 8xxx based : Supported
1508 */
1509 #ifndef GL_EXT_texture_filter_anisotropic
1510 #define GL_EXT_texture_filter_anisotropic    1
1511 
1512 #define GL_TEXTURE_MAX_ANISOTROPY_EXT        0x84FE
1513 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT    0x84FF
1514 
1515 #endif /* GL_EXT_texture_filter_anisotropic */
1516 
1517 /*
1518 ** GL_EXT_texture_object
1519 **
1520 **  Support:
1521 **   Rage 128 based    : Supported
1522 **   Radeon 7xxx based : Supported
1523 **   Radeon 8xxx based : Supported
1524 */
1525 #ifndef GL_EXT_texture_object
1526 #define GL_EXT_texture_object              1
1527 
1528 #define GL_TEXTURE_PRIORITY_EXT            0x8066
1529 #define GL_TEXTURE_RESIDENT_EXT            0x8067
1530 #define GL_TEXTURE_1D_BINDING_EXT          0x8068
1531 #define GL_TEXTURE_2D_BINDING_EXT          0x8069
1532 #define GL_TEXTURE_3D_BINDING_EXT          0x806A
1533 
1534 typedef void (APIENTRY * PFNGLGENTEXTURESEXTPROC) ( GLsizei n, GLuint *textures);
1535 typedef void (APIENTRY * PFNGLDELETETEXTURESEXTPROC) ( GLsizei n, const GLuint *textures);
1536 typedef void (APIENTRY * PFNGLBINDTEXTUREEXTPROC) ( GLenum target, GLuint texture);
1537 typedef void (APIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) ( GLsizei n, const GLuint *textures, const GLclampf *priorities);
1538 typedef GLboolean (APIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) ( GLsizei n, const GLuint *textures, GLboolean *residences);
1539 typedef GLboolean (APIENTRY * PFNGLISTEXTUREEXTPROC) ( GLuint texture);
1540 
1541 #endif /* GL_EXT_texture_object */
1542 
1543 /*
1544 ** GL_EXT_texture_rectangle
1545 **
1546 **  Support:
1547 **   Rage 128 based    : Not Supported
1548 **   Radeon 7xxx based : Supported
1549 **   Radeon 8xxx based : Supported
1550 */
1551 #ifndef GL_EXT_texture_rectangle
1552 #define GL_EXT_texture_rectangle            1
1553 
1554 #define GL_TEXTURE_RECTANGLE_EXT            0x85B3
1555 #define GL_TEXTURE_BINDING_RECTANGLE_EXT    0x85B4
1556 #define GL_PROXY_TEXTURE_RECTANGLE_EXT      0x85B5
1557 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT   0x85B6
1558 
1559 #endif /* GL_EXT_texture_rectangle */
1560 
1561 
1562 /*
1563 ** GL_EXT_vertex_array
1564 **
1565 **  Support:
1566 **   Rage 128 based    : Supported
1567 **   Radeon 7xxx based : Supported
1568 **   Radeon 8xxx based : Supported
1569 */
1570 #ifndef GL_EXT_vertex_array
1571 #define GL_EXT_vertex_array                 1
1572 
1573 #define GL_VERTEX_ARRAY_EXT                 0x8074
1574 #define GL_NORMAL_ARRAY_EXT                 0x8075
1575 #define GL_COLOR_ARRAY_EXT                  0x8076
1576 #define GL_INDEX_ARRAY_EXT                  0x8077
1577 #define GL_TEXTURE_COORD_ARRAY_EXT          0x8078
1578 #define GL_EDGE_FLAG_ARRAY_EXT              0x8079
1579 #define GL_VERTEX_ARRAY_SIZE_EXT            0x807A
1580 #define GL_VERTEX_ARRAY_TYPE_EXT            0x807B
1581 #define GL_VERTEX_ARRAY_STRIDE_EXT          0x807C
1582 #define GL_VERTEX_ARRAY_COUNT_EXT           0x807D
1583 #define GL_NORMAL_ARRAY_TYPE_EXT            0x807E
1584 #define GL_NORMAL_ARRAY_STRIDE_EXT          0x807F
1585 #define GL_NORMAL_ARRAY_COUNT_EXT           0x8080
1586 #define GL_COLOR_ARRAY_SIZE_EXT             0x8081
1587 #define GL_COLOR_ARRAY_TYPE_EXT             0x8082
1588 #define GL_COLOR_ARRAY_STRIDE_EXT           0x8083
1589 #define GL_COLOR_ARRAY_COUNT_EXT            0x8084
1590 #define GL_INDEX_ARRAY_TYPE_EXT             0x8085
1591 #define GL_INDEX_ARRAY_STRIDE_EXT           0x8086
1592 #define GL_INDEX_ARRAY_COUNT_EXT            0x8087
1593 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT     0x8088
1594 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT     0x8089
1595 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT   0x808A
1596 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT    0x808B
1597 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT       0x808C
1598 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT        0x808D
1599 #define GL_VERTEX_ARRAY_POINTER_EXT         0x808E
1600 #define GL_NORMAL_ARRAY_POINTER_EXT         0x808F
1601 #define GL_COLOR_ARRAY_POINTER_EXT          0x8090
1602 #define GL_INDEX_ARRAY_POINTER_EXT          0x8091
1603 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT  0x8092
1604 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT      0x8093
1605 
1606 typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
1607 typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1608 typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
1609 typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
1610 typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
1611 typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1612 typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1613 typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1614 typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1615 
1616 #endif /* GL_EXT_vertex_array */
1617 
1618 /*
1619 ** GL_EXT_vertex_shader
1620 **
1621 **  Support:
1622 **   Rage 128 based    : Supported (software)
1623 **   Radeon 7xxx based : Supported (software)
1624 **   Radeon 8xxx based : Supported
1625 */
1626 #ifndef GL_EXT_vertex_shader
1627 #define GL_EXT_vertex_shader                               1
1628 
1629 #define GL_VERTEX_SHADER_EXT                               0x8780
1630 #define GL_VERTEX_SHADER_BINDING_EXT                       0x8781
1631 #define GL_OP_INDEX_EXT                                    0x8782
1632 #define GL_OP_NEGATE_EXT                                   0x8783
1633 #define GL_OP_DOT3_EXT                                     0x8784
1634 #define GL_OP_DOT4_EXT                                     0x8785
1635 #define GL_OP_MUL_EXT                                      0x8786
1636 #define GL_OP_ADD_EXT                                      0x8787
1637 #define GL_OP_MADD_EXT                                     0x8788
1638 #define GL_OP_FRAC_EXT                                     0x8789
1639 #define GL_OP_MAX_EXT                                      0x878A
1640 #define GL_OP_MIN_EXT                                      0x878B
1641 #define GL_OP_SET_GE_EXT                                   0x878C
1642 #define GL_OP_SET_LT_EXT                                   0x878D
1643 #define GL_OP_CLAMP_EXT                                    0x878E
1644 #define GL_OP_FLOOR_EXT                                    0x878F
1645 #define GL_OP_ROUND_EXT                                    0x8790
1646 #define GL_OP_EXP_BASE_2_EXT                               0x8791
1647 #define GL_OP_LOG_BASE_2_EXT                               0x8792
1648 #define GL_OP_POWER_EXT                                    0x8793
1649 #define GL_OP_RECIP_EXT                                    0x8794
1650 #define GL_OP_RECIP_SQRT_EXT                               0x8795
1651 #define GL_OP_SUB_EXT                                      0x8796
1652 #define GL_OP_CROSS_PRODUCT_EXT                            0x8797
1653 #define GL_OP_MULTIPLY_MATRIX_EXT                          0x8798
1654 #define GL_OP_MOV_EXT                                      0x8799
1655 #define GL_OUTPUT_VERTEX_EXT                               0x879A
1656 #define GL_OUTPUT_COLOR0_EXT                               0x879B
1657 #define GL_OUTPUT_COLOR1_EXT                               0x879C
1658 #define GL_OUTPUT_TEXTURE_COORD0_EXT                       0x879D
1659 #define GL_OUTPUT_TEXTURE_COORD1_EXT                       0x879E
1660 #define GL_OUTPUT_TEXTURE_COORD2_EXT                       0x879F
1661 #define GL_OUTPUT_TEXTURE_COORD3_EXT                       0x87A0
1662 #define GL_OUTPUT_TEXTURE_COORD4_EXT                       0x87A1
1663 #define GL_OUTPUT_TEXTURE_COORD5_EXT                       0x87A2
1664 #define GL_OUTPUT_TEXTURE_COORD6_EXT                       0x87A3
1665 #define GL_OUTPUT_TEXTURE_COORD7_EXT                       0x87A4
1666 #define GL_OUTPUT_TEXTURE_COORD8_EXT                       0x87A5
1667 #define GL_OUTPUT_TEXTURE_COORD9_EXT                       0x87A6
1668 #define GL_OUTPUT_TEXTURE_COORD10_EXT                      0x87A7
1669 #define GL_OUTPUT_TEXTURE_COORD11_EXT                      0x87A8
1670 #define GL_OUTPUT_TEXTURE_COORD12_EXT                      0x87A9
1671 #define GL_OUTPUT_TEXTURE_COORD13_EXT                      0x87AA
1672 #define GL_OUTPUT_TEXTURE_COORD14_EXT                      0x87AB
1673 #define GL_OUTPUT_TEXTURE_COORD15_EXT                      0x87AC
1674 #define GL_OUTPUT_TEXTURE_COORD16_EXT                      0x87AD
1675 #define GL_OUTPUT_TEXTURE_COORD17_EXT                      0x87AE
1676 #define GL_OUTPUT_TEXTURE_COORD18_EXT                      0x87AF
1677 #define GL_OUTPUT_TEXTURE_COORD19_EXT                      0x87B0
1678 #define GL_OUTPUT_TEXTURE_COORD20_EXT                      0x87B1
1679 #define GL_OUTPUT_TEXTURE_COORD21_EXT                      0x87B2
1680 #define GL_OUTPUT_TEXTURE_COORD22_EXT                      0x87B3
1681 #define GL_OUTPUT_TEXTURE_COORD23_EXT                      0x87B4
1682 #define GL_OUTPUT_TEXTURE_COORD24_EXT                      0x87B5
1683 #define GL_OUTPUT_TEXTURE_COORD25_EXT                      0x87B6
1684 #define GL_OUTPUT_TEXTURE_COORD26_EXT                      0x87B7
1685 #define GL_OUTPUT_TEXTURE_COORD27_EXT                      0x87B8
1686 #define GL_OUTPUT_TEXTURE_COORD28_EXT                      0x87B9
1687 #define GL_OUTPUT_TEXTURE_COORD29_EXT                      0x87BA
1688 #define GL_OUTPUT_TEXTURE_COORD30_EXT                      0x87BB
1689 #define GL_OUTPUT_TEXTURE_COORD31_EXT                      0x87BC
1690 #define GL_OUTPUT_FOG_EXT                                  0x87BD
1691 #define GL_SCALAR_EXT                                      0x87BE
1692 #define GL_VECTOR_EXT                                      0x87BF
1693 #define GL_MATRIX_EXT                                      0x87C0
1694 #define GL_VARIANT_EXT                                     0x87C1
1695 #define GL_INVARIANT_EXT                                   0x87C2
1696 #define GL_LOCAL_CONSTANT_EXT                              0x87C3
1697 #define GL_LOCAL_EXT                                       0x87C4
1698 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT              0x87C5
1699 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                  0x87C6
1700 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                0x87C7
1701 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT           0x87C8
1702 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT                    0x87C9
1703 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT    0x87CA
1704 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT        0x87CB
1705 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT      0x87CC
1706 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD
1707 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT          0x87CE
1708 #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                  0x87CF
1709 #define GL_VERTEX_SHADER_VARIANTS_EXT                      0x87D0
1710 #define GL_VERTEX_SHADER_INVARIANTS_EXT                    0x87D1
1711 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT               0x87D2
1712 #define GL_VERTEX_SHADER_LOCALS_EXT                        0x87D3
1713 #define GL_VERTEX_SHADER_OPTIMIZED_EXT                     0x87D4
1714 #define GL_X_EXT                                           0x87D5
1715 #define GL_Y_EXT                                           0x87D6
1716 #define GL_Z_EXT                                           0x87D7
1717 #define GL_W_EXT                                           0x87D8
1718 #define GL_NEGATIVE_X_EXT                                  0x87D9
1719 #define GL_NEGATIVE_Y_EXT                                  0x87DA
1720 #define GL_NEGATIVE_Z_EXT                                  0x87DB
1721 #define GL_NEGATIVE_W_EXT                                  0x87DC
1722 #define GL_ZERO_EXT                                        0x87DD
1723 #define GL_ONE_EXT                                         0x87DE
1724 #define GL_NEGATIVE_ONE_EXT                                0x87DF
1725 #define GL_NORMALIZED_RANGE_EXT                            0x87E0
1726 #define GL_FULL_RANGE_EXT                                  0x87E1
1727 #define GL_CURRENT_VERTEX_EXT                              0x87E2
1728 #define GL_MVP_MATRIX_EXT                                  0x87E3
1729 #define GL_VARIANT_VALUE_EXT                               0x87E4
1730 #define GL_VARIANT_DATATYPE_EXT                            0x87E5
1731 #define GL_VARIANT_ARRAY_STRIDE_EXT                        0x87E6
1732 #define GL_VARIANT_ARRAY_TYPE_EXT                          0x87E7
1733 #define GL_VARIANT_ARRAY_EXT                               0x87E8
1734 #define GL_VARIANT_ARRAY_POINTER_EXT                       0x87E9
1735 #define GL_INVARIANT_VALUE_EXT                             0x87EA
1736 #define GL_INVARIANT_DATATYPE_EXT                          0x87EB
1737 #define GL_LOCAL_CONSTANT_VALUE_EXT                        0x87EC
1738 #define GL_LOCAL_CONSTANT_DATATYPE_EXT                     0x87ED
1739 
1740 typedef GLvoid    (APIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
1741 typedef GLvoid    (APIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
1742 typedef GLvoid    (APIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
1743 typedef GLuint    (APIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
1744 typedef GLvoid    (APIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
1745 typedef GLvoid    (APIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
1746 typedef GLvoid    (APIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1,
1747                                                       GLuint arg2);
1748 typedef GLvoid    (APIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1,
1749                                                       GLuint arg2, GLuint arg3);
1750 typedef GLvoid    (APIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX,
1751                                                     GLenum outY, GLenum outZ, GLenum outW);
1752 typedef GLvoid    (APIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX,
1753                                                       GLenum outY, GLenum outZ, GLenum outW);
1754 typedef GLvoid    (APIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
1755 typedef GLvoid    (APIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
1756 typedef GLuint    (APIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType,
1757                                                        GLenum range, GLuint components);
1758 typedef GLvoid    (APIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
1759 typedef GLvoid    (APIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
1760 typedef GLvoid    (APIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr);
1761 typedef GLvoid    (APIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr);
1762 typedef GLvoid    (APIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr);
1763 typedef GLvoid    (APIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr);
1764 typedef GLvoid    (APIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr);
1765 typedef GLvoid    (APIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr);
1766 typedef GLvoid    (APIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr);
1767 typedef GLvoid    (APIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr);
1768 typedef GLvoid    (APIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type,
1769                                                            GLuint stride, GLvoid *addr);
1770 typedef GLvoid    (APIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
1771 typedef GLvoid    (APIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
1772 typedef GLuint    (APIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
1773 typedef GLuint    (APIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
1774 typedef GLuint    (APIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord,
1775                                                                 GLenum value);
1776 typedef GLuint    (APIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
1777 typedef GLuint    (APIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
1778 typedef GLboolean (APIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
1779 typedef GLvoid    (APIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
1780                                                                GLboolean *data);
1781 typedef GLvoid    (APIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value,
1782                                                                GLint *data);
1783 typedef GLvoid    (APIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value,
1784                                                              GLfloat *data);
1785 typedef GLvoid    (APIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value,
1786                                                                GLvoid **data);
1787 typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
1788                                                                  GLboolean *data);
1789 typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value,
1790                                                                  GLint *data);
1791 typedef GLvoid    (APIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value,
1792                                                                GLfloat *data);
1793 typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value,
1794                                                                      GLboolean *data);
1795 typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value,
1796                                                                      GLint *data);
1797 typedef GLvoid    (APIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value,
1798                                                                    GLfloat *data);
1799 
1800 #endif /* GL_EXT_vertex_shader */
1801 
1802 
1803 /*
1804 **  IHV EXTENSIONS
1805 */
1806 
1807 /*
1808 ** GL_NV_occlusion_query
1809 **
1810 ** Support:
1811 **
1812 **   Rage 128 based    : Not Supported
1813 **   Radeon 7xxx based : Not Supported
1814 **   Radeon 8xxx based : Supported
1815 */
1816 #ifndef GL_NV_occlusion_query
1817 #define GL_NV_occlusion_query              1
1818 
1819 #define GL_PIXEL_COUNTER_BITS_NV           0x8864
1820 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV   0x8865
1821 #define GL_PIXEL_COUNT_NV                  0x8866
1822 #define GL_PIXEL_COUNT_AVAILABLE_NV        0x8867
1823 
1824 typedef GLvoid    (APIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
1825 typedef GLvoid    (APIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
1826 typedef GLboolean (APIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
1827 typedef GLvoid    (APIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
1828 typedef GLvoid    (APIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (GLvoid);
1829 typedef GLvoid    (APIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
1830 typedef GLvoid    (APIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
1831 
1832 #endif /* GL_NV_occlusion_query */
1833 
1834 /*
1835 ** GL_NV_texgen_reflection
1836 **
1837 **  Support:
1838 **   Rage 128 based    : Supported
1839 **   Radeon 7xxx based : Supported
1840 **   Radeon 8xxx based : Supported
1841 */
1842 #ifndef GL_NV_texgen_reflection
1843 #define GL_NV_texgen_reflection              1
1844 
1845 #define GL_NORMAL_MAP_NV                     0x8511
1846 #define GL_REFLECTION_MAP_NV                 0x8512
1847 
1848 #endif /* GL_NV_texgen_reflection */
1849 
1850 /*
1851 ** GL_NV_point_sprite
1852 **
1853 **  Support:
1854 **   Rage 128 based    : Not Supported
1855 **   Radeon 7xxx based : Not Supported
1856 **   Radeon 8xxx based : Supported
1857 */
1858 #ifndef GL_NV_point_sprite
1859 #define GL_NV_point_sprite                   1
1860 
1861 #define GL_POINT_SPRITE_NV                   0x8861
1862 #define GL_COORD_REPLACE_NV                  0x8862
1863 #define GL_POINT_SPRITE_R_MODE_NV            0x8863
1864 
1865 typedef void (APIENTRY * PFNGLPOINTPARAMETERINVPROC)  (GLenum pname, GLint param);
1866 typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC)  (GLenum pname, GLint *params);
1867 
1868 #endif /* GL_NV_point_sprite */
1869 
1870 /*
1871 ** GL_NV_blend_square
1872 **
1873 **  Support:
1874 **   Radeon    * based : Supported
1875 **   Radeon 8xxx based : Supported
1876 **   Radeon 8xxx based : Supported
1877 */
1878 #ifndef GL_NV_blend_square
1879 #define GL_NV_blend_square                   1
1880 
1881 #endif /* GL_NV_blend_square */
1882 
1883 /*
1884 ** GL_S3_s3tc
1885 **
1886 **  Support:
1887 **   Rage 128 based    : Not Supported
1888 **   Radeon 7xxx based : Supported
1889 **   Radeon 8xxx based : Supported
1890 */
1891 #ifndef GL_S3_s3tc
1892 #define GL_S3_s3tc                           1
1893 
1894 #define GL_RGB_S3TC                          0x83A0
1895 #define GL_RGB4_S3TC                         0x83A1
1896 #define GL_RGBA_S3TC                         0x83A2
1897 #define GL_RGBA4_S3TC                        0x83A3
1898 
1899 #endif /* GL_S3_s3tc */
1900 
1901 /*
1902 ** GL_SGI_texture_edge_clamp
1903 **
1904 **  Support:
1905 **   Rage 128 based    : Supported
1906 **   Radeon 7xxx based : Supported
1907 **   Radeon 8xxx based : Supported
1908 */
1909 #ifndef GL_SGI_texture_edge_clamp
1910 #define GL_SGI_texture_edge_clamp            1
1911 
1912 #define GL_CLAMP_TO_EDGE_SGI                 0x812F
1913 
1914 #endif /* GL_SGI_texture_edge_clamp */
1915 
1916 /*
1917 ** GL_SGIS_generate_mipmap
1918 **
1919 **  Support:
1920 **   Rage 128 based    : Not supported
1921 **   Radeon 7xxx based : Supported
1922 **   Radeon 8xxx based : Supported
1923 */
1924 #ifndef GL_SGIS_generate_mipmap
1925 #define GL_SGIS_generate_mipmap              1
1926 
1927 #define GL_GENERATE_MIPMAP_SGIS              0x8191
1928 #define GL_GENERATE_MIPMAP_HINT_SGIS         0x8192
1929 
1930 #endif /* GL_SGIS_generate_mipmap */
1931 
1932 /*
1933 ** GL_SGIS_multitexture
1934 **
1935 **  Support:
1936 **   Rage 128 based    : Supported
1937 **   Radeon 7xxx based : Supported
1938 **   Radeon 8xxx based : Supported
1939 */
1940 #ifndef GL_SGIS_multitexture
1941 #define GL_SGIS_multitexture                1
1942 
1943 #define TEXTURE0_SGIS                       0x835E
1944 #define TEXTURE1_SGIS                       0x835F
1945 #define GL_SELECTED_TEXTURE_SGIS            0x83C0
1946 #define GL_SELECTED_TEXTURE_COORD_SET_SGIS  0x83C1
1947 #define GL_SELECTED_TEXTURE_TRANSFORM_SGIS  0x83C2
1948 #define GL_MAX_TEXTURES_SGIS                0x83C3
1949 #define GL_MAX_TEXTURE_COORD_SETS_SGIS      0x83C4
1950 #define GL_TEXTURE_ENV_COORD_SET_SGIS       0x83C5
1951 #define GL_TEXTURE0_SGIS                    0x83C6
1952 #define GL_TEXTURE1_SGIS                    0x83C7
1953 #define GL_TEXTURE2_SGIS                    0x83C8
1954 #define GL_TEXTURE3_SGIS                    0x83C9
1955 #define GL_TEXTURE4_SGIS                    0x83CA
1956 #define GL_TEXTURE5_SGIS                    0x83CB
1957 #define GL_TEXTURE6_SGIS                    0x83CC
1958 #define GL_TEXTURE7_SGIS                    0x83CD
1959 #define GL_TEXTURE8_SGIS                    0x83CE
1960 #define GL_TEXTURE9_SGIS                    0x83CF
1961 #define GL_TEXTURE10_SGIS                   0x83D0
1962 #define GL_TEXTURE11_SGIS                   0x83D1
1963 #define GL_TEXTURE12_SGIS                   0x83D2
1964 #define GL_TEXTURE13_SGIS                   0x83D3
1965 #define GL_TEXTURE14_SGIS                   0x83D4
1966 #define GL_TEXTURE15_SGIS                   0x83D5
1967 #define GL_TEXTURE16_SGIS                   0x83D6
1968 #define GL_TEXTURE17_SGIS                   0x83D7
1969 #define GL_TEXTURE18_SGIS                   0x83D8
1970 #define GL_TEXTURE19_SGIS                   0x83D9
1971 #define GL_TEXTURE20_SGIS                   0x83DA
1972 #define GL_TEXTURE21_SGIS                   0x83DB
1973 #define GL_TEXTURE22_SGIS                   0x83DC
1974 #define GL_TEXTURE23_SGIS                   0x83DD
1975 #define GL_TEXTURE24_SGIS                   0x83DE
1976 #define GL_TEXTURE25_SGIS                   0x83DF
1977 #define GL_TEXTURE26_SGIS                   0x83E0
1978 #define GL_TEXTURE27_SGIS                   0x83E1
1979 #define GL_TEXTURE28_SGIS                   0x83E2
1980 #define GL_TEXTURE29_SGIS                   0x83E3
1981 #define GL_TEXTURE30_SGIS                   0x83E4
1982 #define GL_TEXTURE31_SGIS                   0x83E5
1983 
1984 typedef void (APIENTRY * PFNGLSELECTTEXTURESGISPROC) (GLenum texture);
1985 typedef void (APIENTRY * PFNGLSELECTTEXTURETRANSFORMSGISPROC) (GLenum texture);
1986 typedef void (APIENTRY * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum texture);
1987 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DSGISPROC) (GLenum texture, GLdouble s);
1988 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum texture, const GLdouble *v);
1989 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FSGISPROC) (GLenum texture, GLfloat s);
1990 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum texture, const GLfloat *v);
1991 typedef void (APIENTRY * PFNGLMULTITEXCOORD1ISGISPROC) (GLenum texture, GLint s);
1992 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum texture, const GLint *v);
1993 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SSGISPROC) (GLenum texture, GLshort s);
1994 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum texture, const GLshort *v);
1995 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DSGISPROC) (GLenum texture, GLdouble s, GLdouble t);
1996 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum texture, const GLdouble *v);
1997 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FSGISPROC) (GLenum texture, GLfloat s, GLfloat t);
1998 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum texture, const GLfloat *v);
1999 typedef void (APIENTRY * PFNGLMULTITEXCOORD2ISGISPROC) (GLenum texture, GLint s, GLint t);
2000 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum texture, const GLint *v);
2001 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SSGISPROC) (GLenum texture, GLshort s, GLshort t);
2002 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum texture, const GLshort *v);
2003 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DSGISPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r);
2004 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum texture, const GLdouble *v);
2005 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FSGISPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r);
2006 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum texture, const GLfloat *v);
2007 typedef void (APIENTRY * PFNGLMULTITEXCOORD3ISGISPROC) (GLenum texture, GLint s, GLint t, GLint r);
2008 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum texture, const GLint *v);
2009 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SSGISPROC) (GLenum texture, GLshort s, GLshort t, GLshort r);
2010 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum texture, const GLshort *v);
2011 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DSGISPROC) (GLenum texture, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
2012 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum texture, const GLdouble *v);
2013 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FSGISPROC) (GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
2014 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum texture, const GLfloat *v);
2015 typedef void (APIENTRY * PFNGLMULTITEXCOORD4ISGISPROC) (GLenum texture, GLint s, GLint t, GLint r, GLint q);
2016 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum texture, const GLint *v);
2017 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SSGISPROC) (GLenum texture, GLshort s, GLshort t, GLshort r, GLshort q);
2018 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum texture, const GLshort *v);
2019 
2020 #endif /* GL_SGIS_multitexture */
2021 
2022 /*
2023 ** GL_SGIS_texture_border_clamp
2024 **
2025 **  Support:
2026 **   Rage 128 based    : Supported
2027 **   Radeon 7xxx based : Supported
2028 **   Radeon 8xxx based : Supported
2029 */
2030 #ifndef GL_SGIS_texture_border_clamp
2031 #define GL_SGIS_texture_border_clamp         1
2032 
2033 #define GL_CLAMP_TO_BORDER_SGIS              0x812D
2034 
2035 #endif
2036 
2037 /*
2038 ** GL_SGIS_texture_lod
2039 **
2040 **  Support:
2041 **   Rage 128 based    : Supported
2042 **   Radeon 7xxx based : Supported
2043 **   Radeon 8xxx based : Supported
2044 */
2045 #ifndef GL_SGIS_texture_lod
2046 #define GL_SGIS_texture_lod                  1
2047 
2048 #define GL_TEXTURE_MIN_LOD_SGIS              0x813A
2049 #define GL_TEXTURE_MAX_LOD_SGIS              0x813B
2050 #define GL_TEXTURE_BASE_LEVEL_SGIS           0x813C
2051 #define GL_TEXTURE_MAX_LEVEL_SGIS            0x813D
2052 
2053 #endif /* GL_SGIS_texture_lod */
2054 
2055 
2056 /*
2057 **  ISV EXTENSIONS
2058 */
2059 
2060 /*
2061 ** GL_KTX_buffer_region
2062 **
2063 **  Support:
2064 **   Rage 128 based    : Supported
2065 **   Radeon 7xxx based : Supported
2066 **   Radeon 8xxx based : Supported
2067 */
2068 #ifndef GL_KTX_buffer_region
2069 #define GL_KTX_buffer_region                 1
2070 
2071 #define GL_KTX_FRONT_REGION                  0x0
2072 #define GL_KTX_BACK_REGION                   0x1
2073 #define GL_KTX_Z_REGION                      0x2
2074 #define GL_KTX_STENCIL_REGION                0x3
2075 
2076 typedef GLuint (APIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) ( void );
2077 typedef GLuint (APIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) ( GLenum region );
2078 typedef void (APIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) ( GLenum region );
2079 typedef void (APIENTRY * PFNGLREADBUFFERREGIONEXTPROC) ( GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);
2080 typedef void (APIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) ( GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);
2081 
2082 #endif /* GL_KTX_buffer_region */
2083 
2084 /*
2085 ** GL_WIN_swap_hint
2086 **
2087 **  Support:
2088 **   Rage 128 based    : Supported
2089 **   Radeon 7xxx based : Supported
2090 **   Radeon 8xxx based : Supported
2091 */
2092 #ifndef GL_WIN_swap_hint
2093 #define GL_WIN_swap_hint                     1
2094 
2095 typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
2096 
2097 #endif /* GL_WIN_swap_hint */
2098 
2099 /*
2100 ** HP_occlusion_test
2101 **
2102 ** Support:
2103 **   Rage 128 based    : Not Supported
2104 **   Radeon 7xxx based : Not Supported
2105 **   Radeon 8xxx based : Supported
2106 */
2107 #ifndef GL_HP_occlusion_test
2108 #define GL_HP_occlusion_test                 1
2109 
2110 #define GL_OCCLUSION_TEST_HP                 0x8165
2111 #define GL_OCCLUSION_TEST_RESULT_HP          0x8166
2112 
2113 #endif  /* HP_occlusion_test */
2114 
2115 #ifdef __cplusplus
2116 }
2117 #endif
2118 
2119 #endif /* __gl_ATI_h_ */
2120