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