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