• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __gl2ext_h_
2 #define __gl2ext_h_
3 
4 /* $Revision: 20795 $ on $Date:: 2013-03-07 01:01:58 -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_required_internalformat */
97 #ifndef GL_OES_required_internalformat
98 #define GL_ALPHA8_OES                                           0x803C
99 #define GL_DEPTH_COMPONENT16_OES                                0x81A5
100 /* reuse GL_DEPTH_COMPONENT24_OES */
101 /* reuse GL_DEPTH24_STENCIL8_OES */
102 /* reuse GL_DEPTH_COMPONENT32_OES */
103 #define GL_LUMINANCE4_ALPHA4_OES                                0x8043
104 #define GL_LUMINANCE8_ALPHA8_OES                                0x8045
105 #define GL_LUMINANCE8_OES                                       0x8040
106 #define GL_RGBA4_OES                                            0x8056
107 #define GL_RGB5_A1_OES                                          0x8057
108 #define GL_RGB565_OES                                           0x8D62
109 /* reuse GL_RGB8_OES */
110 /* reuse GL_RGBA8_OES */
111 /* reuse GL_RGB10_EXT */
112 /* reuse GL_RGB10_A2_EXT */
113 #endif
114 
115 /* GL_OES_rgb8_rgba8 */
116 #ifndef GL_OES_rgb8_rgba8
117 #define GL_RGB8_OES                                             0x8051
118 #define GL_RGBA8_OES                                            0x8058
119 #endif
120 
121 /* GL_OES_standard_derivatives */
122 #ifndef GL_OES_standard_derivatives
123 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
124 #endif
125 
126 /* GL_OES_stencil1 */
127 #ifndef GL_OES_stencil1
128 #define GL_STENCIL_INDEX1_OES                                   0x8D46
129 #endif
130 
131 /* GL_OES_stencil4 */
132 #ifndef GL_OES_stencil4
133 #define GL_STENCIL_INDEX4_OES                                   0x8D47
134 #endif
135 
136 #ifndef GL_OES_surfaceless_context
137 #define GL_FRAMEBUFFER_UNDEFINED_OES                            0x8219
138 #endif
139 
140 /* GL_OES_texture_3D */
141 #ifndef GL_OES_texture_3D
142 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
143 #define GL_TEXTURE_3D_OES                                       0x806F
144 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
145 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
146 #define GL_SAMPLER_3D_OES                                       0x8B5F
147 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
148 #endif
149 
150 /* GL_OES_texture_float */
151 /* No new tokens introduced by this extension. */
152 
153 /* GL_OES_texture_float_linear */
154 /* No new tokens introduced by this extension. */
155 
156 /* GL_OES_texture_half_float */
157 #ifndef GL_OES_texture_half_float
158 #define GL_HALF_FLOAT_OES                                       0x8D61
159 #endif
160 
161 /* GL_OES_texture_half_float_linear */
162 /* No new tokens introduced by this extension. */
163 
164 /* GL_OES_texture_npot */
165 /* No new tokens introduced by this extension. */
166 
167 /* GL_OES_vertex_array_object */
168 #ifndef GL_OES_vertex_array_object
169 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
170 #endif
171 
172 /* GL_OES_vertex_half_float */
173 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
174 
175 /* GL_OES_vertex_type_10_10_10_2 */
176 #ifndef GL_OES_vertex_type_10_10_10_2
177 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
178 #define GL_INT_10_10_10_2_OES                                   0x8DF7
179 #endif
180 
181 /*------------------------------------------------------------------------*
182  * KHR extension tokens
183  *------------------------------------------------------------------------*/
184 
185 #ifndef GL_KHR_debug
186 typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
187 #define GL_DEBUG_OUTPUT_SYNCHRONOUS                             0x8242
188 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                     0x8243
189 #define GL_DEBUG_CALLBACK_FUNCTION                              0x8244
190 #define GL_DEBUG_CALLBACK_USER_PARAM                            0x8245
191 #define GL_DEBUG_SOURCE_API                                     0x8246
192 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM                           0x8247
193 #define GL_DEBUG_SOURCE_SHADER_COMPILER                         0x8248
194 #define GL_DEBUG_SOURCE_THIRD_PARTY                             0x8249
195 #define GL_DEBUG_SOURCE_APPLICATION                             0x824A
196 #define GL_DEBUG_SOURCE_OTHER                                   0x824B
197 #define GL_DEBUG_TYPE_ERROR                                     0x824C
198 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                       0x824D
199 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                        0x824E
200 #define GL_DEBUG_TYPE_PORTABILITY                               0x824F
201 #define GL_DEBUG_TYPE_PERFORMANCE                               0x8250
202 #define GL_DEBUG_TYPE_OTHER                                     0x8251
203 #define GL_DEBUG_TYPE_MARKER                                    0x8268
204 #define GL_DEBUG_TYPE_PUSH_GROUP                                0x8269
205 #define GL_DEBUG_TYPE_POP_GROUP                                 0x826A
206 #define GL_DEBUG_SEVERITY_NOTIFICATION                          0x826B
207 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH                          0x826C
208 #define GL_DEBUG_GROUP_STACK_DEPTH                              0x826D
209 #define GL_BUFFER                                               0x82E0
210 #define GL_SHADER                                               0x82E1
211 #define GL_PROGRAM                                              0x82E2
212 #define GL_QUERY                                                0x82E3
213 /* PROGRAM_PIPELINE only in GL */
214 #define GL_SAMPLER                                              0x82E6
215 /* DISPLAY_LIST only in GL */
216 #define GL_MAX_LABEL_LENGTH                                     0x82E8
217 #define GL_MAX_DEBUG_MESSAGE_LENGTH                             0x9143
218 #define GL_MAX_DEBUG_LOGGED_MESSAGES                            0x9144
219 #define GL_DEBUG_LOGGED_MESSAGES                                0x9145
220 #define GL_DEBUG_SEVERITY_HIGH                                  0x9146
221 #define GL_DEBUG_SEVERITY_MEDIUM                                0x9147
222 #define GL_DEBUG_SEVERITY_LOW                                   0x9148
223 #define GL_DEBUG_OUTPUT                                         0x92E0
224 #define GL_CONTEXT_FLAG_DEBUG_BIT                               0x00000002
225 #define GL_STACK_OVERFLOW                                       0x0503
226 #define GL_STACK_UNDERFLOW                                      0x0504
227 #endif
228 
229 #ifndef GL_KHR_texture_compression_astc_ldr
230 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                         0x93B0
231 #define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                         0x93B1
232 #define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                         0x93B2
233 #define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                         0x93B3
234 #define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                         0x93B4
235 #define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                         0x93B5
236 #define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                         0x93B6
237 #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                         0x93B7
238 #define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                        0x93B8
239 #define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                        0x93B9
240 #define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                        0x93BA
241 #define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                       0x93BB
242 #define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                       0x93BC
243 #define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                       0x93BD
244 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                 0x93D0
245 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                 0x93D1
246 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                 0x93D2
247 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                 0x93D3
248 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                 0x93D4
249 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                 0x93D5
250 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                 0x93D6
251 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                 0x93D7
252 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                0x93D8
253 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                0x93D9
254 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                0x93DA
255 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR               0x93DB
256 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR               0x93DC
257 #define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR               0x93DD
258 #endif
259 
260 /*------------------------------------------------------------------------*
261  * AMD extension tokens
262  *------------------------------------------------------------------------*/
263 
264 /* GL_AMD_compressed_3DC_texture */
265 #ifndef GL_AMD_compressed_3DC_texture
266 #define GL_3DC_X_AMD                                            0x87F9
267 #define GL_3DC_XY_AMD                                           0x87FA
268 #endif
269 
270 /* GL_AMD_compressed_ATC_texture */
271 #ifndef GL_AMD_compressed_ATC_texture
272 #define GL_ATC_RGB_AMD                                          0x8C92
273 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
274 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
275 #endif
276 
277 /* GL_AMD_performance_monitor */
278 #ifndef GL_AMD_performance_monitor
279 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
280 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
281 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
282 #define GL_PERCENTAGE_AMD                                       0x8BC3
283 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
284 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
285 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
286 #endif
287 
288 /* GL_AMD_program_binary_Z400 */
289 #ifndef GL_AMD_program_binary_Z400
290 #define GL_Z400_BINARY_AMD                                      0x8740
291 #endif
292 
293 /*------------------------------------------------------------------------*
294  * ANGLE extension tokens
295  *------------------------------------------------------------------------*/
296 
297 /* GL_ANGLE_depth_texture */
298 #ifndef GL_ANGLE_depth_texture
299 #define GL_DEPTH_COMPONENT                                      0x1902
300 #define GL_DEPTH_STENCIL_OES                                    0x84F9
301 #define GL_UNSIGNED_SHORT                                       0x1403
302 #define GL_UNSIGNED_INT                                         0x1405
303 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
304 #define GL_DEPTH_COMPONENT16                                    0x81A5
305 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
306 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
307 #endif
308 
309 /* GL_ANGLE_framebuffer_blit */
310 #ifndef GL_ANGLE_framebuffer_blit
311 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
312 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
313 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
314 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
315 #endif
316 
317 /* GL_ANGLE_framebuffer_multisample */
318 #ifndef GL_ANGLE_framebuffer_multisample
319 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
320 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
321 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
322 #endif
323 
324 /* GL_ANGLE_instanced_arrays */
325 #ifndef GL_ANGLE_instanced_arrays
326 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                    0x88FE
327 #endif
328 
329 /* GL_ANGLE_pack_reverse_row_order */
330 #ifndef GL_ANGLE_pack_reverse_row_order
331 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE                         0x93A4
332 #endif
333 
334 /* GL_ANGLE_program_binary */
335 #ifndef GL_ANGLE_program_binary
336 #define GL_PROGRAM_BINARY_ANGLE                                 0x93A6
337 #endif
338 
339 /* GL_ANGLE_texture_compression_dxt3 */
340 #ifndef GL_ANGLE_texture_compression_dxt3
341 #define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                      0x83F2
342 #endif
343 
344 /* GL_ANGLE_texture_compression_dxt5 */
345 #ifndef GL_ANGLE_texture_compression_dxt5
346 #define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                      0x83F3
347 #endif
348 
349 /* GL_ANGLE_texture_usage */
350 #ifndef GL_ANGLE_texture_usage
351 #define GL_TEXTURE_USAGE_ANGLE                                  0x93A2
352 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                         0x93A3
353 #endif
354 
355 /* GL_ANGLE_translated_shader_source */
356 #ifndef GL_ANGLE_translated_shader_source
357 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                0x93A0
358 #endif
359 
360 /*------------------------------------------------------------------------*
361  * APPLE extension tokens
362  *------------------------------------------------------------------------*/
363 
364 /* GL_APPLE_copy_texture_levels */
365 /* No new tokens introduced by this extension. */
366 
367 /* GL_APPLE_framebuffer_multisample */
368 #ifndef GL_APPLE_framebuffer_multisample
369 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
370 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
371 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
372 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
373 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
374 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
375 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
376 #endif
377 
378 /* GL_APPLE_rgb_422 */
379 #ifndef GL_APPLE_rgb_422
380 #define GL_RGB_422_APPLE                                        0x8A1F
381 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
382 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
383 #endif
384 
385 /* GL_APPLE_sync */
386 #ifndef GL_APPLE_sync
387 
388 #ifndef __gl3_h_
389 /* These types are defined with reference to <inttypes.h>
390  * in the Apple extension spec, but here we use the Khronos
391  * portable types in khrplatform.h, and assume those types
392  * are always defined.
393  * If any other extensions using these types are defined,
394  * the typedefs must move out of this block and be shared.
395  */
396 typedef khronos_int64_t GLint64;
397 typedef khronos_uint64_t GLuint64;
398 typedef struct __GLsync *GLsync;
399 #endif
400 
401 #define GL_SYNC_OBJECT_APPLE                                    0x8A53
402 #define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
403 #define GL_OBJECT_TYPE_APPLE                                    0x9112
404 #define GL_SYNC_CONDITION_APPLE                                 0x9113
405 #define GL_SYNC_STATUS_APPLE                                    0x9114
406 #define GL_SYNC_FLAGS_APPLE                                     0x9115
407 #define GL_SYNC_FENCE_APPLE                                     0x9116
408 #define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
409 #define GL_UNSIGNALED_APPLE                                     0x9118
410 #define GL_SIGNALED_APPLE                                       0x9119
411 #define GL_ALREADY_SIGNALED_APPLE                               0x911A
412 #define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
413 #define GL_CONDITION_SATISFIED_APPLE                            0x911C
414 #define GL_WAIT_FAILED_APPLE                                    0x911D
415 #define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
416 #define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
417 #endif
418 
419 /* GL_APPLE_texture_format_BGRA8888 */
420 #ifndef GL_APPLE_texture_format_BGRA8888
421 #define GL_BGRA_EXT                                             0x80E1
422 #endif
423 
424 /* GL_APPLE_texture_max_level */
425 #ifndef GL_APPLE_texture_max_level
426 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
427 #endif
428 
429 /*------------------------------------------------------------------------*
430  * ARM extension tokens
431  *------------------------------------------------------------------------*/
432 
433 /* GL_ARM_mali_program_binary */
434 #ifndef GL_ARM_mali_program_binary
435 #define GL_MALI_PROGRAM_BINARY_ARM                              0x8F61
436 #endif
437 
438 /* GL_ARM_mali_shader_binary */
439 #ifndef GL_ARM_mali_shader_binary
440 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
441 #endif
442 
443 /* GL_ARM_rgba8 */
444 /* No new tokens introduced by this extension. */
445 
446 /*------------------------------------------------------------------------*
447  * EXT extension tokens
448  *------------------------------------------------------------------------*/
449 
450 /* GL_EXT_blend_minmax */
451 #ifndef GL_EXT_blend_minmax
452 #define GL_MIN_EXT                                              0x8007
453 #define GL_MAX_EXT                                              0x8008
454 #endif
455 
456 /* GL_EXT_color_buffer_half_float */
457 #ifndef GL_EXT_color_buffer_half_float
458 #define GL_RGBA16F_EXT                                          0x881A
459 #define GL_RGB16F_EXT                                           0x881B
460 #define GL_RG16F_EXT                                            0x822F
461 #define GL_R16F_EXT                                             0x822D
462 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT            0x8211
463 #define GL_UNSIGNED_NORMALIZED_EXT                              0x8C17
464 #endif
465 
466 /* GL_EXT_debug_label */
467 #ifndef GL_EXT_debug_label
468 #define GL_PROGRAM_PIPELINE_OBJECT_EXT                          0x8A4F
469 #define GL_PROGRAM_OBJECT_EXT                                   0x8B40
470 #define GL_SHADER_OBJECT_EXT                                    0x8B48
471 #define GL_BUFFER_OBJECT_EXT                                    0x9151
472 #define GL_QUERY_OBJECT_EXT                                     0x9153
473 #define GL_VERTEX_ARRAY_OBJECT_EXT                              0x9154
474 #endif
475 
476 /* GL_EXT_debug_marker */
477 /* No new tokens introduced by this extension. */
478 
479 /* GL_EXT_discard_framebuffer */
480 #ifndef GL_EXT_discard_framebuffer
481 #define GL_COLOR_EXT                                            0x1800
482 #define GL_DEPTH_EXT                                            0x1801
483 #define GL_STENCIL_EXT                                          0x1802
484 #endif
485 
486 /* GL_EXT_map_buffer_range */
487 #ifndef GL_EXT_map_buffer_range
488 #define GL_MAP_READ_BIT_EXT                                     0x0001
489 #define GL_MAP_WRITE_BIT_EXT                                    0x0002
490 #define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
491 #define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
492 #define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
493 #define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
494 #endif
495 
496 /* GL_EXT_multisampled_render_to_texture */
497 #ifndef GL_EXT_multisampled_render_to_texture
498 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
499 /* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
500 #define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
501 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
502 #define GL_MAX_SAMPLES_EXT                                      0x8D57
503 #endif
504 
505 /* GL_EXT_multiview_draw_buffers */
506 #ifndef GL_EXT_multiview_draw_buffers
507 #define GL_COLOR_ATTACHMENT_EXT                                 0x90F0
508 #define GL_MULTIVIEW_EXT                                        0x90F1
509 #define GL_DRAW_BUFFER_EXT                                      0x0C01
510 #define GL_READ_BUFFER_EXT                                      0x0C02
511 #define GL_MAX_MULTIVIEW_BUFFERS_EXT                            0x90F2
512 #endif
513 
514 /* GL_EXT_multi_draw_arrays */
515 /* No new tokens introduced by this extension. */
516 
517 /* GL_EXT_occlusion_query_boolean */
518 #ifndef GL_EXT_occlusion_query_boolean
519 #define GL_ANY_SAMPLES_PASSED_EXT                               0x8C2F
520 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                  0x8D6A
521 #define GL_CURRENT_QUERY_EXT                                    0x8865
522 #define GL_QUERY_RESULT_EXT                                     0x8866
523 #define GL_QUERY_RESULT_AVAILABLE_EXT                           0x8867
524 #endif
525 
526 /* GL_EXT_read_format_bgra */
527 #ifndef GL_EXT_read_format_bgra
528 #define GL_BGRA_EXT                                             0x80E1
529 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
530 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
531 #endif
532 
533 /* GL_EXT_robustness */
534 #ifndef GL_EXT_robustness
535 /* reuse GL_NO_ERROR */
536 #define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
537 #define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
538 #define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
539 #define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
540 #define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
541 #define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
542 #define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
543 #endif
544 
545 /* GL_EXT_separate_shader_objects */
546 #ifndef GL_EXT_separate_shader_objects
547 #define GL_VERTEX_SHADER_BIT_EXT                                0x00000001
548 #define GL_FRAGMENT_SHADER_BIT_EXT                              0x00000002
549 #define GL_ALL_SHADER_BITS_EXT                                  0xFFFFFFFF
550 #define GL_PROGRAM_SEPARABLE_EXT                                0x8258
551 #define GL_ACTIVE_PROGRAM_EXT                                   0x8259
552 #define GL_PROGRAM_PIPELINE_BINDING_EXT                         0x825A
553 #endif
554 
555 /* GL_EXT_shader_framebuffer_fetch */
556 #ifndef GL_EXT_shader_framebuffer_fetch
557 #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                 0x8A52
558 #endif
559 
560 /* GL_EXT_shader_texture_lod */
561 /* No new tokens introduced by this extension. */
562 
563 /* GL_EXT_shadow_samplers */
564 #ifndef GL_EXT_shadow_samplers
565 #define GL_TEXTURE_COMPARE_MODE_EXT                             0x884C
566 #define GL_TEXTURE_COMPARE_FUNC_EXT                             0x884D
567 #define GL_COMPARE_REF_TO_TEXTURE_EXT                           0x884E
568 #define GL_SAMPLER_2D_SHADOW_EXT                                0x8B62
569 #endif
570 
571 /* GL_EXT_sRGB */
572 #ifndef GL_EXT_sRGB
573 #define GL_SRGB_EXT                                             0x8C40
574 #define GL_SRGB_ALPHA_EXT                                       0x8C42
575 #define GL_SRGB8_ALPHA8_EXT                                     0x8C43
576 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
577 #endif
578 
579 /* GL_EXT_texture_compression_dxt1 */
580 #ifndef GL_EXT_texture_compression_dxt1
581 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
582 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
583 #endif
584 
585 /* GL_EXT_texture_filter_anisotropic */
586 #ifndef GL_EXT_texture_filter_anisotropic
587 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
588 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
589 #endif
590 
591 /* GL_EXT_texture_format_BGRA8888 */
592 #ifndef GL_EXT_texture_format_BGRA8888
593 #define GL_BGRA_EXT                                             0x80E1
594 #endif
595 
596 /* GL_EXT_texture_rg */
597 #ifndef GL_EXT_texture_rg
598 #define GL_RED_EXT                                              0x1903
599 #define GL_RG_EXT                                               0x8227
600 #define GL_R8_EXT                                               0x8229
601 #define GL_RG8_EXT                                              0x822B
602 #endif
603 
604 /* GL_EXT_texture_storage */
605 #ifndef GL_EXT_texture_storage
606 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
607 #define GL_ALPHA8_EXT                                           0x803C
608 #define GL_LUMINANCE8_EXT                                       0x8040
609 #define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
610 #define GL_RGBA32F_EXT                                          0x8814
611 #define GL_RGB32F_EXT                                           0x8815
612 #define GL_ALPHA32F_EXT                                         0x8816
613 #define GL_LUMINANCE32F_EXT                                     0x8818
614 #define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
615 /* reuse GL_RGBA16F_EXT */
616 /* reuse GL_RGB16F_EXT */
617 #define GL_ALPHA16F_EXT                                         0x881C
618 #define GL_LUMINANCE16F_EXT                                     0x881E
619 #define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
620 #define GL_RGB10_A2_EXT                                         0x8059
621 #define GL_RGB10_EXT                                            0x8052
622 #define GL_BGRA8_EXT                                            0x93A1
623 #define GL_R8_EXT                                               0x8229
624 #define GL_RG8_EXT                                              0x822B
625 #define GL_R32F_EXT                                             0x822E
626 #define GL_RG32F_EXT                                            0x8230
627 #define GL_R16F_EXT                                             0x822D
628 #define GL_RG16F_EXT                                            0x822F
629 #endif
630 
631 /* GL_EXT_texture_type_2_10_10_10_REV */
632 #ifndef GL_EXT_texture_type_2_10_10_10_REV
633 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
634 #endif
635 
636 /* GL_EXT_unpack_subimage */
637 #ifndef GL_EXT_unpack_subimage
638 #define GL_UNPACK_ROW_LENGTH_EXT                                0x0CF2
639 #define GL_UNPACK_SKIP_ROWS_EXT                                 0x0CF3
640 #define GL_UNPACK_SKIP_PIXELS_EXT                               0x0CF4
641 #endif
642 
643 /*------------------------------------------------------------------------*
644  * DMP extension tokens
645  *------------------------------------------------------------------------*/
646 
647 /* GL_DMP_shader_binary */
648 #ifndef GL_DMP_shader_binary
649 #define GL_SHADER_BINARY_DMP                                    0x9250
650 #endif
651 
652 /*------------------------------------------------------------------------*
653  * FJ extension tokens
654  *------------------------------------------------------------------------*/
655 
656 /* GL_FJ_shader_binary_GCCSO */
657 #ifndef GL_FJ_shader_binary_GCCSO
658 #define GL_GCCSO_SHADER_BINARY_F                                0x9260
659 #endif
660 
661 /*------------------------------------------------------------------------*
662  * IMG extension tokens
663  *------------------------------------------------------------------------*/
664 
665 /* GL_IMG_program_binary */
666 #ifndef GL_IMG_program_binary
667 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
668 #endif
669 
670 /* GL_IMG_read_format */
671 #ifndef GL_IMG_read_format
672 #define GL_BGRA_IMG                                             0x80E1
673 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
674 #endif
675 
676 /* GL_IMG_shader_binary */
677 #ifndef GL_IMG_shader_binary
678 #define GL_SGX_BINARY_IMG                                       0x8C0A
679 #endif
680 
681 /* GL_IMG_texture_compression_pvrtc */
682 #ifndef GL_IMG_texture_compression_pvrtc
683 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
684 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
685 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
686 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
687 #endif
688 
689 /* GL_IMG_texture_compression_pvrtc2 */
690 #ifndef GL_IMG_texture_compression_pvrtc2
691 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                     0x9137
692 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                     0x9138
693 #endif
694 
695 /* GL_IMG_multisampled_render_to_texture */
696 #ifndef GL_IMG_multisampled_render_to_texture
697 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
698 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
699 #define GL_MAX_SAMPLES_IMG                                      0x9135
700 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
701 #endif
702 
703 /*------------------------------------------------------------------------*
704  * NV extension tokens
705  *------------------------------------------------------------------------*/
706 
707 /* GL_NV_coverage_sample */
708 #ifndef GL_NV_coverage_sample
709 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
710 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
711 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
712 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
713 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
714 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
715 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
716 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
717 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
718 #endif
719 
720 /* GL_NV_depth_nonlinear */
721 #ifndef GL_NV_depth_nonlinear
722 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
723 #endif
724 
725 /* GL_NV_draw_buffers */
726 #ifndef GL_NV_draw_buffers
727 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
728 #define GL_DRAW_BUFFER0_NV                                      0x8825
729 #define GL_DRAW_BUFFER1_NV                                      0x8826
730 #define GL_DRAW_BUFFER2_NV                                      0x8827
731 #define GL_DRAW_BUFFER3_NV                                      0x8828
732 #define GL_DRAW_BUFFER4_NV                                      0x8829
733 #define GL_DRAW_BUFFER5_NV                                      0x882A
734 #define GL_DRAW_BUFFER6_NV                                      0x882B
735 #define GL_DRAW_BUFFER7_NV                                      0x882C
736 #define GL_DRAW_BUFFER8_NV                                      0x882D
737 #define GL_DRAW_BUFFER9_NV                                      0x882E
738 #define GL_DRAW_BUFFER10_NV                                     0x882F
739 #define GL_DRAW_BUFFER11_NV                                     0x8830
740 #define GL_DRAW_BUFFER12_NV                                     0x8831
741 #define GL_DRAW_BUFFER13_NV                                     0x8832
742 #define GL_DRAW_BUFFER14_NV                                     0x8833
743 #define GL_DRAW_BUFFER15_NV                                     0x8834
744 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
745 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
746 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
747 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
748 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
749 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
750 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
751 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
752 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
753 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
754 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
755 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
756 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
757 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
758 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
759 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
760 #endif
761 
762 /* GL_EXT_draw_buffers */
763 #ifndef GL_EXT_draw_buffers
764 #define GL_MAX_DRAW_BUFFERS_EXT                                  0x8824
765 #define GL_DRAW_BUFFER0_EXT                                      0x8825
766 #define GL_DRAW_BUFFER1_EXT                                      0x8826
767 #define GL_DRAW_BUFFER2_EXT                                      0x8827
768 #define GL_DRAW_BUFFER3_EXT                                      0x8828
769 #define GL_DRAW_BUFFER4_EXT                                      0x8829
770 #define GL_DRAW_BUFFER5_EXT                                      0x882A
771 #define GL_DRAW_BUFFER6_EXT                                      0x882B
772 #define GL_DRAW_BUFFER7_EXT                                      0x882C
773 #define GL_DRAW_BUFFER8_EXT                                      0x882D
774 #define GL_DRAW_BUFFER9_EXT                                      0x882E
775 #define GL_DRAW_BUFFER10_EXT                                     0x882F
776 #define GL_DRAW_BUFFER11_EXT                                     0x8830
777 #define GL_DRAW_BUFFER12_EXT                                     0x8831
778 #define GL_DRAW_BUFFER13_EXT                                     0x8832
779 #define GL_DRAW_BUFFER14_EXT                                     0x8833
780 #define GL_DRAW_BUFFER15_EXT                                     0x8834
781 #define GL_COLOR_ATTACHMENT0_EXT                                 0x8CE0
782 #define GL_COLOR_ATTACHMENT1_EXT                                 0x8CE1
783 #define GL_COLOR_ATTACHMENT2_EXT                                 0x8CE2
784 #define GL_COLOR_ATTACHMENT3_EXT                                 0x8CE3
785 #define GL_COLOR_ATTACHMENT4_EXT                                 0x8CE4
786 #define GL_COLOR_ATTACHMENT5_EXT                                 0x8CE5
787 #define GL_COLOR_ATTACHMENT6_EXT                                 0x8CE6
788 #define GL_COLOR_ATTACHMENT7_EXT                                 0x8CE7
789 #define GL_COLOR_ATTACHMENT8_EXT                                 0x8CE8
790 #define GL_COLOR_ATTACHMENT9_EXT                                 0x8CE9
791 #define GL_COLOR_ATTACHMENT10_EXT                                0x8CEA
792 #define GL_COLOR_ATTACHMENT11_EXT                                0x8CEB
793 #define GL_COLOR_ATTACHMENT12_EXT                                0x8CEC
794 #define GL_COLOR_ATTACHMENT13_EXT                                0x8CED
795 #define GL_COLOR_ATTACHMENT14_EXT                                0x8CEE
796 #define GL_COLOR_ATTACHMENT15_EXT                                0x8CEF
797 #define GL_MAX_COLOR_ATTACHMENTS_EXT                             0x8CDF
798 #endif
799 
800 /* GL_NV_draw_instanced */
801 /* No new tokens introduced by this extension. */
802 
803 /* GL_NV_fbo_color_attachments */
804 #ifndef GL_NV_fbo_color_attachments
805 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
806 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
807 #endif
808 
809 /* GL_NV_fence */
810 #ifndef GL_NV_fence
811 #define GL_ALL_COMPLETED_NV                                     0x84F2
812 #define GL_FENCE_STATUS_NV                                      0x84F3
813 #define GL_FENCE_CONDITION_NV                                   0x84F4
814 #endif
815 
816 /* GL_NV_framebuffer_blit */
817 #ifndef GL_NV_framebuffer_blit
818 #define GL_READ_FRAMEBUFFER_NV                                  0x8CA8
819 #define GL_DRAW_FRAMEBUFFER_NV                                  0x8CA9
820 #define GL_DRAW_FRAMEBUFFER_BINDING_NV                          0x8CA6
821 #define GL_READ_FRAMEBUFFER_BINDING_NV                          0x8CAA
822 #endif
823 
824 /* GL_NV_framebuffer_multisample */
825 #ifndef GL_NV_framebuffer_multisample
826 #define GL_RENDERBUFFER_SAMPLES_NV                              0x8CAB
827 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                0x8D56
828 #define GL_MAX_SAMPLES_NV                                       0x8D57
829 #endif
830 
831 /* GL_NV_generate_mipmap_sRGB */
832 /* No new tokens introduced by this extension. */
833 
834 /* GL_NV_instanced_arrays */
835 #ifndef GL_NV_instanced_arrays
836 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                       0x88FE
837 #endif
838 
839 /* GL_NV_read_buffer */
840 #ifndef GL_NV_read_buffer
841 #define GL_READ_BUFFER_NV                                       0x0C02
842 #endif
843 
844 /* GL_NV_read_buffer_front */
845 /* No new tokens introduced by this extension. */
846 
847 /* GL_NV_read_depth */
848 /* No new tokens introduced by this extension. */
849 
850 /* GL_NV_read_depth_stencil */
851 /* No new tokens introduced by this extension. */
852 
853 /* GL_NV_read_stencil */
854 /* No new tokens introduced by this extension. */
855 
856 /* GL_NV_shadow_samplers_array */
857 #ifndef GL_NV_shadow_samplers_array
858 #define GL_SAMPLER_2D_ARRAY_SHADOW_NV                           0x8DC4
859 #endif
860 
861 /* GL_NV_shadow_samplers_cube */
862 #ifndef GL_NV_shadow_samplers_cube
863 #define GL_SAMPLER_CUBE_SHADOW_NV                               0x8DC5
864 #endif
865 
866 /* GL_NV_sRGB_formats */
867 #ifndef GL_NV_sRGB_formats
868 #define GL_SLUMINANCE_NV                                        0x8C46
869 #define GL_SLUMINANCE_ALPHA_NV                                  0x8C44
870 #define GL_SRGB8_NV                                             0x8C41
871 #define GL_SLUMINANCE8_NV                                       0x8C47
872 #define GL_SLUMINANCE8_ALPHA8_NV                                0x8C45
873 #define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                         0x8C4C
874 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                   0x8C4D
875 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                   0x8C4E
876 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                   0x8C4F
877 #define GL_ETC1_SRGB8_NV                                        0x88EE
878 #endif
879 
880 /* GL_NV_texture_border_clamp */
881 #ifndef GL_NV_texture_border_clamp
882 #define GL_TEXTURE_BORDER_COLOR_NV                              0x1004
883 #define GL_CLAMP_TO_BORDER_NV                                   0x812D
884 #endif
885 
886 /* GL_NV_texture_compression_s3tc_update */
887 /* No new tokens introduced by this extension. */
888 
889 /* GL_NV_texture_npot_2D_mipmap */
890 /* No new tokens introduced by this extension. */
891 
892 /*------------------------------------------------------------------------*
893  * QCOM extension tokens
894  *------------------------------------------------------------------------*/
895 
896 /* GL_QCOM_alpha_test */
897 #ifndef GL_QCOM_alpha_test
898 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
899 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
900 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
901 #endif
902 
903 /* GL_QCOM_binning_control */
904 #ifndef GL_QCOM_binning_control
905 #define GL_BINNING_CONTROL_HINT_QCOM                            0x8FB0
906 #define GL_CPU_OPTIMIZED_QCOM                                   0x8FB1
907 #define GL_GPU_OPTIMIZED_QCOM                                   0x8FB2
908 #define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                    0x8FB3
909 #endif
910 
911 /* GL_QCOM_driver_control */
912 /* No new tokens introduced by this extension. */
913 
914 /* GL_QCOM_extended_get */
915 #ifndef GL_QCOM_extended_get
916 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
917 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
918 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
919 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
920 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
921 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
922 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
923 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
924 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
925 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
926 #define GL_STATE_RESTORE                                        0x8BDC
927 #endif
928 
929 /* GL_QCOM_extended_get2 */
930 /* No new tokens introduced by this extension. */
931 
932 /* GL_QCOM_perfmon_global_mode */
933 #ifndef GL_QCOM_perfmon_global_mode
934 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
935 #endif
936 
937 /* GL_QCOM_writeonly_rendering */
938 #ifndef GL_QCOM_writeonly_rendering
939 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
940 #endif
941 
942 /* GL_QCOM_tiled_rendering */
943 #ifndef GL_QCOM_tiled_rendering
944 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
945 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
946 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
947 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
948 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
949 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
950 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
951 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
952 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
953 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
954 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
955 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
956 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
957 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
958 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
959 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
960 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
961 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
962 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
963 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
964 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
965 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
966 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
967 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
968 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
969 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
970 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
971 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
972 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
973 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
974 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
975 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
976 #endif
977 
978 /*------------------------------------------------------------------------*
979  * VIV extension tokens
980  *------------------------------------------------------------------------*/
981 
982 /* GL_VIV_shader_binary */
983 #ifndef GL_VIV_shader_binary
984 #define GL_SHADER_BINARY_VIV                                    0x8FC4
985 #endif
986 
987 /*------------------------------------------------------------------------*
988  * End of extension tokens, start of corresponding extension functions
989  *------------------------------------------------------------------------*/
990 
991 /*------------------------------------------------------------------------*
992  * OES extension functions
993  *------------------------------------------------------------------------*/
994 
995 /* GL_OES_compressed_ETC1_RGB8_texture */
996 #ifndef GL_OES_compressed_ETC1_RGB8_texture
997 #define GL_OES_compressed_ETC1_RGB8_texture 1
998 #endif
999 
1000 /* GL_OES_compressed_paletted_texture */
1001 #ifndef GL_OES_compressed_paletted_texture
1002 #define GL_OES_compressed_paletted_texture 1
1003 #endif
1004 
1005 /* GL_OES_depth24 */
1006 #ifndef GL_OES_depth24
1007 #define GL_OES_depth24 1
1008 #endif
1009 
1010 /* GL_OES_depth32 */
1011 #ifndef GL_OES_depth32
1012 #define GL_OES_depth32 1
1013 #endif
1014 
1015 /* GL_OES_depth_texture */
1016 #ifndef GL_OES_depth_texture
1017 #define GL_OES_depth_texture 1
1018 #endif
1019 
1020 /* GL_OES_EGL_image */
1021 #ifndef GL_OES_EGL_image
1022 #define GL_OES_EGL_image 1
1023 #ifdef GL_GLEXT_PROTOTYPES
1024 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
1025 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
1026 #endif
1027 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
1028 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
1029 #endif
1030 
1031 /* GL_OES_EGL_image_external */
1032 #ifndef GL_OES_EGL_image_external
1033 #define GL_OES_EGL_image_external 1
1034 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
1035 #endif
1036 
1037 /* GL_OES_element_index_uint */
1038 #ifndef GL_OES_element_index_uint
1039 #define GL_OES_element_index_uint 1
1040 #endif
1041 
1042 /* GL_OES_fbo_render_mipmap */
1043 #ifndef GL_OES_fbo_render_mipmap
1044 #define GL_OES_fbo_render_mipmap 1
1045 #endif
1046 
1047 /* GL_OES_fragment_precision_high */
1048 #ifndef GL_OES_fragment_precision_high
1049 #define GL_OES_fragment_precision_high 1
1050 #endif
1051 
1052 /* GL_OES_get_program_binary */
1053 #ifndef GL_OES_get_program_binary
1054 #define GL_OES_get_program_binary 1
1055 #ifdef GL_GLEXT_PROTOTYPES
1056 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
1057 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
1058 #endif
1059 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
1060 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
1061 #endif
1062 
1063 /* GL_OES_mapbuffer */
1064 #ifndef GL_OES_mapbuffer
1065 #define GL_OES_mapbuffer 1
1066 #ifdef GL_GLEXT_PROTOTYPES
1067 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
1068 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
1069 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
1070 #endif
1071 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
1072 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
1073 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
1074 #endif
1075 
1076 /* GL_OES_packed_depth_stencil */
1077 #ifndef GL_OES_packed_depth_stencil
1078 #define GL_OES_packed_depth_stencil 1
1079 #endif
1080 
1081 /* GL_OES_required_internalformat */
1082 #ifndef GL_OES_required_internalformat
1083 #define GL_OES_required_internalformat 1
1084 #endif
1085 
1086 /* GL_OES_rgb8_rgba8 */
1087 #ifndef GL_OES_rgb8_rgba8
1088 #define GL_OES_rgb8_rgba8 1
1089 #endif
1090 
1091 /* GL_OES_standard_derivatives */
1092 #ifndef GL_OES_standard_derivatives
1093 #define GL_OES_standard_derivatives 1
1094 #endif
1095 
1096 /* GL_OES_stencil1 */
1097 #ifndef GL_OES_stencil1
1098 #define GL_OES_stencil1 1
1099 #endif
1100 
1101 /* GL_OES_stencil4 */
1102 #ifndef GL_OES_stencil4
1103 #define GL_OES_stencil4 1
1104 #endif
1105 
1106 #ifndef GL_OES_surfaceless_context
1107 #define GL_OES_surfaceless_context 1
1108 #endif
1109 
1110 /* GL_OES_texture_3D */
1111 #ifndef GL_OES_texture_3D
1112 #define GL_OES_texture_3D 1
1113 #ifdef GL_GLEXT_PROTOTYPES
1114 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);
1115 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);
1116 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1117 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);
1118 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);
1119 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1120 #endif
1121 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);
1122 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);
1123 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1124 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
1125 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);
1126 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1127 #endif
1128 
1129 /* GL_OES_texture_float */
1130 #ifndef GL_OES_texture_float
1131 #define GL_OES_texture_float 1
1132 #endif
1133 
1134 /* GL_OES_texture_float_linear */
1135 #ifndef GL_OES_texture_float_linear
1136 #define GL_OES_texture_float_linear 1
1137 #endif
1138 
1139 /* GL_OES_texture_half_float */
1140 #ifndef GL_OES_texture_half_float
1141 #define GL_OES_texture_half_float 1
1142 #endif
1143 
1144 /* GL_OES_texture_half_float_linear */
1145 #ifndef GL_OES_texture_half_float_linear
1146 #define GL_OES_texture_half_float_linear 1
1147 #endif
1148 
1149 /* GL_OES_texture_npot */
1150 #ifndef GL_OES_texture_npot
1151 #define GL_OES_texture_npot 1
1152 #endif
1153 
1154 /* GL_OES_vertex_array_object */
1155 #ifndef GL_OES_vertex_array_object
1156 #define GL_OES_vertex_array_object 1
1157 #ifdef GL_GLEXT_PROTOTYPES
1158 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
1159 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
1160 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
1161 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
1162 #endif
1163 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
1164 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
1165 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
1166 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
1167 #endif
1168 
1169 /* GL_OES_vertex_half_float */
1170 #ifndef GL_OES_vertex_half_float
1171 #define GL_OES_vertex_half_float 1
1172 #endif
1173 
1174 /* GL_OES_vertex_type_10_10_10_2 */
1175 #ifndef GL_OES_vertex_type_10_10_10_2
1176 #define GL_OES_vertex_type_10_10_10_2 1
1177 #endif
1178 
1179 /*------------------------------------------------------------------------*
1180  * KHR extension functions
1181  *------------------------------------------------------------------------*/
1182 
1183 #ifndef GL_KHR_debug
1184 #define GL_KHR_debug 1
1185 #ifdef GL_GLEXT_PROTOTYPES
1186 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1187 GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1188 GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
1189 GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1190 GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
1191 GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
1192 GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
1193 GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
1194 GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
1195 GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
1196 GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
1197 #endif
1198 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1199 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1200 typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
1201 typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1202 typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
1203 typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
1204 typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
1205 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
1206 typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
1207 typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
1208 typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
1209 #endif
1210 
1211 #ifndef GL_KHR_texture_compression_astc_ldr
1212 #define GL_KHR_texture_compression_astc_ldr 1
1213 #endif
1214 
1215 
1216 /*------------------------------------------------------------------------*
1217  * AMD extension functions
1218  *------------------------------------------------------------------------*/
1219 
1220 /* GL_AMD_compressed_3DC_texture */
1221 #ifndef GL_AMD_compressed_3DC_texture
1222 #define GL_AMD_compressed_3DC_texture 1
1223 #endif
1224 
1225 /* GL_AMD_compressed_ATC_texture */
1226 #ifndef GL_AMD_compressed_ATC_texture
1227 #define GL_AMD_compressed_ATC_texture 1
1228 #endif
1229 
1230 /* AMD_performance_monitor */
1231 #ifndef GL_AMD_performance_monitor
1232 #define GL_AMD_performance_monitor 1
1233 #ifdef GL_GLEXT_PROTOTYPES
1234 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
1235 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
1236 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
1237 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
1238 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
1239 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
1240 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
1241 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
1242 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
1243 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
1244 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
1245 #endif
1246 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
1247 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
1248 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
1249 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
1250 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
1251 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
1252 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
1253 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
1254 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
1255 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
1256 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
1257 #endif
1258 
1259 /* GL_AMD_program_binary_Z400 */
1260 #ifndef GL_AMD_program_binary_Z400
1261 #define GL_AMD_program_binary_Z400 1
1262 #endif
1263 
1264 /*------------------------------------------------------------------------*
1265  * ANGLE extension functions
1266  *------------------------------------------------------------------------*/
1267 
1268 /* GL_ANGLE_depth_texture */
1269 #ifndef GL_ANGLE_depth_texture
1270 #define GL_ANGLE_depth_texture 1
1271 #endif
1272 
1273 /* GL_ANGLE_framebuffer_blit */
1274 #ifndef GL_ANGLE_framebuffer_blit
1275 #define GL_ANGLE_framebuffer_blit 1
1276 #ifdef GL_GLEXT_PROTOTYPES
1277 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);
1278 #endif
1279 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);
1280 #endif
1281 
1282 /* GL_ANGLE_framebuffer_multisample */
1283 #ifndef GL_ANGLE_framebuffer_multisample
1284 #define GL_ANGLE_framebuffer_multisample 1
1285 #ifdef GL_GLEXT_PROTOTYPES
1286 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1287 #endif
1288 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1289 #endif
1290 
1291 #ifndef GL_ANGLE_instanced_arrays
1292 #define GL_ANGLE_instanced_arrays 1
1293 #ifdef GL_GLEXT_PROTOTYPES
1294 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1295 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1296 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
1297 #endif
1298 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1299 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1300 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
1301 #endif
1302 
1303 /* GL_ANGLE_pack_reverse_row_order */
1304 #ifndef GL_ANGLE_pack_reverse_row_order
1305 #define GL_ANGLE_pack_reverse_row_order 1
1306 #endif
1307 
1308 /* GL_ANGLE_program_binary */
1309 #ifndef GL_ANGLE_program_binary
1310 #define GL_ANGLE_program_binary 1
1311 #endif
1312 
1313 /* GL_ANGLE_texture_compression_dxt3 */
1314 #ifndef GL_ANGLE_texture_compression_dxt3
1315 #define GL_ANGLE_texture_compression_dxt3 1
1316 #endif
1317 
1318 /* GL_ANGLE_texture_compression_dxt5 */
1319 #ifndef GL_ANGLE_texture_compression_dxt5
1320 #define GL_ANGLE_texture_compression_dxt5 1
1321 #endif
1322 
1323 /* GL_ANGLE_texture_usage */
1324 #ifndef GL_ANGLE_texture_usage
1325 #define GL_ANGLE_texture_usage 1
1326 #endif
1327 
1328 #ifndef GL_ANGLE_translated_shader_source
1329 #define GL_ANGLE_translated_shader_source 1
1330 #ifdef GL_GLEXT_PROTOTYPES
1331 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
1332 #endif
1333 typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
1334 #endif
1335 
1336 /*------------------------------------------------------------------------*
1337  * APPLE extension functions
1338  *------------------------------------------------------------------------*/
1339 
1340 /* GL_APPLE_copy_texture_levels */
1341 #ifndef GL_APPLE_copy_texture_levels
1342 #define GL_APPLE_copy_texture_levels 1
1343 #ifdef GL_GLEXT_PROTOTYPES
1344 GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
1345 #endif
1346 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
1347 #endif
1348 
1349 /* GL_APPLE_framebuffer_multisample */
1350 #ifndef GL_APPLE_framebuffer_multisample
1351 #define GL_APPLE_framebuffer_multisample 1
1352 #ifdef GL_GLEXT_PROTOTYPES
1353 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1354 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
1355 #endif /* GL_GLEXT_PROTOTYPES */
1356 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1357 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
1358 #endif
1359 
1360 /* GL_APPLE_rgb_422 */
1361 #ifndef GL_APPLE_rgb_422
1362 #define GL_APPLE_rgb_422 1
1363 #endif
1364 
1365 /* GL_APPLE_sync */
1366 #ifndef GL_APPLE_sync
1367 #define GL_APPLE_sync 1
1368 #ifdef GL_GLEXT_PROTOTYPES
1369 GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
1370 GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
1371 GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
1372 GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
1373 GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
1374 GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
1375 GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1376 #endif
1377 typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
1378 typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
1379 typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
1380 typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1381 typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1382 typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
1383 typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1384 #endif
1385 
1386 /* GL_APPLE_texture_format_BGRA8888 */
1387 #ifndef GL_APPLE_texture_format_BGRA8888
1388 #define GL_APPLE_texture_format_BGRA8888 1
1389 #endif
1390 
1391 /* GL_APPLE_texture_max_level */
1392 #ifndef GL_APPLE_texture_max_level
1393 #define GL_APPLE_texture_max_level 1
1394 #endif
1395 
1396 /*------------------------------------------------------------------------*
1397  * ARM extension functions
1398  *------------------------------------------------------------------------*/
1399 
1400 /* GL_ARM_mali_program_binary */
1401 #ifndef GL_ARM_mali_program_binary
1402 #define GL_ARM_mali_program_binary 1
1403 #endif
1404 
1405 /* GL_ARM_mali_shader_binary */
1406 #ifndef GL_ARM_mali_shader_binary
1407 #define GL_ARM_mali_shader_binary 1
1408 #endif
1409 
1410 /* GL_ARM_rgba8 */
1411 #ifndef GL_ARM_rgba8
1412 #define GL_ARM_rgba8 1
1413 #endif
1414 
1415 /*------------------------------------------------------------------------*
1416  * EXT extension functions
1417  *------------------------------------------------------------------------*/
1418 
1419 /* GL_EXT_blend_minmax */
1420 #ifndef GL_EXT_blend_minmax
1421 #define GL_EXT_blend_minmax 1
1422 #endif
1423 
1424 /* GL_EXT_color_buffer_half_float */
1425 #ifndef GL_EXT_color_buffer_half_float
1426 #define GL_EXT_color_buffer_half_float 1
1427 #endif
1428 
1429 /* GL_EXT_debug_label */
1430 #ifndef GL_EXT_debug_label
1431 #define GL_EXT_debug_label 1
1432 #ifdef GL_GLEXT_PROTOTYPES
1433 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1434 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1435 #endif
1436 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1437 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1438 #endif
1439 
1440 /* GL_EXT_debug_marker */
1441 #ifndef GL_EXT_debug_marker
1442 #define GL_EXT_debug_marker 1
1443 #ifdef GL_GLEXT_PROTOTYPES
1444 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
1445 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
1446 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
1447 #endif
1448 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1449 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1450 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
1451 #endif
1452 
1453 /* GL_EXT_discard_framebuffer */
1454 #ifndef GL_EXT_discard_framebuffer
1455 #define GL_EXT_discard_framebuffer 1
1456 #ifdef GL_GLEXT_PROTOTYPES
1457 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1458 #endif
1459 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1460 #endif
1461 
1462 /* GL_EXT_map_buffer_range */
1463 #ifndef GL_EXT_map_buffer_range
1464 #define GL_EXT_map_buffer_range 1
1465 #ifdef GL_GLEXT_PROTOTYPES
1466 GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1467 GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
1468 #endif
1469 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1470 typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1471 #endif
1472 
1473 /* GL_EXT_multisampled_render_to_texture */
1474 #ifndef GL_EXT_multisampled_render_to_texture
1475 #define GL_EXT_multisampled_render_to_texture 1
1476 #ifdef GL_GLEXT_PROTOTYPES
1477 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1478 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1479 #endif
1480 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1481 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1482 #endif
1483 
1484 /* GL_EXT_multiview_draw_buffers */
1485 #ifndef GL_EXT_multiview_draw_buffers
1486 #define GL_EXT_multiview_draw_buffers 1
1487 #ifdef GL_GLEXT_PROTOTYPES
1488 GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
1489 GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
1490 GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
1491 #endif
1492 typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
1493 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
1494 typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
1495 #endif
1496 
1497 #ifndef GL_EXT_multi_draw_arrays
1498 #define GL_EXT_multi_draw_arrays 1
1499 #ifdef GL_GLEXT_PROTOTYPES
1500 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei);
1501 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
1502 #endif /* GL_GLEXT_PROTOTYPES */
1503 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
1504 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
1505 #endif
1506 
1507 /* GL_EXT_occlusion_query_boolean */
1508 #ifndef GL_EXT_occlusion_query_boolean
1509 #define GL_EXT_occlusion_query_boolean 1
1510 #ifdef GL_GLEXT_PROTOTYPES
1511 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
1512 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
1513 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
1514 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
1515 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
1516 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
1517 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
1518 #endif
1519 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
1520 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
1521 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
1522 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
1523 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
1524 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1525 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
1526 #endif
1527 
1528 /* GL_EXT_read_format_bgra */
1529 #ifndef GL_EXT_read_format_bgra
1530 #define GL_EXT_read_format_bgra 1
1531 #endif
1532 
1533 /* GL_EXT_robustness */
1534 #ifndef GL_EXT_robustness
1535 #define GL_EXT_robustness 1
1536 #ifdef GL_GLEXT_PROTOTYPES
1537 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1538 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1539 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
1540 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1541 #endif
1542 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1543 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1544 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
1545 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1546 #endif
1547 
1548 /* GL_EXT_separate_shader_objects */
1549 #ifndef GL_EXT_separate_shader_objects
1550 #define GL_EXT_separate_shader_objects 1
1551 #ifdef GL_GLEXT_PROTOTYPES
1552 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1553 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1554 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
1555 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1556 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1557 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1558 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1559 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1560 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1561 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x);
1562 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y);
1563 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z);
1564 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1565 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x);
1566 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y);
1567 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1568 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1569 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1570 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1571 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1572 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1573 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1574 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1575 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1576 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1577 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1578 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1579 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1580 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1581 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1582 #endif
1583 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1584 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
1585 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
1586 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1587 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
1588 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
1589 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1590 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
1591 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
1592 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x);
1593 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y);
1594 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z);
1595 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
1596 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x);
1597 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y);
1598 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
1599 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1600 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1601 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1602 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1603 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1604 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1605 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1606 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1607 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1608 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1609 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1610 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1611 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1612 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1613 #endif
1614 
1615 /* GL_EXT_shader_framebuffer_fetch */
1616 #ifndef GL_EXT_shader_framebuffer_fetch
1617 #define GL_EXT_shader_framebuffer_fetch 1
1618 #endif
1619 
1620 /* GL_EXT_shader_texture_lod */
1621 #ifndef GL_EXT_shader_texture_lod
1622 #define GL_EXT_shader_texture_lod 1
1623 #endif
1624 
1625 /* GL_EXT_shadow_samplers */
1626 #ifndef GL_EXT_shadow_samplers
1627 #define GL_EXT_shadow_samplers 1
1628 #endif
1629 
1630 /* GL_EXT_sRGB */
1631 #ifndef GL_EXT_sRGB
1632 #define GL_EXT_sRGB 1
1633 #endif
1634 
1635 /* GL_EXT_texture_compression_dxt1 */
1636 #ifndef GL_EXT_texture_compression_dxt1
1637 #define GL_EXT_texture_compression_dxt1 1
1638 #endif
1639 
1640 /* GL_EXT_texture_filter_anisotropic */
1641 #ifndef GL_EXT_texture_filter_anisotropic
1642 #define GL_EXT_texture_filter_anisotropic 1
1643 #endif
1644 
1645 /* GL_EXT_texture_format_BGRA8888 */
1646 #ifndef GL_EXT_texture_format_BGRA8888
1647 #define GL_EXT_texture_format_BGRA8888 1
1648 #endif
1649 
1650 /* GL_EXT_texture_rg */
1651 #ifndef GL_EXT_texture_rg
1652 #define GL_EXT_texture_rg 1
1653 #endif
1654 
1655 /* GL_EXT_texture_storage */
1656 #ifndef GL_EXT_texture_storage
1657 #define GL_EXT_texture_storage 1
1658 #ifdef GL_GLEXT_PROTOTYPES
1659 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1660 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1661 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1662 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1663 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1664 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1665 #endif
1666 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1667 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1668 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1669 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1670 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1671 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1672 #endif
1673 
1674 /* GL_EXT_texture_type_2_10_10_10_REV */
1675 #ifndef GL_EXT_texture_type_2_10_10_10_REV
1676 #define GL_EXT_texture_type_2_10_10_10_REV 1
1677 #endif
1678 
1679 /* GL_EXT_unpack_subimage */
1680 #ifndef GL_EXT_unpack_subimage
1681 #define GL_EXT_unpack_subimage 1
1682 #endif
1683 
1684 /*------------------------------------------------------------------------*
1685  * DMP extension functions
1686  *------------------------------------------------------------------------*/
1687 
1688 /* GL_DMP_shader_binary */
1689 #ifndef GL_DMP_shader_binary
1690 #define GL_DMP_shader_binary 1
1691 #endif
1692 
1693 /*------------------------------------------------------------------------*
1694  * FJ extension functions
1695  *------------------------------------------------------------------------*/
1696 
1697 /* GL_FJ_shader_binary_GCCSO */
1698 #ifndef GL_FJ_shader_binary_GCCSO
1699 #define GL_FJ_shader_binary_GCCSO 1
1700 #endif
1701 
1702 /*------------------------------------------------------------------------*
1703  * IMG extension functions
1704  *------------------------------------------------------------------------*/
1705 
1706 /* GL_IMG_program_binary */
1707 #ifndef GL_IMG_program_binary
1708 #define GL_IMG_program_binary 1
1709 #endif
1710 
1711 /* GL_IMG_read_format */
1712 #ifndef GL_IMG_read_format
1713 #define GL_IMG_read_format 1
1714 #endif
1715 
1716 /* GL_IMG_shader_binary */
1717 #ifndef GL_IMG_shader_binary
1718 #define GL_IMG_shader_binary 1
1719 #endif
1720 
1721 /* GL_IMG_texture_compression_pvrtc */
1722 #ifndef GL_IMG_texture_compression_pvrtc
1723 #define GL_IMG_texture_compression_pvrtc 1
1724 #endif
1725 
1726 /* GL_IMG_texture_compression_pvrtc2 */
1727 #ifndef GL_IMG_texture_compression_pvrtc2
1728 #define GL_IMG_texture_compression_pvrtc2 1
1729 #endif
1730 
1731 /* GL_IMG_multisampled_render_to_texture */
1732 #ifndef GL_IMG_multisampled_render_to_texture
1733 #define GL_IMG_multisampled_render_to_texture 1
1734 #ifdef GL_GLEXT_PROTOTYPES
1735 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1736 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1737 #endif
1738 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1739 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1740 #endif
1741 
1742 /*------------------------------------------------------------------------*
1743  * NV extension functions
1744  *------------------------------------------------------------------------*/
1745 
1746 /* GL_NV_coverage_sample */
1747 #ifndef GL_NV_coverage_sample
1748 #define GL_NV_coverage_sample 1
1749 #ifdef GL_GLEXT_PROTOTYPES
1750 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1751 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1752 #endif
1753 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1754 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1755 #endif
1756 
1757 /* GL_NV_depth_nonlinear */
1758 #ifndef GL_NV_depth_nonlinear
1759 #define GL_NV_depth_nonlinear 1
1760 #endif
1761 
1762 /* GL_NV_draw_buffers */
1763 #ifndef GL_NV_draw_buffers
1764 #define GL_NV_draw_buffers 1
1765 #ifdef GL_GLEXT_PROTOTYPES
1766 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1767 #endif
1768 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
1769 #endif
1770 
1771 /* GL_EXT_draw_buffers */
1772 #ifndef GL_EXT_draw_buffers
1773 #define GL_EXT_draw_buffers 1
1774 #ifdef GL_GLEXT_PROTOTYPES
1775 GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
1776 #endif
1777 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
1778 #endif
1779 
1780 /* GL_NV_draw_instanced */
1781 #ifndef GL_NV_draw_instanced
1782 #define GL_NV_draw_instanced 1
1783 #ifdef GL_GLEXT_PROTOTYPES
1784 GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1785 GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
1786 #endif
1787 typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1788 typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
1789 #endif
1790 
1791 /* GL_NV_fbo_color_attachments */
1792 #ifndef GL_NV_fbo_color_attachments
1793 #define GL_NV_fbo_color_attachments 1
1794 #endif
1795 
1796 /* GL_NV_fence */
1797 #ifndef GL_NV_fence
1798 #define GL_NV_fence 1
1799 #ifdef GL_GLEXT_PROTOTYPES
1800 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
1801 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
1802 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
1803 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
1804 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
1805 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
1806 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
1807 #endif
1808 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1809 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1810 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1811 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1812 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1813 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1814 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1815 #endif
1816 
1817 /* GL_NV_framebuffer_blit */
1818 #ifndef GL_NV_framebuffer_blit
1819 #define GL_NV_framebuffer_blit 1
1820 #ifdef GL_GLEXT_PROTOTYPES
1821 GL_APICALL void GL_APIENTRY glBlitFramebufferNV (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1822 #endif
1823 typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1824 #endif
1825 
1826 /* GL_NV_framebuffer_multisample */
1827 #ifndef GL_NV_framebuffer_multisample
1828 #define GL_NV_framebuffer_multisample 1
1829 #ifdef GL_GLEXT_PROTOTYPES
1830 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1831 #endif
1832 typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1833 #endif
1834 
1835 /* GL_NV_generate_mipmap_sRGB */
1836 #ifndef GL_NV_generate_mipmap_sRGB
1837 #define GL_NV_generate_mipmap_sRGB 1
1838 #endif
1839 
1840 /* GL_NV_instanced_arrays */
1841 #ifndef GL_NV_instanced_arrays
1842 #define GL_NV_instanced_arrays 1
1843 #ifdef GL_GLEXT_PROTOTYPES
1844 GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
1845 #endif
1846 typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
1847 #endif
1848 
1849 /* GL_NV_read_buffer */
1850 #ifndef GL_NV_read_buffer
1851 #define GL_NV_read_buffer 1
1852 #ifdef GL_GLEXT_PROTOTYPES
1853 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1854 #endif
1855 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1856 #endif
1857 
1858 /* GL_NV_read_buffer_front */
1859 #ifndef GL_NV_read_buffer_front
1860 #define GL_NV_read_buffer_front 1
1861 #endif
1862 
1863 /* GL_NV_read_depth */
1864 #ifndef GL_NV_read_depth
1865 #define GL_NV_read_depth 1
1866 #endif
1867 
1868 /* GL_NV_read_depth_stencil */
1869 #ifndef GL_NV_read_depth_stencil
1870 #define GL_NV_read_depth_stencil 1
1871 #endif
1872 
1873 /* GL_NV_read_stencil */
1874 #ifndef GL_NV_read_stencil
1875 #define GL_NV_read_stencil 1
1876 #endif
1877 
1878 /* GL_NV_shadow_samplers_array */
1879 #ifndef GL_NV_shadow_samplers_array
1880 #define GL_NV_shadow_samplers_array 1
1881 #endif
1882 
1883 /* GL_NV_shadow_samplers_cube */
1884 #ifndef GL_NV_shadow_samplers_cube
1885 #define GL_NV_shadow_samplers_cube 1
1886 #endif
1887 
1888 /* GL_NV_sRGB_formats */
1889 #ifndef GL_NV_sRGB_formats
1890 #define GL_NV_sRGB_formats 1
1891 #endif
1892 
1893 /* GL_NV_texture_border_clamp */
1894 #ifndef GL_NV_texture_border_clamp
1895 #define GL_NV_texture_border_clamp 1
1896 #endif
1897 
1898 /* GL_NV_texture_compression_s3tc_update */
1899 #ifndef GL_NV_texture_compression_s3tc_update
1900 #define GL_NV_texture_compression_s3tc_update 1
1901 #endif
1902 
1903 /* GL_NV_texture_npot_2D_mipmap */
1904 #ifndef GL_NV_texture_npot_2D_mipmap
1905 #define GL_NV_texture_npot_2D_mipmap 1
1906 #endif
1907 
1908 /*------------------------------------------------------------------------*
1909  * QCOM extension functions
1910  *------------------------------------------------------------------------*/
1911 
1912 /* GL_QCOM_alpha_test */
1913 #ifndef GL_QCOM_alpha_test
1914 #define GL_QCOM_alpha_test 1
1915 #ifdef GL_GLEXT_PROTOTYPES
1916 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1917 #endif
1918 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1919 #endif
1920 
1921 /* GL_QCOM_binning_control */
1922 #ifndef GL_QCOM_binning_control
1923 #define GL_QCOM_binning_control 1
1924 #endif
1925 
1926 /* GL_QCOM_driver_control */
1927 #ifndef GL_QCOM_driver_control
1928 #define GL_QCOM_driver_control 1
1929 #ifdef GL_GLEXT_PROTOTYPES
1930 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1931 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1932 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1933 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1934 #endif
1935 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1936 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1937 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1938 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1939 #endif
1940 
1941 /* GL_QCOM_extended_get */
1942 #ifndef GL_QCOM_extended_get
1943 #define GL_QCOM_extended_get 1
1944 #ifdef GL_GLEXT_PROTOTYPES
1945 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1946 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1947 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1948 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1949 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1950 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1951 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);
1952 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1953 #endif
1954 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1955 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1956 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1957 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1958 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1959 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1960 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);
1961 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1962 #endif
1963 
1964 /* GL_QCOM_extended_get2 */
1965 #ifndef GL_QCOM_extended_get2
1966 #define GL_QCOM_extended_get2 1
1967 #ifdef GL_GLEXT_PROTOTYPES
1968 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1969 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1970 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1971 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1972 #endif
1973 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1974 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1975 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1976 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1977 #endif
1978 
1979 /* GL_QCOM_perfmon_global_mode */
1980 #ifndef GL_QCOM_perfmon_global_mode
1981 #define GL_QCOM_perfmon_global_mode 1
1982 #endif
1983 
1984 /* GL_QCOM_writeonly_rendering */
1985 #ifndef GL_QCOM_writeonly_rendering
1986 #define GL_QCOM_writeonly_rendering 1
1987 #endif
1988 
1989 /* GL_QCOM_tiled_rendering */
1990 #ifndef GL_QCOM_tiled_rendering
1991 #define GL_QCOM_tiled_rendering 1
1992 #ifdef GL_GLEXT_PROTOTYPES
1993 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1994 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1995 #endif
1996 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1997 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1998 #endif
1999 
2000 /*------------------------------------------------------------------------*
2001  * VIV extension tokens
2002  *------------------------------------------------------------------------*/
2003 
2004 /* GL_VIV_shader_binary */
2005 #ifndef GL_VIV_shader_binary
2006 #define GL_VIV_shader_binary 1
2007 #endif
2008 
2009 #ifdef __cplusplus
2010 }
2011 #endif
2012 
2013 #endif /* __gl2ext_h_ */
2014