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