blob: 8f8d80a1f9971fb60f094fdb74cd804e91befab3 [file] [log] [blame]
Mathias Agopian48efd952009-05-27 20:31:18 -07001#ifndef __gl2ext_h_
Jesse Hall2b2ac212014-05-20 21:59:29 +00002#define __gl2ext_h_
3
4/* $Revision: 16619 $ on $Date:: 2012-01-18 10:00:14 -0800 #$ */
Mathias Agopian48efd952009-05-27 20:31:18 -07005
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10/*
Jesse Hall2b2ac212014-05-20 21:59:29 +000011 * This document is licensed under the SGI Free Software B License Version
12 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
Jesse Hall20670e32014-05-13 21:52:56 -070013 */
Mathias Agopian48efd952009-05-27 20:31:18 -070014
Jesse Hall2b2ac212014-05-20 21:59:29 +000015#ifndef GL_APIENTRYP
16# define GL_APIENTRYP GL_APIENTRY*
Mathias Agopian48efd952009-05-27 20:31:18 -070017#endif
18
Jesse Hall2b2ac212014-05-20 21:59:29 +000019/*------------------------------------------------------------------------*
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
Mathias Agopian48efd952009-05-27 20:31:18 -070026#endif
27
Jesse Hall2b2ac212014-05-20 21:59:29 +000028/* 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
Mathias Agopian48efd952009-05-27 20:31:18 -070041
Jesse Hall2b2ac212014-05-20 21:59:29 +000042/* GL_OES_depth24 */
43#ifndef GL_OES_depth24
44#define GL_DEPTH_COMPONENT24_OES 0x81A6
45#endif
Mathias Agopian48efd952009-05-27 20:31:18 -070046
Jesse Hall2b2ac212014-05-20 21:59:29 +000047/* 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 */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700681#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000687typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
688typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
689#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700690
Jesse Hall2b2ac212014-05-20 21:59:29 +0000691/* GL_OES_EGL_image_external */
Mathias Agopian31272602012-01-28 14:20:59 -0800692#ifndef GL_OES_EGL_image_external
693#define GL_OES_EGL_image_external 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000694/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
695#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800696
Jesse Hall2b2ac212014-05-20 21:59:29 +0000697/* GL_OES_element_index_uint */
Mathias Agopian48efd952009-05-27 20:31:18 -0700698#ifndef GL_OES_element_index_uint
699#define GL_OES_element_index_uint 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000700#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700701
Jesse Hall2b2ac212014-05-20 21:59:29 +0000702/* GL_OES_fbo_render_mipmap */
Mathias Agopian48efd952009-05-27 20:31:18 -0700703#ifndef GL_OES_fbo_render_mipmap
704#define GL_OES_fbo_render_mipmap 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000705#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700706
Jesse Hall2b2ac212014-05-20 21:59:29 +0000707/* GL_OES_fragment_precision_high */
Mathias Agopian48efd952009-05-27 20:31:18 -0700708#ifndef GL_OES_fragment_precision_high
709#define GL_OES_fragment_precision_high 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000710#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700711
Jesse Hall2b2ac212014-05-20 21:59:29 +0000712/* GL_OES_get_program_binary */
Mathias Agopian48efd952009-05-27 20:31:18 -0700713#ifndef GL_OES_get_program_binary
714#define GL_OES_get_program_binary 1
715#ifdef GL_GLEXT_PROTOTYPES
Jesse Hall2b2ac212014-05-20 21:59:29 +0000716GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700718#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +0000719typedef 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
Mathias Agopian48efd952009-05-27 20:31:18 -0700722
Jesse Hall2b2ac212014-05-20 21:59:29 +0000723/* GL_OES_mapbuffer */
Mathias Agopian48efd952009-05-27 20:31:18 -0700724#ifndef GL_OES_mapbuffer
725#define GL_OES_mapbuffer 1
Jesse Hall20670e32014-05-13 21:52:56 -0700726#ifdef GL_GLEXT_PROTOTYPES
Jesse Hall2b2ac212014-05-20 21:59:29 +0000727GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
Jesse Hall20670e32014-05-13 21:52:56 -0700728GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
Jesse Hall2b2ac212014-05-20 21:59:29 +0000729GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
Mathias Agopian48efd952009-05-27 20:31:18 -0700730#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +0000731typedef 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
Mathias Agopian48efd952009-05-27 20:31:18 -0700735
Jesse Hall2b2ac212014-05-20 21:59:29 +0000736/* GL_OES_packed_depth_stencil */
Mathias Agopian48efd952009-05-27 20:31:18 -0700737#ifndef GL_OES_packed_depth_stencil
738#define GL_OES_packed_depth_stencil 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000739#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700740
Jesse Hall2b2ac212014-05-20 21:59:29 +0000741/* GL_OES_rgb8_rgba8 */
Mathias Agopian48efd952009-05-27 20:31:18 -0700742#ifndef GL_OES_rgb8_rgba8
743#define GL_OES_rgb8_rgba8 1
Jesse Hall20670e32014-05-13 21:52:56 -0700744#endif
Jesse Hall20670e32014-05-13 21:52:56 -0700745
Jesse Hall2b2ac212014-05-20 21:59:29 +0000746/* GL_OES_standard_derivatives */
Mathias Agopian48efd952009-05-27 20:31:18 -0700747#ifndef GL_OES_standard_derivatives
748#define GL_OES_standard_derivatives 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000749#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700750
Jesse Hall2b2ac212014-05-20 21:59:29 +0000751/* GL_OES_stencil1 */
Mathias Agopian48efd952009-05-27 20:31:18 -0700752#ifndef GL_OES_stencil1
753#define GL_OES_stencil1 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000754#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700755
Jesse Hall2b2ac212014-05-20 21:59:29 +0000756/* GL_OES_stencil4 */
Mathias Agopian48efd952009-05-27 20:31:18 -0700757#ifndef GL_OES_stencil4
758#define GL_OES_stencil4 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000759#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700760
Jesse Hall2b2ac212014-05-20 21:59:29 +0000761/* GL_OES_texture_3D */
Mathias Agopian48efd952009-05-27 20:31:18 -0700762#ifndef GL_OES_texture_3D
763#define GL_OES_texture_3D 1
764#ifdef GL_GLEXT_PROTOTYPES
Jesse Hall2b2ac212014-05-20 21:59:29 +0000765GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700767GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
Jesse Hall2b2ac212014-05-20 21:59:29 +0000768GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -0700770GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
771#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +0000772typedef 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
Mathias Agopian48efd952009-05-27 20:31:18 -0700779
Jesse Hall2b2ac212014-05-20 21:59:29 +0000780/* GL_OES_texture_float */
Mathias Agopian48efd952009-05-27 20:31:18 -0700781#ifndef GL_OES_texture_float
782#define GL_OES_texture_float 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000783#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700784
Jesse Hall2b2ac212014-05-20 21:59:29 +0000785/* GL_OES_texture_float_linear */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700786#ifndef GL_OES_texture_float_linear
787#define GL_OES_texture_float_linear 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000788#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700789
Jesse Hall2b2ac212014-05-20 21:59:29 +0000790/* GL_OES_texture_half_float */
Mathias Agopian48efd952009-05-27 20:31:18 -0700791#ifndef GL_OES_texture_half_float
792#define GL_OES_texture_half_float 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000793#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700794
Jesse Hall2b2ac212014-05-20 21:59:29 +0000795/* GL_OES_texture_half_float_linear */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700796#ifndef GL_OES_texture_half_float_linear
797#define GL_OES_texture_half_float_linear 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000798#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700799
Jesse Hall2b2ac212014-05-20 21:59:29 +0000800/* GL_OES_texture_npot */
Mathias Agopian48efd952009-05-27 20:31:18 -0700801#ifndef GL_OES_texture_npot
802#define GL_OES_texture_npot 1
Jesse Hall20670e32014-05-13 21:52:56 -0700803#endif
Jesse Hall20670e32014-05-13 21:52:56 -0700804
Jesse Hall2b2ac212014-05-20 21:59:29 +0000805/* GL_OES_vertex_array_object */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700806#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000814typedef 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
Mathias Agopian8f62c302010-06-09 18:08:15 -0700819
Jesse Hall2b2ac212014-05-20 21:59:29 +0000820/* GL_OES_vertex_half_float */
Mathias Agopian48efd952009-05-27 20:31:18 -0700821#ifndef GL_OES_vertex_half_float
822#define GL_OES_vertex_half_float 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000823#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700824
Jesse Hall2b2ac212014-05-20 21:59:29 +0000825/* GL_OES_vertex_type_10_10_10_2 */
Mathias Agopian48efd952009-05-27 20:31:18 -0700826#ifndef GL_OES_vertex_type_10_10_10_2
827#define GL_OES_vertex_type_10_10_10_2 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000828#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700829
Jesse Hall2b2ac212014-05-20 21:59:29 +0000830/*------------------------------------------------------------------------*
831 * AMD extension functions
832 *------------------------------------------------------------------------*/
833
834/* GL_AMD_compressed_3DC_texture */
Mathias Agopian48efd952009-05-27 20:31:18 -0700835#ifndef GL_AMD_compressed_3DC_texture
836#define GL_AMD_compressed_3DC_texture 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000837#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700838
Jesse Hall2b2ac212014-05-20 21:59:29 +0000839/* GL_AMD_compressed_ATC_texture */
Mathias Agopian48efd952009-05-27 20:31:18 -0700840#ifndef GL_AMD_compressed_ATC_texture
841#define GL_AMD_compressed_ATC_texture 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000842#endif
Mathias Agopian48efd952009-05-27 20:31:18 -0700843
Jesse Hall2b2ac212014-05-20 21:59:29 +0000844/* AMD_performance_monitor */
Mathias Agopian48efd952009-05-27 20:31:18 -0700845#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);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700850GL_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);
Jesse Hall2b2ac212014-05-20 21:59:29 +0000852GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
Mathias Agopian48efd952009-05-27 20:31:18 -0700853GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
854GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
Jesse Hall2b2ac212014-05-20 21:59:29 +0000855GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
Mathias Agopian48efd952009-05-27 20:31:18 -0700856GL_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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000860typedef 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
Mathias Agopian48efd952009-05-27 20:31:18 -0700872
Jesse Hall2b2ac212014-05-20 21:59:29 +0000873/* GL_AMD_program_binary_Z400 */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700874#ifndef GL_AMD_program_binary_Z400
875#define GL_AMD_program_binary_Z400 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000876#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700877
Jesse Hall2b2ac212014-05-20 21:59:29 +0000878/*------------------------------------------------------------------------*
879 * ANGLE extension functions
880 *------------------------------------------------------------------------*/
Mathias Agopian31272602012-01-28 14:20:59 -0800881
Jesse Hall2b2ac212014-05-20 21:59:29 +0000882/* GL_ANGLE_framebuffer_blit */
Mathias Agopian31272602012-01-28 14:20:59 -0800883#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000888typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -0800890
Jesse Hall2b2ac212014-05-20 21:59:29 +0000891/* GL_ANGLE_framebuffer_multisample */
Mathias Agopian31272602012-01-28 14:20:59 -0800892#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000897typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Mathias Agopian31272602012-01-28 14:20:59 -0800898#endif
899
Jesse Hall2b2ac212014-05-20 21:59:29 +0000900/*------------------------------------------------------------------------*
901 * APPLE extension functions
902 *------------------------------------------------------------------------*/
Mathias Agopian31272602012-01-28 14:20:59 -0800903
Jesse Hall2b2ac212014-05-20 21:59:29 +0000904/* GL_APPLE_rgb_422 */
905#ifndef GL_APPLE_rgb_422
906#define GL_APPLE_rgb_422 1
Mathias Agopian31272602012-01-28 14:20:59 -0800907#endif
908
Jesse Hall2b2ac212014-05-20 21:59:29 +0000909/* GL_APPLE_framebuffer_multisample */
Mathias Agopian31272602012-01-28 14:20:59 -0800910#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);
Jesse Hall2b2ac212014-05-20 21:59:29 +0000915#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);
Mathias Agopian31272602012-01-28 14:20:59 -0800918#endif
919
Jesse Hall2b2ac212014-05-20 21:59:29 +0000920/* GL_APPLE_texture_format_BGRA8888 */
Mathias Agopian31272602012-01-28 14:20:59 -0800921#ifndef GL_APPLE_texture_format_BGRA8888
922#define GL_APPLE_texture_format_BGRA8888 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000923#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800924
Jesse Hall2b2ac212014-05-20 21:59:29 +0000925/* GL_APPLE_texture_max_level */
Mathias Agopian31272602012-01-28 14:20:59 -0800926#ifndef GL_APPLE_texture_max_level
927#define GL_APPLE_texture_max_level 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000928#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800929
Jesse Hall2b2ac212014-05-20 21:59:29 +0000930/*------------------------------------------------------------------------*
931 * ARM extension functions
932 *------------------------------------------------------------------------*/
Mathias Agopian31272602012-01-28 14:20:59 -0800933
Jesse Hall2b2ac212014-05-20 21:59:29 +0000934/* GL_ARM_mali_shader_binary */
Mathias Agopian31272602012-01-28 14:20:59 -0800935#ifndef GL_ARM_mali_shader_binary
936#define GL_ARM_mali_shader_binary 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000937#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800938
Jesse Hall2b2ac212014-05-20 21:59:29 +0000939/* GL_ARM_rgba8 */
Mathias Agopian31272602012-01-28 14:20:59 -0800940#ifndef GL_ARM_rgba8
941#define GL_ARM_rgba8 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000942#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800943
Jesse Hall2b2ac212014-05-20 21:59:29 +0000944/*------------------------------------------------------------------------*
945 * EXT extension functions
946 *------------------------------------------------------------------------*/
Mathias Agopian48efd952009-05-27 20:31:18 -0700947
Jesse Hall2b2ac212014-05-20 21:59:29 +0000948/* GL_EXT_blend_minmax */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700949#ifndef GL_EXT_blend_minmax
950#define GL_EXT_blend_minmax 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000951#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700952
Jesse Hall2b2ac212014-05-20 21:59:29 +0000953/* GL_EXT_color_buffer_half_float */
Mathias Agopian31272602012-01-28 14:20:59 -0800954#ifndef GL_EXT_color_buffer_half_float
955#define GL_EXT_color_buffer_half_float 1
Jesse Hall2b2ac212014-05-20 21:59:29 +0000956#endif
Mathias Agopian31272602012-01-28 14:20:59 -0800957
Jesse Hall2b2ac212014-05-20 21:59:29 +0000958/* GL_EXT_debug_label */
Mathias Agopian31272602012-01-28 14:20:59 -0800959#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000965typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -0800968
Jesse Hall2b2ac212014-05-20 21:59:29 +0000969/* GL_EXT_debug_marker */
Mathias Agopian31272602012-01-28 14:20:59 -0800970#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000977typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -0800981
Jesse Hall2b2ac212014-05-20 21:59:29 +0000982/* GL_EXT_discard_framebuffer */
Mathias Agopian8f62c302010-06-09 18:08:15 -0700983#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
Jesse Hall2b2ac212014-05-20 21:59:29 +0000988typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
989#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -0700990
Jesse Hall2b2ac212014-05-20 21:59:29 +0000991/* 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
Mathias Agopian31272602012-01-28 14:20:59 -08001015#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001024typedef 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);
Jesse Hall20670e32014-05-13 21:52:56 -07001031#endif
Jesse Hall20670e32014-05-13 21:52:56 -07001032
Jesse Hall2b2ac212014-05-20 21:59:29 +00001033/* GL_EXT_read_format_bgra */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001034#ifndef GL_EXT_read_format_bgra
1035#define GL_EXT_read_format_bgra 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001036#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -07001037
Jesse Hall2b2ac212014-05-20 21:59:29 +00001038/* GL_EXT_robustness */
Mathias Agopian31272602012-01-28 14:20:59 -08001039#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);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001044GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
Mathias Agopian31272602012-01-28 14:20:59 -08001045GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1046#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001047typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -08001052
Jesse Hall2b2ac212014-05-20 21:59:29 +00001053/* GL_EXT_separate_shader_objects */
Mathias Agopian31272602012-01-28 14:20:59 -08001054#ifndef GL_EXT_separate_shader_objects
1055#define GL_EXT_separate_shader_objects 1
Jesse Hall20670e32014-05-13 21:52:56 -07001056#ifdef GL_GLEXT_PROTOTYPES
Jesse Hall2b2ac212014-05-20 21:59:29 +00001057GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
Jesse Hall20670e32014-05-13 21:52:56 -07001058GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
Jesse Hall20670e32014-05-13 21:52:56 -07001059GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001060GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
Jesse Hall20670e32014-05-13 21:52:56 -07001061GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1062GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
Jesse Hall20670e32014-05-13 21:52:56 -07001063GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1064GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001065GL_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);
Jesse Hall20670e32014-05-13 21:52:56 -07001074GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
Jesse Hall20670e32014-05-13 21:52:56 -07001075GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
Jesse Hall20670e32014-05-13 21:52:56 -07001076GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
Jesse Hall20670e32014-05-13 21:52:56 -07001077GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001078GL_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);
Jesse Hall20670e32014-05-13 21:52:56 -07001082GL_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);
Jesse Hall20670e32014-05-13 21:52:56 -07001085GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001086GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
Mathias Agopian31272602012-01-28 14:20:59 -08001087#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001088typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -08001119
Jesse Hall2b2ac212014-05-20 21:59:29 +00001120/* GL_EXT_shader_texture_lod */
Mathias Agopian31272602012-01-28 14:20:59 -08001121#ifndef GL_EXT_shader_texture_lod
1122#define GL_EXT_shader_texture_lod 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001123#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001124
Jesse Hall2b2ac212014-05-20 21:59:29 +00001125/* GL_EXT_shadow_samplers */
Mathias Agopian31272602012-01-28 14:20:59 -08001126#ifndef GL_EXT_shadow_samplers
1127#define GL_EXT_shadow_samplers 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001128#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001129
Jesse Hall2b2ac212014-05-20 21:59:29 +00001130/* GL_EXT_sRGB */
1131#ifndef GL_EXT_sRGB
1132#define GL_EXT_sRGB 1
1133#endif
1134
1135/* GL_EXT_texture_compression_dxt1 */
Mathias Agopian31272602012-01-28 14:20:59 -08001136#ifndef GL_EXT_texture_compression_dxt1
1137#define GL_EXT_texture_compression_dxt1 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001138#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001139
Jesse Hall2b2ac212014-05-20 21:59:29 +00001140/* GL_EXT_texture_filter_anisotropic */
Mathias Agopian48efd952009-05-27 20:31:18 -07001141#ifndef GL_EXT_texture_filter_anisotropic
1142#define GL_EXT_texture_filter_anisotropic 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001143#endif
Mathias Agopian48efd952009-05-27 20:31:18 -07001144
Jesse Hall2b2ac212014-05-20 21:59:29 +00001145/* GL_EXT_texture_format_BGRA8888 */
Mathias Agopian48efd952009-05-27 20:31:18 -07001146#ifndef GL_EXT_texture_format_BGRA8888
1147#define GL_EXT_texture_format_BGRA8888 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001148#endif
Mathias Agopian48efd952009-05-27 20:31:18 -07001149
Jesse Hall2b2ac212014-05-20 21:59:29 +00001150/* GL_EXT_texture_rg */
Mathias Agopian31272602012-01-28 14:20:59 -08001151#ifndef GL_EXT_texture_rg
1152#define GL_EXT_texture_rg 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001153#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001154
Jesse Hall2b2ac212014-05-20 21:59:29 +00001155/* GL_EXT_texture_storage */
Mathias Agopian31272602012-01-28 14:20:59 -08001156#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001166typedef 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
Mathias Agopian31272602012-01-28 14:20:59 -08001173
Jesse Hall2b2ac212014-05-20 21:59:29 +00001174/* GL_EXT_texture_type_2_10_10_10_REV */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001175#ifndef GL_EXT_texture_type_2_10_10_10_REV
1176#define GL_EXT_texture_type_2_10_10_10_REV 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001177#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -07001178
Jesse Hall2b2ac212014-05-20 21:59:29 +00001179/* GL_EXT_unpack_subimage */
Mathias Agopian31272602012-01-28 14:20:59 -08001180#ifndef GL_EXT_unpack_subimage
1181#define GL_EXT_unpack_subimage 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001182#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001183
Jesse Hall2b2ac212014-05-20 21:59:29 +00001184/*------------------------------------------------------------------------*
1185 * DMP extension functions
1186 *------------------------------------------------------------------------*/
Mathias Agopian31272602012-01-28 14:20:59 -08001187
Jesse Hall2b2ac212014-05-20 21:59:29 +00001188/* 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 */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001218#ifndef GL_IMG_multisampled_render_to_texture
1219#define GL_IMG_multisampled_render_to_texture 1
1220#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -07001221GL_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);
Mathias Agopian8f62c302010-06-09 18:08:15 -07001223#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001224typedef 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);
Mathias Agopian8f62c302010-06-09 18:08:15 -07001226#endif
1227
Jesse Hall2b2ac212014-05-20 21:59:29 +00001228/*------------------------------------------------------------------------*
1229 * NV extension functions
1230 *------------------------------------------------------------------------*/
Mathias Agopian48efd952009-05-27 20:31:18 -07001231
Jesse Hall2b2ac212014-05-20 21:59:29 +00001232/* GL_NV_coverage_sample */
Mathias Agopian31272602012-01-28 14:20:59 -08001233#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001239typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1240typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1241#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001242
Jesse Hall2b2ac212014-05-20 21:59:29 +00001243/* GL_NV_depth_nonlinear */
Mathias Agopian31272602012-01-28 14:20:59 -08001244#ifndef GL_NV_depth_nonlinear
1245#define GL_NV_depth_nonlinear 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001246#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001247
Jesse Hall2b2ac212014-05-20 21:59:29 +00001248/* GL_NV_draw_buffers */
Mathias Agopian31272602012-01-28 14:20:59 -08001249#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001254typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
Jesse Hall20670e32014-05-13 21:52:56 -07001255#endif
Jesse Hall20670e32014-05-13 21:52:56 -07001256
Jesse Hall2b2ac212014-05-20 21:59:29 +00001257/* GL_NV_fbo_color_attachments */
Mathias Agopian31272602012-01-28 14:20:59 -08001258#ifndef GL_NV_fbo_color_attachments
1259#define GL_NV_fbo_color_attachments 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001260#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001261
Jesse Hall2b2ac212014-05-20 21:59:29 +00001262/* GL_NV_fence */
Mathias Agopian48efd952009-05-27 20:31:18 -07001263#ifndef GL_NV_fence
1264#define GL_NV_fence 1
1265#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -07001266GL_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);
Mathias Agopian48efd952009-05-27 20:31:18 -07001273#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001274typedef 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);
Jesse Hall20670e32014-05-13 21:52:56 -07001281#endif
Jesse Hall20670e32014-05-13 21:52:56 -07001282
Jesse Hall2b2ac212014-05-20 21:59:29 +00001283/* GL_NV_read_buffer */
Mathias Agopian31272602012-01-28 14:20:59 -08001284#ifndef GL_NV_read_buffer
1285#define GL_NV_read_buffer 1
Mathias Agopian8f62c302010-06-09 18:08:15 -07001286#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian31272602012-01-28 14:20:59 -08001287GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
Mathias Agopian8f62c302010-06-09 18:08:15 -07001288#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001289typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1290#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -07001291
Jesse Hall2b2ac212014-05-20 21:59:29 +00001292/* GL_NV_read_buffer_front */
Mathias Agopian31272602012-01-28 14:20:59 -08001293#ifndef GL_NV_read_buffer_front
1294#define GL_NV_read_buffer_front 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001295#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001296
Jesse Hall2b2ac212014-05-20 21:59:29 +00001297/* GL_NV_read_depth */
Mathias Agopian31272602012-01-28 14:20:59 -08001298#ifndef GL_NV_read_depth
1299#define GL_NV_read_depth 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001300#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001301
Jesse Hall2b2ac212014-05-20 21:59:29 +00001302/* GL_NV_read_depth_stencil */
Mathias Agopian31272602012-01-28 14:20:59 -08001303#ifndef GL_NV_read_depth_stencil
1304#define GL_NV_read_depth_stencil 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001305#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001306
Jesse Hall2b2ac212014-05-20 21:59:29 +00001307/* GL_NV_read_stencil */
Mathias Agopian31272602012-01-28 14:20:59 -08001308#ifndef GL_NV_read_stencil
1309#define GL_NV_read_stencil 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001310#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001311
Jesse Hall2b2ac212014-05-20 21:59:29 +00001312/* GL_NV_texture_compression_s3tc_update */
Mathias Agopian31272602012-01-28 14:20:59 -08001313#ifndef GL_NV_texture_compression_s3tc_update
1314#define GL_NV_texture_compression_s3tc_update 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001315#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001316
Jesse Hall2b2ac212014-05-20 21:59:29 +00001317/* GL_NV_texture_npot_2D_mipmap */
Mathias Agopian31272602012-01-28 14:20:59 -08001318#ifndef GL_NV_texture_npot_2D_mipmap
1319#define GL_NV_texture_npot_2D_mipmap 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001320#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -07001321
Jesse Hall2b2ac212014-05-20 21:59:29 +00001322/*------------------------------------------------------------------------*
1323 * QCOM extension functions
1324 *------------------------------------------------------------------------*/
1325
1326/* GL_QCOM_alpha_test */
Mathias Agopian31272602012-01-28 14:20:59 -08001327#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001332typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1333#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001334
Jesse Hall2b2ac212014-05-20 21:59:29 +00001335/* GL_QCOM_driver_control */
Mathias Agopian48efd952009-05-27 20:31:18 -07001336#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);
Mathias Agopian8f62c302010-06-09 18:08:15 -07001340GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
Mathias Agopian48efd952009-05-27 20:31:18 -07001341GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1342GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1343#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001344typedef 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
Mathias Agopian48efd952009-05-27 20:31:18 -07001349
Jesse Hall2b2ac212014-05-20 21:59:29 +00001350/* GL_QCOM_extended_get */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001351#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);
Jesse Hall2b2ac212014-05-20 21:59:29 +00001360GL_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);
Mathias Agopian8f62c302010-06-09 18:08:15 -07001362#endif
Jesse Hall2b2ac212014-05-20 21:59:29 +00001363typedef 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
Mathias Agopian8f62c302010-06-09 18:08:15 -07001372
Jesse Hall2b2ac212014-05-20 21:59:29 +00001373/* GL_QCOM_extended_get2 */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001374#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001382typedef 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
Mathias Agopian8f62c302010-06-09 18:08:15 -07001387
Jesse Hall2b2ac212014-05-20 21:59:29 +00001388/* GL_QCOM_perfmon_global_mode */
Mathias Agopian48efd952009-05-27 20:31:18 -07001389#ifndef GL_QCOM_perfmon_global_mode
1390#define GL_QCOM_perfmon_global_mode 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001391#endif
Mathias Agopian48efd952009-05-27 20:31:18 -07001392
Jesse Hall2b2ac212014-05-20 21:59:29 +00001393/* 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 */
Mathias Agopian8f62c302010-06-09 18:08:15 -07001399#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
Jesse Hall2b2ac212014-05-20 21:59:29 +00001405typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1406typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1407#endif
Mathias Agopian8f62c302010-06-09 18:08:15 -07001408
Jesse Hall2b2ac212014-05-20 21:59:29 +00001409/*------------------------------------------------------------------------*
1410 * VIV extension tokens
1411 *------------------------------------------------------------------------*/
Mathias Agopian31272602012-01-28 14:20:59 -08001412
Jesse Hall2b2ac212014-05-20 21:59:29 +00001413/* GL_VIV_shader_binary */
Mathias Agopian31272602012-01-28 14:20:59 -08001414#ifndef GL_VIV_shader_binary
1415#define GL_VIV_shader_binary 1
Jesse Hall2b2ac212014-05-20 21:59:29 +00001416#endif
Mathias Agopian31272602012-01-28 14:20:59 -08001417
Mathias Agopian48efd952009-05-27 20:31:18 -07001418#ifdef __cplusplus
1419}
1420#endif
1421
Jesse Hall2b2ac212014-05-20 21:59:29 +00001422#endif /* __gl2ext_h_ */