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