]> git.cworth.org Git - apitrace/blob - thirdparty/khronos/GLES2/gl2ext.h
e4016a5ad7a0e37af20b90ccaa6d12b828fbed66
[apitrace] / thirdparty / khronos / GLES2 / gl2ext.h
1 #ifndef __gl2ext_h_
2 #define __gl2ext_h_
3
4 /* $Revision: 16994 $ on $Date:: 2012-02-29 18:29:34 -0800 #$ */
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 /*
11  * This document is licensed under the SGI Free Software B License Version
12  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
13  */
14
15 #ifndef GL_APIENTRYP
16 #   define GL_APIENTRYP GL_APIENTRY*
17 #endif
18
19 /*------------------------------------------------------------------------*
20  * OES extension tokens
21  *------------------------------------------------------------------------*/
22
23 /* GL_OES_compressed_ETC1_RGB8_texture */
24 #ifndef GL_OES_compressed_ETC1_RGB8_texture
25 #define GL_ETC1_RGB8_OES                                        0x8D64
26 #endif
27
28 /* GL_OES_compressed_paletted_texture */
29 #ifndef GL_OES_compressed_paletted_texture
30 #define GL_PALETTE4_RGB8_OES                                    0x8B90
31 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
32 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
33 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
34 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
35 #define GL_PALETTE8_RGB8_OES                                    0x8B95
36 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
37 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
38 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
39 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
40 #endif
41
42 /* GL_OES_depth24 */
43 #ifndef GL_OES_depth24
44 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
45 #endif
46
47 /* GL_OES_depth32 */
48 #ifndef GL_OES_depth32
49 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
50 #endif
51
52 /* GL_OES_depth_texture */
53 /* No new tokens introduced by this extension. */
54
55 /* GL_OES_EGL_image */
56 #ifndef GL_OES_EGL_image
57 typedef void* GLeglImageOES;
58 #endif
59
60 /* GL_OES_EGL_image_external */
61 #ifndef GL_OES_EGL_image_external
62 /* GLeglImageOES defined in GL_OES_EGL_image already. */
63 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
64 #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
65 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
67 #endif
68
69 /* GL_OES_element_index_uint */
70 #ifndef GL_OES_element_index_uint
71 #define GL_UNSIGNED_INT                                         0x1405
72 #endif
73
74 /* GL_OES_get_program_binary */
75 #ifndef GL_OES_get_program_binary
76 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
78 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
79 #endif
80
81 /* GL_OES_mapbuffer */
82 #ifndef GL_OES_mapbuffer
83 #define GL_WRITE_ONLY_OES                                       0x88B9
84 #define GL_BUFFER_ACCESS_OES                                    0x88BB
85 #define GL_BUFFER_MAPPED_OES                                    0x88BC
86 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
87 #endif
88
89 /* GL_OES_packed_depth_stencil */
90 #ifndef GL_OES_packed_depth_stencil
91 #define GL_DEPTH_STENCIL_OES                                    0x84F9
92 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
93 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
94 #endif
95
96 /* GL_OES_rgb8_rgba8 */
97 #ifndef GL_OES_rgb8_rgba8
98 #define GL_RGB8_OES                                             0x8051
99 #define GL_RGBA8_OES                                            0x8058
100 #endif
101
102 /* GL_OES_standard_derivatives */
103 #ifndef GL_OES_standard_derivatives
104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
105 #endif
106
107 /* GL_OES_stencil1 */
108 #ifndef GL_OES_stencil1
109 #define GL_STENCIL_INDEX1_OES                                   0x8D46
110 #endif
111
112 /* GL_OES_stencil4 */
113 #ifndef GL_OES_stencil4
114 #define GL_STENCIL_INDEX4_OES                                   0x8D47
115 #endif
116
117 /* GL_OES_texture_3D */
118 #ifndef GL_OES_texture_3D
119 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
120 #define GL_TEXTURE_3D_OES                                       0x806F
121 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
122 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
123 #define GL_SAMPLER_3D_OES                                       0x8B5F
124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
125 #endif
126
127 /* GL_OES_texture_float */
128 /* No new tokens introduced by this extension. */
129
130 /* GL_OES_texture_float_linear */
131 /* No new tokens introduced by this extension. */
132
133 /* GL_OES_texture_half_float */
134 #ifndef GL_OES_texture_half_float
135 #define GL_HALF_FLOAT_OES                                       0x8D61
136 #endif
137
138 /* GL_OES_texture_half_float_linear */
139 /* No new tokens introduced by this extension. */
140
141 /* GL_OES_texture_npot */
142 /* No new tokens introduced by this extension. */
143
144 /* GL_OES_vertex_array_object */
145 #ifndef GL_OES_vertex_array_object
146 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
147 #endif
148
149 /* GL_OES_vertex_half_float */
150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
151
152 /* GL_OES_vertex_type_10_10_10_2 */
153 #ifndef GL_OES_vertex_type_10_10_10_2
154 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
155 #define GL_INT_10_10_10_2_OES                                   0x8DF7
156 #endif
157
158 /*------------------------------------------------------------------------*
159  * AMD extension tokens
160  *------------------------------------------------------------------------*/
161
162 /* GL_AMD_compressed_3DC_texture */
163 #ifndef GL_AMD_compressed_3DC_texture
164 #define GL_3DC_X_AMD                                            0x87F9
165 #define GL_3DC_XY_AMD                                           0x87FA
166 #endif
167
168 /* GL_AMD_compressed_ATC_texture */
169 #ifndef GL_AMD_compressed_ATC_texture
170 #define GL_ATC_RGB_AMD                                          0x8C92
171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
173 #endif
174
175 /* GL_AMD_performance_monitor */
176 #ifndef GL_AMD_performance_monitor
177 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
178 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
179 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
180 #define GL_PERCENTAGE_AMD                                       0x8BC3
181 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
182 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
183 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
184 #endif
185
186 /* GL_AMD_program_binary_Z400 */
187 #ifndef GL_AMD_program_binary_Z400
188 #define GL_Z400_BINARY_AMD                                      0x8740
189 #endif
190
191 /*------------------------------------------------------------------------*
192  * ANGLE extension tokens
193  *------------------------------------------------------------------------*/
194
195 /* GL_ANGLE_framebuffer_blit */
196 #ifndef GL_ANGLE_framebuffer_blit
197 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
198 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
201 #endif
202
203 /* GL_ANGLE_framebuffer_multisample */
204 #ifndef GL_ANGLE_framebuffer_multisample
205 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
207 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
208 #endif
209
210 /* GL_ANGLE_instanced_arrays */
211 #ifndef GL_ANGLE_instanced_arrays 
212 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
213 #endif
214
215 /* GL_ANGLE_pack_reverse_row_order */
216 #ifndef GL_ANGLE_pack_reverse_row_order 
217 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
218 #endif
219
220 /* GL_ANGLE_texture_compression_dxt3 */
221 #ifndef GL_ANGLE_texture_compression_dxt3 
222 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
223 #endif
224
225 /* GL_ANGLE_texture_compression_dxt5 */
226 #ifndef GL_ANGLE_texture_compression_dxt5 
227 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
228 #endif
229
230 /* GL_ANGLE_texture_usage */
231 #ifndef GL_ANGLE_texture_usage 
232 #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
233 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
234 #endif
235
236 /* GL_ANGLE_translated_shader_source */
237 #ifndef GL_ANGLE_translated_shader_source 
238 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
239 #endif
240
241 /*------------------------------------------------------------------------*
242  * APPLE extension tokens
243  *------------------------------------------------------------------------*/
244
245 /* GL_APPLE_rgb_422 */
246 #ifndef GL_APPLE_rgb_422
247 #define GL_RGB_422_APPLE                                        0x8A1F
248 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
249 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
250 #endif
251
252 /* GL_APPLE_framebuffer_multisample */
253 #ifndef GL_APPLE_framebuffer_multisample
254 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
255 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
256 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
257 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
258 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
259 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
260 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
261 #endif
262
263 /* GL_APPLE_texture_format_BGRA8888 */
264 #ifndef GL_APPLE_texture_format_BGRA8888
265 #define GL_BGRA_EXT                                             0x80E1
266 #endif
267
268 /* GL_APPLE_texture_max_level */
269 #ifndef GL_APPLE_texture_max_level
270 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
271 #endif
272
273 /*------------------------------------------------------------------------*
274  * ARM extension tokens
275  *------------------------------------------------------------------------*/
276
277 /* GL_ARM_mali_shader_binary */
278 #ifndef GL_ARM_mali_shader_binary
279 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
280 #endif
281
282 /* GL_ARM_rgba8 */
283 /* No new tokens introduced by this extension. */
284
285 /*------------------------------------------------------------------------*
286  * EXT extension tokens
287  *------------------------------------------------------------------------*/
288
289 /* GL_EXT_blend_minmax */
290 #ifndef GL_EXT_blend_minmax
291 #define GL_MIN_EXT                                              0x8007
292 #define GL_MAX_EXT                                              0x8008
293 #endif
294
295 /* GL_EXT_color_buffer_half_float */
296 #ifndef GL_EXT_color_buffer_half_float
297 #define GL_RGBA16F_EXT                                          0x881A
298 #define GL_RGB16F_EXT                                           0x881B
299 #define GL_RG16F_EXT                                            0x822F
300 #define GL_R16F_EXT                                             0x822D
301 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
302 #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
303 #endif
304
305 /* GL_EXT_debug_label */
306 #ifndef GL_EXT_debug_label
307 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
308 #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
309 #define GL_SHADER_OBJECT_EXT                                    0x8B48
310 #define GL_BUFFER_OBJECT_EXT                                    0x9151
311 #define GL_QUERY_OBJECT_EXT                                     0x9153
312 #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
313 #endif
314
315 /* GL_EXT_debug_marker */
316 /* No new tokens introduced by this extension. */
317
318 /* GL_EXT_discard_framebuffer */
319 #ifndef GL_EXT_discard_framebuffer
320 #define GL_COLOR_EXT                                            0x1800
321 #define GL_DEPTH_EXT                                            0x1801
322 #define GL_STENCIL_EXT                                          0x1802
323 #endif
324
325 /* GL_EXT_multisampled_render_to_texture */
326 #ifndef GL_EXT_multisampled_render_to_texture
327 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
328 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x9133
329 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x9134
330 #define GL_MAX_SAMPLES_EXT                                      0x9135
331 #endif
332
333 /* GL_EXT_multi_draw_arrays */
334 /* No new tokens introduced by this extension. */
335
336 /* GL_EXT_occlusion_query_boolean */
337 #ifndef GL_EXT_occlusion_query_boolean
338 #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
339 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
340 #define GL_CURRENT_QUERY_EXT                                    0x8865
341 #define GL_QUERY_RESULT_EXT                                     0x8866
342 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
343 #endif
344
345 /* GL_EXT_read_format_bgra */
346 #ifndef GL_EXT_read_format_bgra
347 #define GL_BGRA_EXT                                             0x80E1
348 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
349 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
350 #endif
351
352 /* GL_EXT_robustness */
353 #ifndef GL_EXT_robustness
354 /* reuse GL_NO_ERROR */
355 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
356 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
357 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
358 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
359 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
360 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
361 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
362 #endif
363
364 /* GL_EXT_separate_shader_objects */
365 #ifndef GL_EXT_separate_shader_objects
366 #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
367 #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
368 #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
369 #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
370 #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
371 #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
372 #endif
373
374 /* GL_EXT_shader_texture_lod */
375 /* No new tokens introduced by this extension. */
376
377 /* GL_EXT_shadow_samplers */
378 #ifndef GL_EXT_shadow_samplers
379 #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
380 #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
381 #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
382 #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
383 #endif
384
385 /* GL_EXT_sRGB */
386 #ifndef GL_EXT_sRGB
387 #define GL_SRGB_EXT                                             0x8C40
388 #define GL_SRGB_ALPHA_EXT                                       0x8C42
389 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
390 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
391 #endif
392
393 /* GL_EXT_texture_compression_dxt1 */
394 #ifndef GL_EXT_texture_compression_dxt1
395 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
396 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
397 #endif
398
399 /* GL_EXT_texture_filter_anisotropic */
400 #ifndef GL_EXT_texture_filter_anisotropic
401 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
402 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
403 #endif
404
405 /* GL_EXT_texture_format_BGRA8888 */
406 #ifndef GL_EXT_texture_format_BGRA8888
407 #define GL_BGRA_EXT                                             0x80E1
408 #endif
409
410 /* GL_EXT_texture_rg */
411 #ifndef GL_EXT_texture_rg
412 #define GL_RED_EXT                                              0x1903
413 #define GL_RG_EXT                                               0x8227
414 #define GL_R8_EXT                                               0x8229
415 #define GL_RG8_EXT                                              0x822B
416 #endif
417
418 /* GL_EXT_texture_storage */
419 #ifndef GL_EXT_texture_storage
420 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
421 #define GL_ALPHA8_EXT                                           0x803C  
422 #define GL_LUMINANCE8_EXT                                       0x8040
423 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
424 #define GL_RGBA32F_EXT                                          0x8814  
425 #define GL_RGB32F_EXT                                           0x8815
426 #define GL_ALPHA32F_EXT                                         0x8816
427 #define GL_LUMINANCE32F_EXT                                     0x8818
428 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
429 /* reuse GL_RGBA16F_EXT */
430 /* reuse GL_RGB16F_EXT */
431 #define GL_ALPHA16F_EXT                                         0x881C
432 #define GL_LUMINANCE16F_EXT                                     0x881E
433 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
434 #define GL_RGB10_A2_EXT                                         0x8059  
435 #define GL_RGB10_EXT                                            0x8052
436 #define GL_BGRA8_EXT                                            0x93A1
437 #define GL_R8_EXT                                               0x8229
438 #define GL_RG8_EXT                                              0x822B
439 #define GL_R32F_EXT                                             0x822E  
440 #define GL_RG32F_EXT                                            0x8230
441 #define GL_R16F_EXT                                             0x822D
442 #define GL_RG16F_EXT                                            0x822F
443 #endif
444
445 /* GL_EXT_texture_type_2_10_10_10_REV */
446 #ifndef GL_EXT_texture_type_2_10_10_10_REV
447 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
448 #endif
449
450 /* GL_EXT_unpack_subimage */
451 #ifndef GL_EXT_unpack_subimage
452 #define GL_UNPACK_ROW_LENGTH                                    0x0CF2
453 #define GL_UNPACK_SKIP_ROWS                                     0x0CF3
454 #define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
455 #endif
456
457 /*------------------------------------------------------------------------*
458  * DMP extension tokens
459  *------------------------------------------------------------------------*/
460
461 /* GL_DMP_shader_binary */
462 #ifndef GL_DMP_shader_binary
463 #define GL_SHADER_BINARY_DMP                                    0x9250
464 #endif
465
466 /*------------------------------------------------------------------------*
467  * IMG extension tokens
468  *------------------------------------------------------------------------*/
469
470 /* GL_IMG_program_binary */
471 #ifndef GL_IMG_program_binary
472 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
473 #endif
474
475 /* GL_IMG_read_format */
476 #ifndef GL_IMG_read_format
477 #define GL_BGRA_IMG                                             0x80E1
478 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
479 #endif
480
481 /* GL_IMG_shader_binary */
482 #ifndef GL_IMG_shader_binary
483 #define GL_SGX_BINARY_IMG                                       0x8C0A
484 #endif
485
486 /* GL_IMG_texture_compression_pvrtc */
487 #ifndef GL_IMG_texture_compression_pvrtc
488 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
489 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
490 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
491 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
492 #endif
493
494 /* GL_IMG_multisampled_render_to_texture */
495 #ifndef GL_IMG_multisampled_render_to_texture
496 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
497 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
498 #define GL_MAX_SAMPLES_IMG                                      0x9135
499 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
500 #endif
501
502 /*------------------------------------------------------------------------*
503  * NV extension tokens
504  *------------------------------------------------------------------------*/
505
506 /* GL_NV_coverage_sample */
507 #ifndef GL_NV_coverage_sample
508 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
509 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
510 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
511 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
512 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
513 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
514 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
515 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
516 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
517 #endif
518
519 /* GL_NV_depth_nonlinear */
520 #ifndef GL_NV_depth_nonlinear
521 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
522 #endif
523
524 /* GL_NV_draw_buffers */
525 #ifndef GL_NV_draw_buffers
526 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
527 #define GL_DRAW_BUFFER0_NV                                      0x8825
528 #define GL_DRAW_BUFFER1_NV                                      0x8826
529 #define GL_DRAW_BUFFER2_NV                                      0x8827
530 #define GL_DRAW_BUFFER3_NV                                      0x8828
531 #define GL_DRAW_BUFFER4_NV                                      0x8829
532 #define GL_DRAW_BUFFER5_NV                                      0x882A
533 #define GL_DRAW_BUFFER6_NV                                      0x882B
534 #define GL_DRAW_BUFFER7_NV                                      0x882C
535 #define GL_DRAW_BUFFER8_NV                                      0x882D
536 #define GL_DRAW_BUFFER9_NV                                      0x882E
537 #define GL_DRAW_BUFFER10_NV                                     0x882F
538 #define GL_DRAW_BUFFER11_NV                                     0x8830
539 #define GL_DRAW_BUFFER12_NV                                     0x8831
540 #define GL_DRAW_BUFFER13_NV                                     0x8832
541 #define GL_DRAW_BUFFER14_NV                                     0x8833
542 #define GL_DRAW_BUFFER15_NV                                     0x8834
543 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
544 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
545 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
546 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
547 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
548 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
549 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
550 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
551 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
552 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
553 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
554 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
555 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
556 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
557 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
558 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
559 #endif
560
561 /* GL_NV_fbo_color_attachments */
562 #ifndef GL_NV_fbo_color_attachments
563 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
564 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
565 #endif
566
567 /* GL_NV_fence */
568 #ifndef GL_NV_fence
569 #define GL_ALL_COMPLETED_NV                                     0x84F2
570 #define GL_FENCE_STATUS_NV                                      0x84F3
571 #define GL_FENCE_CONDITION_NV                                   0x84F4
572 #endif
573
574 /* GL_NV_read_buffer */
575 #ifndef GL_NV_read_buffer
576 #define GL_READ_BUFFER_NV                                       0x0C02
577 #endif
578
579 /* GL_NV_read_buffer_front */
580 /* No new tokens introduced by this extension. */
581
582 /* GL_NV_read_depth */
583 /* No new tokens introduced by this extension. */
584
585 /* GL_NV_read_depth_stencil */
586 /* No new tokens introduced by this extension. */
587
588 /* GL_NV_read_stencil */
589 /* No new tokens introduced by this extension. */
590
591 /* GL_NV_texture_compression_s3tc_update */
592 /* No new tokens introduced by this extension. */
593
594 /* GL_NV_texture_npot_2D_mipmap */
595 /* No new tokens introduced by this extension. */
596
597 /*------------------------------------------------------------------------*
598  * QCOM extension tokens
599  *------------------------------------------------------------------------*/
600
601 /* GL_QCOM_alpha_test */
602 #ifndef GL_QCOM_alpha_test
603 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
604 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
605 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
606 #endif
607
608 /* GL_QCOM_driver_control */
609 /* No new tokens introduced by this extension. */
610
611 /* GL_QCOM_extended_get */
612 #ifndef GL_QCOM_extended_get
613 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
614 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
615 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
616 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
617 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
618 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
619 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
620 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
621 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
622 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
623 #define GL_STATE_RESTORE                                        0x8BDC
624 #endif
625
626 /* GL_QCOM_extended_get2 */
627 /* No new tokens introduced by this extension. */
628
629 /* GL_QCOM_perfmon_global_mode */
630 #ifndef GL_QCOM_perfmon_global_mode
631 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
632 #endif
633
634 /* GL_QCOM_writeonly_rendering */
635 #ifndef GL_QCOM_writeonly_rendering
636 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
637 #endif
638
639 /* GL_QCOM_tiled_rendering */
640 #ifndef GL_QCOM_tiled_rendering
641 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
642 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
643 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
644 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
645 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
646 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
647 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
648 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
649 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
650 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
651 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
652 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
653 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
654 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
655 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
656 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
657 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
658 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
659 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
660 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
661 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
662 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
663 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
664 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
665 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
666 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
667 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
668 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
669 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
670 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
671 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
672 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
673 #endif
674
675 /*------------------------------------------------------------------------*
676  * VIV extension tokens
677  *------------------------------------------------------------------------*/
678
679 /* GL_VIV_shader_binary */
680 #ifndef GL_VIV_shader_binary
681 #define GL_SHADER_BINARY_VIV                                    0x8FC4
682 #endif
683
684 /*------------------------------------------------------------------------*
685  * End of extension tokens, start of corresponding extension functions
686  *------------------------------------------------------------------------*/
687
688 /*------------------------------------------------------------------------*
689  * OES extension functions
690  *------------------------------------------------------------------------*/
691
692 /* GL_OES_compressed_ETC1_RGB8_texture */
693 #ifndef GL_OES_compressed_ETC1_RGB8_texture
694 #define GL_OES_compressed_ETC1_RGB8_texture 1
695 #endif
696
697 /* GL_OES_compressed_paletted_texture */
698 #ifndef GL_OES_compressed_paletted_texture
699 #define GL_OES_compressed_paletted_texture 1
700 #endif
701
702 /* GL_OES_depth24 */
703 #ifndef GL_OES_depth24
704 #define GL_OES_depth24 1
705 #endif
706
707 /* GL_OES_depth32 */
708 #ifndef GL_OES_depth32
709 #define GL_OES_depth32 1
710 #endif
711
712 /* GL_OES_depth_texture */
713 #ifndef GL_OES_depth_texture
714 #define GL_OES_depth_texture 1
715 #endif
716
717 /* GL_OES_EGL_image */
718 #ifndef GL_OES_EGL_image
719 #define GL_OES_EGL_image 1
720 #ifdef GL_GLEXT_PROTOTYPES
721 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
722 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
723 #endif
724 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
725 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
726 #endif
727
728 /* GL_OES_EGL_image_external */
729 #ifndef GL_OES_EGL_image_external
730 #define GL_OES_EGL_image_external 1
731 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
732 #endif
733
734 /* GL_OES_element_index_uint */
735 #ifndef GL_OES_element_index_uint
736 #define GL_OES_element_index_uint 1
737 #endif
738
739 /* GL_OES_fbo_render_mipmap */
740 #ifndef GL_OES_fbo_render_mipmap
741 #define GL_OES_fbo_render_mipmap 1
742 #endif
743
744 /* GL_OES_fragment_precision_high */
745 #ifndef GL_OES_fragment_precision_high
746 #define GL_OES_fragment_precision_high 1
747 #endif
748
749 /* GL_OES_get_program_binary */
750 #ifndef GL_OES_get_program_binary
751 #define GL_OES_get_program_binary 1
752 #ifdef GL_GLEXT_PROTOTYPES
753 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
754 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
755 #endif
756 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
757 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
758 #endif
759
760 /* GL_OES_mapbuffer */
761 #ifndef GL_OES_mapbuffer
762 #define GL_OES_mapbuffer 1
763 #ifdef GL_GLEXT_PROTOTYPES
764 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
765 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
766 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
767 #endif
768 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
769 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
770 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
771 #endif
772
773 /* GL_OES_packed_depth_stencil */
774 #ifndef GL_OES_packed_depth_stencil
775 #define GL_OES_packed_depth_stencil 1
776 #endif
777
778 /* GL_OES_rgb8_rgba8 */
779 #ifndef GL_OES_rgb8_rgba8
780 #define GL_OES_rgb8_rgba8 1
781 #endif
782
783 /* GL_OES_standard_derivatives */
784 #ifndef GL_OES_standard_derivatives
785 #define GL_OES_standard_derivatives 1
786 #endif
787
788 /* GL_OES_stencil1 */
789 #ifndef GL_OES_stencil1
790 #define GL_OES_stencil1 1
791 #endif
792
793 /* GL_OES_stencil4 */
794 #ifndef GL_OES_stencil4
795 #define GL_OES_stencil4 1
796 #endif
797
798 /* GL_OES_texture_3D */
799 #ifndef GL_OES_texture_3D
800 #define GL_OES_texture_3D 1
801 #ifdef GL_GLEXT_PROTOTYPES
802 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
803 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
804 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
805 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
806 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
807 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
808 #endif
809 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
810 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
811 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
812 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
813 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
814 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
815 #endif
816
817 /* GL_OES_texture_float */
818 #ifndef GL_OES_texture_float
819 #define GL_OES_texture_float 1
820 #endif
821
822 /* GL_OES_texture_float_linear */
823 #ifndef GL_OES_texture_float_linear
824 #define GL_OES_texture_float_linear 1
825 #endif
826
827 /* GL_OES_texture_half_float */
828 #ifndef GL_OES_texture_half_float
829 #define GL_OES_texture_half_float 1
830 #endif
831
832 /* GL_OES_texture_half_float_linear */
833 #ifndef GL_OES_texture_half_float_linear
834 #define GL_OES_texture_half_float_linear 1
835 #endif
836
837 /* GL_OES_texture_npot */
838 #ifndef GL_OES_texture_npot
839 #define GL_OES_texture_npot 1
840 #endif
841
842 /* GL_OES_vertex_array_object */
843 #ifndef GL_OES_vertex_array_object
844 #define GL_OES_vertex_array_object 1
845 #ifdef GL_GLEXT_PROTOTYPES
846 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
847 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
848 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
849 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
850 #endif
851 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
852 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
853 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
854 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
855 #endif
856
857 /* GL_OES_vertex_half_float */
858 #ifndef GL_OES_vertex_half_float
859 #define GL_OES_vertex_half_float 1
860 #endif
861
862 /* GL_OES_vertex_type_10_10_10_2 */
863 #ifndef GL_OES_vertex_type_10_10_10_2
864 #define GL_OES_vertex_type_10_10_10_2 1
865 #endif
866
867 /*------------------------------------------------------------------------*
868  * AMD extension functions
869  *------------------------------------------------------------------------*/
870
871 /* GL_AMD_compressed_3DC_texture */
872 #ifndef GL_AMD_compressed_3DC_texture
873 #define GL_AMD_compressed_3DC_texture 1
874 #endif
875
876 /* GL_AMD_compressed_ATC_texture */
877 #ifndef GL_AMD_compressed_ATC_texture
878 #define GL_AMD_compressed_ATC_texture 1
879 #endif
880
881 /* AMD_performance_monitor */
882 #ifndef GL_AMD_performance_monitor
883 #define GL_AMD_performance_monitor 1
884 #ifdef GL_GLEXT_PROTOTYPES
885 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
886 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
887 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
888 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
889 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
890 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
891 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
892 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
893 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
894 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
895 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
896 #endif
897 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
898 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
899 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
900 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
901 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
902 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
903 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
904 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
905 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
906 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
907 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
908 #endif
909
910 /* GL_AMD_program_binary_Z400 */
911 #ifndef GL_AMD_program_binary_Z400
912 #define GL_AMD_program_binary_Z400 1
913 #endif
914
915 /*------------------------------------------------------------------------*
916  * ANGLE extension functions
917  *------------------------------------------------------------------------*/
918
919 /* GL_ANGLE_framebuffer_blit */
920 #ifndef GL_ANGLE_framebuffer_blit
921 #define GL_ANGLE_framebuffer_blit 1
922 #ifdef GL_GLEXT_PROTOTYPES
923 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
924 #endif
925 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
926 #endif
927
928 /* GL_ANGLE_framebuffer_multisample */
929 #ifndef GL_ANGLE_framebuffer_multisample
930 #define GL_ANGLE_framebuffer_multisample 1
931 #ifdef GL_GLEXT_PROTOTYPES
932 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
933 #endif
934 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
935 #endif
936
937 #ifndef GL_ANGLE_instanced_arrays 
938 #ifdef GL_GLEXT_PROTOTYPES
939 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
940 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
941 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
942 #endif
943 typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
944 typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
945 typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
946 #endif
947
948 /* GL_ANGLE_pack_reverse_row_order */
949 #ifndef GL_ANGLE_pack_reverse_row_order 
950 #define GL_ANGLE_pack_reverse_row_order 1
951 #endif
952
953 /* GL_ANGLE_texture_compression_dxt3 */
954 #ifndef GL_ANGLE_texture_compression_dxt3 
955 #define GL_ANGLE_texture_compression_dxt3 1
956 #endif
957
958 /* GL_ANGLE_texture_compression_dxt5 */
959 #ifndef GL_ANGLE_texture_compression_dxt5 
960 #define GL_ANGLE_texture_compression_dxt5 1
961 #endif
962
963 /* GL_ANGLE_texture_usage */
964 #ifndef GL_ANGLE_texture_usage 
965 #define GL_ANGLE_texture_usage 1
966 #endif
967
968 #ifndef GL_ANGLE_translated_shader_source 
969 #define GL_ANGLE_translated_shader_source 1
970 #ifdef GL_GLEXT_PROTOTYPES
971 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
972 #endif
973 typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
974 #endif
975
976 /*------------------------------------------------------------------------*
977  * APPLE extension functions
978  *------------------------------------------------------------------------*/
979
980 /* GL_APPLE_rgb_422 */
981 #ifndef GL_APPLE_rgb_422
982 #define GL_APPLE_rgb_422 1
983 #endif
984
985 /* GL_APPLE_framebuffer_multisample */
986 #ifndef GL_APPLE_framebuffer_multisample
987 #define GL_APPLE_framebuffer_multisample 1
988 #ifdef GL_GLEXT_PROTOTYPES
989 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
990 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
991 #endif /* GL_GLEXT_PROTOTYPES */
992 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
993 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
994 #endif
995
996 /* GL_APPLE_texture_format_BGRA8888 */
997 #ifndef GL_APPLE_texture_format_BGRA8888
998 #define GL_APPLE_texture_format_BGRA8888 1
999 #endif
1000
1001 /* GL_APPLE_texture_max_level */
1002 #ifndef GL_APPLE_texture_max_level
1003 #define GL_APPLE_texture_max_level 1
1004 #endif
1005
1006 /*------------------------------------------------------------------------*
1007  * ARM extension functions
1008  *------------------------------------------------------------------------*/
1009
1010 /* GL_ARM_mali_shader_binary */
1011 #ifndef GL_ARM_mali_shader_binary
1012 #define GL_ARM_mali_shader_binary 1
1013 #endif
1014
1015 /* GL_ARM_rgba8 */
1016 #ifndef GL_ARM_rgba8
1017 #define GL_ARM_rgba8 1
1018 #endif
1019
1020 /*------------------------------------------------------------------------*
1021  * EXT extension functions
1022  *------------------------------------------------------------------------*/
1023
1024 /* GL_EXT_blend_minmax */
1025 #ifndef GL_EXT_blend_minmax
1026 #define GL_EXT_blend_minmax 1
1027 #endif
1028
1029 /* GL_EXT_color_buffer_half_float */
1030 #ifndef GL_EXT_color_buffer_half_float
1031 #define GL_EXT_color_buffer_half_float 1
1032 #endif
1033
1034 /* GL_EXT_debug_label */
1035 #ifndef GL_EXT_debug_label
1036 #define GL_EXT_debug_label 1
1037 #ifdef GL_GLEXT_PROTOTYPES
1038 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1039 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1040 #endif
1041 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1042 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1043 #endif
1044
1045 /* GL_EXT_debug_marker */
1046 #ifndef GL_EXT_debug_marker
1047 #define GL_EXT_debug_marker 1
1048 #ifdef GL_GLEXT_PROTOTYPES
1049 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
1050 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
1051 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
1052 #endif
1053 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1054 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1055 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
1056 #endif
1057
1058 /* GL_EXT_discard_framebuffer */
1059 #ifndef GL_EXT_discard_framebuffer
1060 #define GL_EXT_discard_framebuffer 1
1061 #ifdef GL_GLEXT_PROTOTYPES
1062 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1063 #endif
1064 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1065 #endif
1066
1067 /* GL_EXT_multisampled_render_to_texture */
1068 #ifndef GL_EXT_multisampled_render_to_texture
1069 #define GL_EXT_multisampled_render_to_texture 1
1070 #ifdef GL_GLEXT_PROTOTYPES
1071 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1072 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1073 #endif
1074 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1075 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1076 #endif
1077
1078 #ifndef GL_EXT_multi_draw_arrays
1079 #define GL_EXT_multi_draw_arrays 1
1080 #ifdef GL_GLEXT_PROTOTYPES
1081 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
1082 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
1083 #endif /* GL_GLEXT_PROTOTYPES */
1084 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
1085 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
1086 #endif
1087
1088 /* GL_EXT_occlusion_query_boolean */
1089 #ifndef GL_EXT_occlusion_query_boolean
1090 #define GL_EXT_occlusion_query_boolean 1
1091 #ifdef GL_GLEXT_PROTOTYPES
1092 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
1093 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
1094 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
1095 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
1096 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
1097 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
1098 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
1099 #endif
1100 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
1101 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
1102 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
1103 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
1104 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
1105 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1106 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
1107 #endif
1108
1109 /* GL_EXT_read_format_bgra */
1110 #ifndef GL_EXT_read_format_bgra
1111 #define GL_EXT_read_format_bgra 1
1112 #endif
1113
1114 /* GL_EXT_robustness */
1115 #ifndef GL_EXT_robustness
1116 #define GL_EXT_robustness 1
1117 #ifdef GL_GLEXT_PROTOTYPES
1118 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1119 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1120 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
1121 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1122 #endif
1123 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1124 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1125 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
1126 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1127 #endif
1128
1129 /* GL_EXT_separate_shader_objects */
1130 #ifndef GL_EXT_separate_shader_objects
1131 #define GL_EXT_separate_shader_objects 1
1132 #ifdef GL_GLEXT_PROTOTYPES
1133 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1134 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1135 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
1136 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1137 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1138 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1139 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1140 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1141 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1142 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
1143 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
1144 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
1145 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1146 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
1147 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
1148 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1149 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1150 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1151 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1152 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1153 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1154 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1155 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1156 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1157 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1158 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1159 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1160 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1161 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1162 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1163 #endif
1164 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1165 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
1166 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
1167 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1168 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
1169 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
1170 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1171 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
1172 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
1173 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
1174 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
1175 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
1176 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1177 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
1178 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
1179 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1180 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1181 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1182 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1183 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1184 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1185 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1186 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1187 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1188 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1189 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1190 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1191 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1192 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1193 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1194 #endif
1195
1196 /* GL_EXT_shader_texture_lod */
1197 #ifndef GL_EXT_shader_texture_lod
1198 #define GL_EXT_shader_texture_lod 1
1199 #endif
1200
1201 /* GL_EXT_shadow_samplers */
1202 #ifndef GL_EXT_shadow_samplers
1203 #define GL_EXT_shadow_samplers 1
1204 #endif
1205
1206 /* GL_EXT_sRGB */
1207 #ifndef GL_EXT_sRGB
1208 #define GL_EXT_sRGB 1
1209 #endif
1210
1211 /* GL_EXT_texture_compression_dxt1 */
1212 #ifndef GL_EXT_texture_compression_dxt1
1213 #define GL_EXT_texture_compression_dxt1 1
1214 #endif
1215
1216 /* GL_EXT_texture_filter_anisotropic */
1217 #ifndef GL_EXT_texture_filter_anisotropic
1218 #define GL_EXT_texture_filter_anisotropic 1
1219 #endif
1220
1221 /* GL_EXT_texture_format_BGRA8888 */
1222 #ifndef GL_EXT_texture_format_BGRA8888
1223 #define GL_EXT_texture_format_BGRA8888 1
1224 #endif
1225
1226 /* GL_EXT_texture_rg */
1227 #ifndef GL_EXT_texture_rg
1228 #define GL_EXT_texture_rg 1
1229 #endif
1230
1231 /* GL_EXT_texture_storage */
1232 #ifndef GL_EXT_texture_storage
1233 #define GL_EXT_texture_storage 1
1234 #ifdef GL_GLEXT_PROTOTYPES
1235 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1236 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1237 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1238 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1239 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1240 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1241 #endif
1242 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1243 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1244 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1245 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1246 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1247 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1248 #endif
1249
1250 /* GL_EXT_texture_type_2_10_10_10_REV */
1251 #ifndef GL_EXT_texture_type_2_10_10_10_REV
1252 #define GL_EXT_texture_type_2_10_10_10_REV 1
1253 #endif
1254
1255 /* GL_EXT_unpack_subimage */
1256 #ifndef GL_EXT_unpack_subimage
1257 #define GL_EXT_unpack_subimage 1
1258 #endif
1259
1260 /*------------------------------------------------------------------------*
1261  * DMP extension functions
1262  *------------------------------------------------------------------------*/
1263
1264 /* GL_DMP_shader_binary */
1265 #ifndef GL_DMP_shader_binary
1266 #define GL_DMP_shader_binary 1
1267 #endif
1268
1269 /*------------------------------------------------------------------------*
1270  * IMG extension functions
1271  *------------------------------------------------------------------------*/
1272
1273 /* GL_IMG_program_binary */
1274 #ifndef GL_IMG_program_binary
1275 #define GL_IMG_program_binary 1
1276 #endif
1277
1278 /* GL_IMG_read_format */
1279 #ifndef GL_IMG_read_format
1280 #define GL_IMG_read_format 1
1281 #endif
1282
1283 /* GL_IMG_shader_binary */
1284 #ifndef GL_IMG_shader_binary
1285 #define GL_IMG_shader_binary 1
1286 #endif
1287
1288 /* GL_IMG_texture_compression_pvrtc */
1289 #ifndef GL_IMG_texture_compression_pvrtc
1290 #define GL_IMG_texture_compression_pvrtc 1
1291 #endif
1292
1293 /* GL_IMG_multisampled_render_to_texture */
1294 #ifndef GL_IMG_multisampled_render_to_texture
1295 #define GL_IMG_multisampled_render_to_texture 1
1296 #ifdef GL_GLEXT_PROTOTYPES
1297 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1298 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1299 #endif
1300 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1301 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1302 #endif
1303
1304 /*------------------------------------------------------------------------*
1305  * NV extension functions
1306  *------------------------------------------------------------------------*/
1307
1308 /* GL_NV_coverage_sample */
1309 #ifndef GL_NV_coverage_sample
1310 #define GL_NV_coverage_sample 1
1311 #ifdef GL_GLEXT_PROTOTYPES
1312 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1313 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1314 #endif
1315 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1316 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1317 #endif
1318
1319 /* GL_NV_depth_nonlinear */
1320 #ifndef GL_NV_depth_nonlinear
1321 #define GL_NV_depth_nonlinear 1
1322 #endif
1323
1324 /* GL_NV_draw_buffers */
1325 #ifndef GL_NV_draw_buffers
1326 #define GL_NV_draw_buffers 1
1327 #ifdef GL_GLEXT_PROTOTYPES
1328 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1329 #endif
1330 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
1331 #endif
1332
1333 /* GL_NV_fbo_color_attachments */
1334 #ifndef GL_NV_fbo_color_attachments
1335 #define GL_NV_fbo_color_attachments 1
1336 #endif
1337
1338 /* GL_NV_fence */
1339 #ifndef GL_NV_fence
1340 #define GL_NV_fence 1
1341 #ifdef GL_GLEXT_PROTOTYPES
1342 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
1343 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
1344 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
1345 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
1346 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
1347 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
1348 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
1349 #endif
1350 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1351 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1352 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1353 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1354 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1355 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1356 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1357 #endif
1358
1359 /* GL_NV_read_buffer */
1360 #ifndef GL_NV_read_buffer
1361 #define GL_NV_read_buffer 1
1362 #ifdef GL_GLEXT_PROTOTYPES
1363 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1364 #endif
1365 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1366 #endif
1367
1368 /* GL_NV_read_buffer_front */
1369 #ifndef GL_NV_read_buffer_front
1370 #define GL_NV_read_buffer_front 1
1371 #endif
1372
1373 /* GL_NV_read_depth */
1374 #ifndef GL_NV_read_depth
1375 #define GL_NV_read_depth 1
1376 #endif
1377
1378 /* GL_NV_read_depth_stencil */
1379 #ifndef GL_NV_read_depth_stencil
1380 #define GL_NV_read_depth_stencil 1
1381 #endif
1382
1383 /* GL_NV_read_stencil */
1384 #ifndef GL_NV_read_stencil
1385 #define GL_NV_read_stencil 1
1386 #endif
1387
1388 /* GL_NV_texture_compression_s3tc_update */
1389 #ifndef GL_NV_texture_compression_s3tc_update
1390 #define GL_NV_texture_compression_s3tc_update 1
1391 #endif
1392
1393 /* GL_NV_texture_npot_2D_mipmap */
1394 #ifndef GL_NV_texture_npot_2D_mipmap
1395 #define GL_NV_texture_npot_2D_mipmap 1
1396 #endif
1397
1398 /*------------------------------------------------------------------------*
1399  * QCOM extension functions
1400  *------------------------------------------------------------------------*/
1401
1402 /* GL_QCOM_alpha_test */
1403 #ifndef GL_QCOM_alpha_test
1404 #define GL_QCOM_alpha_test 1
1405 #ifdef GL_GLEXT_PROTOTYPES
1406 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1407 #endif
1408 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1409 #endif
1410
1411 /* GL_QCOM_driver_control */
1412 #ifndef GL_QCOM_driver_control
1413 #define GL_QCOM_driver_control 1
1414 #ifdef GL_GLEXT_PROTOTYPES
1415 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1416 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1417 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1418 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1419 #endif
1420 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1421 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1422 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1423 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1424 #endif
1425
1426 /* GL_QCOM_extended_get */
1427 #ifndef GL_QCOM_extended_get
1428 #define GL_QCOM_extended_get 1
1429 #ifdef GL_GLEXT_PROTOTYPES
1430 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1431 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1432 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1433 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1434 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1435 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1436 GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1437 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1438 #endif
1439 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1440 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1441 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1442 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1443 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1444 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1445 typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1446 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1447 #endif
1448
1449 /* GL_QCOM_extended_get2 */
1450 #ifndef GL_QCOM_extended_get2
1451 #define GL_QCOM_extended_get2 1
1452 #ifdef GL_GLEXT_PROTOTYPES
1453 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1454 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1455 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1456 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1457 #endif
1458 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1459 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1460 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1461 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1462 #endif
1463
1464 /* GL_QCOM_perfmon_global_mode */
1465 #ifndef GL_QCOM_perfmon_global_mode
1466 #define GL_QCOM_perfmon_global_mode 1
1467 #endif
1468
1469 /* GL_QCOM_writeonly_rendering */
1470 #ifndef GL_QCOM_writeonly_rendering
1471 #define GL_QCOM_writeonly_rendering 1
1472 #endif
1473
1474 /* GL_QCOM_tiled_rendering */
1475 #ifndef GL_QCOM_tiled_rendering
1476 #define GL_QCOM_tiled_rendering 1
1477 #ifdef GL_GLEXT_PROTOTYPES
1478 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1479 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1480 #endif
1481 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1482 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1483 #endif
1484
1485 /*------------------------------------------------------------------------*
1486  * VIV extension tokens
1487  *------------------------------------------------------------------------*/
1488
1489 /* GL_VIV_shader_binary */
1490 #ifndef GL_VIV_shader_binary
1491 #define GL_VIV_shader_binary 1
1492 #endif
1493
1494 #ifdef __cplusplus
1495 }
1496 #endif
1497
1498 #endif /* __gl2ext_h_ */