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