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