glext.h revision 3703f7f014846b8bf83e08a8bf25450dd0dcd7af
1#ifndef __glext_h_
2#define __glext_h_
3
4/* $Revision: 20798 $ on $Date:: 2013-03-07 01:19:34 -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_blend_equation_separate */
24#ifndef GL_OES_blend_equation_separate
25/* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */
26#define GL_BLEND_EQUATION_RGB_OES                               0x8009
27#define GL_BLEND_EQUATION_ALPHA_OES                             0x883D
28#endif
29
30/* GL_OES_blend_func_separate */
31#ifndef GL_OES_blend_func_separate
32#define GL_BLEND_DST_RGB_OES                                    0x80C8
33#define GL_BLEND_SRC_RGB_OES                                    0x80C9
34#define GL_BLEND_DST_ALPHA_OES                                  0x80CA
35#define GL_BLEND_SRC_ALPHA_OES                                  0x80CB
36#endif
37
38/* GL_OES_blend_subtract */
39#ifndef GL_OES_blend_subtract
40#define GL_BLEND_EQUATION_OES                                   0x8009
41#define GL_FUNC_ADD_OES                                         0x8006
42#define GL_FUNC_SUBTRACT_OES                                    0x800A
43#define GL_FUNC_REVERSE_SUBTRACT_OES                            0x800B
44#endif
45
46/* GL_OES_compressed_ETC1_RGB8_texture */
47#ifndef GL_OES_compressed_ETC1_RGB8_texture
48#define GL_ETC1_RGB8_OES                                        0x8D64
49#endif
50
51/* GL_OES_depth24 */
52#ifndef GL_OES_depth24
53#define GL_DEPTH_COMPONENT24_OES                                0x81A6
54#endif
55
56/* GL_OES_depth32 */
57#ifndef GL_OES_depth32
58#define GL_DEPTH_COMPONENT32_OES                                0x81A7
59#endif
60
61/* GL_OES_draw_texture */
62#ifndef GL_OES_draw_texture
63#define GL_TEXTURE_CROP_RECT_OES                                0x8B9D
64#endif
65
66/* GL_OES_EGL_image */
67#ifndef GL_OES_EGL_image
68typedef void* GLeglImageOES;
69#endif
70
71/* GL_OES_EGL_image_external */
72#ifndef GL_OES_EGL_image_external
73/* GLeglImageOES defined in GL_OES_EGL_image already. */
74#define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
75#define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
76#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
77#endif
78
79/* GL_OES_element_index_uint */
80#ifndef GL_OES_element_index_uint
81#define GL_UNSIGNED_INT                                         0x1405
82#endif
83
84/* GL_OES_fixed_point */
85#ifndef GL_OES_fixed_point
86#define GL_FIXED_OES                                            0x140C
87#endif
88
89/* GL_OES_framebuffer_object */
90#ifndef GL_OES_framebuffer_object
91#define GL_NONE_OES                                             0
92#define GL_FRAMEBUFFER_OES                                      0x8D40
93#define GL_RENDERBUFFER_OES                                     0x8D41
94#define GL_RGBA4_OES                                            0x8056
95#define GL_RGB5_A1_OES                                          0x8057
96#define GL_RGB565_OES                                           0x8D62
97#define GL_DEPTH_COMPONENT16_OES                                0x81A5
98#define GL_RENDERBUFFER_WIDTH_OES                               0x8D42
99#define GL_RENDERBUFFER_HEIGHT_OES                              0x8D43
100#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                     0x8D44
101#define GL_RENDERBUFFER_RED_SIZE_OES                            0x8D50
102#define GL_RENDERBUFFER_GREEN_SIZE_OES                          0x8D51
103#define GL_RENDERBUFFER_BLUE_SIZE_OES                           0x8D52
104#define GL_RENDERBUFFER_ALPHA_SIZE_OES                          0x8D53
105#define GL_RENDERBUFFER_DEPTH_SIZE_OES                          0x8D54
106#define GL_RENDERBUFFER_STENCIL_SIZE_OES                        0x8D55
107#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES               0x8CD0
108#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES               0x8CD1
109#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES             0x8CD2
110#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES     0x8CD3
111#define GL_COLOR_ATTACHMENT0_OES                                0x8CE0
112#define GL_DEPTH_ATTACHMENT_OES                                 0x8D00
113#define GL_STENCIL_ATTACHMENT_OES                               0x8D20
114#define GL_FRAMEBUFFER_COMPLETE_OES                             0x8CD5
115#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                0x8CD6
116#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES        0x8CD7
117#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                0x8CD9
118#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                   0x8CDA
119#define GL_FRAMEBUFFER_UNSUPPORTED_OES                          0x8CDD
120#define GL_FRAMEBUFFER_BINDING_OES                              0x8CA6
121#define GL_RENDERBUFFER_BINDING_OES                             0x8CA7
122#define GL_MAX_RENDERBUFFER_SIZE_OES                            0x84E8
123#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                    0x0506
124#endif
125
126/* GL_OES_mapbuffer */
127#ifndef GL_OES_mapbuffer
128#define GL_WRITE_ONLY_OES                                       0x88B9
129#define GL_BUFFER_ACCESS_OES                                    0x88BB
130#define GL_BUFFER_MAPPED_OES                                    0x88BC
131#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
132#endif
133
134/* GL_OES_matrix_get */
135#ifndef GL_OES_matrix_get
136#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES               0x898D
137#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES              0x898E
138#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                 0x898F
139#endif
140
141/* GL_OES_matrix_palette */
142#ifndef GL_OES_matrix_palette
143#define GL_MAX_VERTEX_UNITS_OES                                 0x86A4
144#define GL_MAX_PALETTE_MATRICES_OES                             0x8842
145#define GL_MATRIX_PALETTE_OES                                   0x8840
146#define GL_MATRIX_INDEX_ARRAY_OES                               0x8844
147#define GL_WEIGHT_ARRAY_OES                                     0x86AD
148#define GL_CURRENT_PALETTE_MATRIX_OES                           0x8843
149#define GL_MATRIX_INDEX_ARRAY_SIZE_OES                          0x8846
150#define GL_MATRIX_INDEX_ARRAY_TYPE_OES                          0x8847
151#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                        0x8848
152#define GL_MATRIX_INDEX_ARRAY_POINTER_OES                       0x8849
153#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                0x8B9E
154#define GL_WEIGHT_ARRAY_SIZE_OES                                0x86AB
155#define GL_WEIGHT_ARRAY_TYPE_OES                                0x86A9
156#define GL_WEIGHT_ARRAY_STRIDE_OES                              0x86AA
157#define GL_WEIGHT_ARRAY_POINTER_OES                             0x86AC
158#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                      0x889E
159#endif
160
161/* GL_OES_packed_depth_stencil */
162#ifndef GL_OES_packed_depth_stencil
163#define GL_DEPTH_STENCIL_OES                                    0x84F9
164#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
165#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
166#endif
167
168/* GL_OES_required_internalformat */
169/* No new tokens introduced by this extension. */
170
171/* GL_OES_rgb8_rgba8 */
172#ifndef GL_OES_rgb8_rgba8
173#define GL_RGB8_OES                                             0x8051
174#define GL_RGBA8_OES                                            0x8058
175#endif
176
177/* GL_OES_stencil1 */
178#ifndef GL_OES_stencil1
179#define GL_STENCIL_INDEX1_OES                                   0x8D46
180#endif
181
182/* GL_OES_stencil4 */
183#ifndef GL_OES_stencil4
184#define GL_STENCIL_INDEX4_OES                                   0x8D47
185#endif
186
187/* GL_OES_stencil8 */
188#ifndef GL_OES_stencil8
189#define GL_STENCIL_INDEX8_OES                                   0x8D48
190#endif
191
192/* GL_OES_stencil_wrap */
193#ifndef GL_OES_stencil_wrap
194#define GL_INCR_WRAP_OES                                        0x8507
195#define GL_DECR_WRAP_OES                                        0x8508
196#endif
197
198/* GL_OES_texture_cube_map */
199#ifndef GL_OES_texture_cube_map
200#define GL_NORMAL_MAP_OES                                       0x8511
201#define GL_REFLECTION_MAP_OES                                   0x8512
202#define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
203#define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
204#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
205#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
206#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
207#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
208#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
209#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
210#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
211#define GL_TEXTURE_GEN_MODE_OES                                 0x2500
212#define GL_TEXTURE_GEN_STR_OES                                  0x8D60
213#endif
214
215/* GL_OES_texture_mirrored_repeat */
216#ifndef GL_OES_texture_mirrored_repeat
217#define GL_MIRRORED_REPEAT_OES                                  0x8370
218#endif
219
220/* GL_OES_vertex_array_object */
221#ifndef GL_OES_vertex_array_object
222#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
223#endif
224
225/*------------------------------------------------------------------------*
226 * AMD extension tokens
227 *------------------------------------------------------------------------*/
228
229/* GL_AMD_compressed_3DC_texture */
230#ifndef GL_AMD_compressed_3DC_texture
231#define GL_3DC_X_AMD                                            0x87F9
232#define GL_3DC_XY_AMD                                           0x87FA
233#endif
234
235/* GL_AMD_compressed_ATC_texture */
236#ifndef GL_AMD_compressed_ATC_texture
237#define GL_ATC_RGB_AMD                                          0x8C92
238#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
239#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
240#endif
241
242/*------------------------------------------------------------------------*
243 * APPLE extension tokens
244 *------------------------------------------------------------------------*/
245
246/* GL_APPLE_copy_texture_levels */
247/* No new tokens introduced by this extension. */
248
249/* GL_APPLE_framebuffer_multisample */
250#ifndef GL_APPLE_framebuffer_multisample
251#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
252#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
253#define GL_MAX_SAMPLES_APPLE                                    0x8D57
254#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
255#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
256#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
257#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
258#endif
259
260/* GL_APPLE_sync */
261#ifndef GL_APPLE_sync
262
263/* These types are defined with reference to <inttypes.h>
264 * in the Apple extension spec, but here we use the Khronos
265 * portable types in khrplatform.h, and assume those types
266 * are always defined.
267 * If any other extensions using these types are defined,
268 * the typedefs must move out of this block and be shared.
269 */
270typedef khronos_int64_t GLint64;
271typedef khronos_uint64_t GLuint64;
272typedef struct __GLsync *GLsync;
273
274#define GL_SYNC_OBJECT_APPLE                                    0x8A53
275#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                        0x9111
276#define GL_OBJECT_TYPE_APPLE                                    0x9112
277#define GL_SYNC_CONDITION_APPLE                                 0x9113
278#define GL_SYNC_STATUS_APPLE                                    0x9114
279#define GL_SYNC_FLAGS_APPLE                                     0x9115
280#define GL_SYNC_FENCE_APPLE                                     0x9116
281#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                     0x9117
282#define GL_UNSIGNALED_APPLE                                     0x9118
283#define GL_SIGNALED_APPLE                                       0x9119
284#define GL_ALREADY_SIGNALED_APPLE                               0x911A
285#define GL_TIMEOUT_EXPIRED_APPLE                                0x911B
286#define GL_CONDITION_SATISFIED_APPLE                            0x911C
287#define GL_WAIT_FAILED_APPLE                                    0x911D
288#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                        0x00000001
289#define GL_TIMEOUT_IGNORED_APPLE                                0xFFFFFFFFFFFFFFFFull
290#endif
291
292/* GL_APPLE_texture_2D_limited_npot */
293/* No new tokens introduced by this extension. */
294
295/* GL_APPLE_texture_format_BGRA8888 */
296#ifndef GL_APPLE_texture_format_BGRA8888
297#define GL_BGRA_EXT                                             0x80E1
298#endif
299
300/* GL_APPLE_texture_max_level */
301#ifndef GL_APPLE_texture_max_level
302#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
303#endif
304
305/*------------------------------------------------------------------------*
306 * ARM extension tokens
307 *------------------------------------------------------------------------*/
308
309/* GL_ARM_rgba8 */
310/* No new tokens introduced by this extension. */
311
312/*------------------------------------------------------------------------*
313 * EXT extension tokens
314 *------------------------------------------------------------------------*/
315
316/* GL_EXT_blend_minmax */
317#ifndef GL_EXT_blend_minmax
318#define GL_MIN_EXT                                              0x8007
319#define GL_MAX_EXT                                              0x8008
320#endif
321
322/* GL_EXT_discard_framebuffer */
323#ifndef GL_EXT_discard_framebuffer
324#define GL_COLOR_EXT                                            0x1800
325#define GL_DEPTH_EXT                                            0x1801
326#define GL_STENCIL_EXT                                          0x1802
327#endif
328
329/* GL_EXT_map_buffer_range */
330#ifndef GL_EXT_map_buffer_range
331#define GL_MAP_READ_BIT_EXT                                     0x0001
332#define GL_MAP_WRITE_BIT_EXT                                    0x0002
333#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                         0x0004
334#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                        0x0008
335#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                           0x0010
336#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                           0x0020
337#endif
338
339/* GL_EXT_multisampled_render_to_texture */
340#ifndef GL_EXT_multisampled_render_to_texture
341#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT           0x8D6C
342/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */
343#define GL_RENDERBUFFER_SAMPLES_EXT                             0x8CAB
344#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT               0x8D56
345#define GL_MAX_SAMPLES_EXT                                      0x8D57
346#endif
347
348/* GL_EXT_multi_draw_arrays */
349/* No new tokens introduced by this extension. */
350
351/* GL_EXT_read_format_bgra */
352#ifndef GL_EXT_read_format_bgra
353#define GL_BGRA_EXT                                             0x80E1
354#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
355#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
356#endif
357
358/* GL_EXT_robustness */
359#ifndef GL_EXT_robustness
360/* reuse GL_NO_ERROR */
361#define GL_GUILTY_CONTEXT_RESET_EXT                             0x8253
362#define GL_INNOCENT_CONTEXT_RESET_EXT                           0x8254
363#define GL_UNKNOWN_CONTEXT_RESET_EXT                            0x8255
364#define GL_CONTEXT_ROBUST_ACCESS_EXT                            0x90F3
365#define GL_RESET_NOTIFICATION_STRATEGY_EXT                      0x8256
366#define GL_LOSE_CONTEXT_ON_RESET_EXT                            0x8252
367#define GL_NO_RESET_NOTIFICATION_EXT                            0x8261
368#endif
369
370/* GL_EXT_sRGB */
371#ifndef GL_EXT_sRGB
372#define GL_SRGB_EXT                                             0x8C40
373#define GL_SRGB_ALPHA_EXT                                       0x8C42
374#define GL_SRGB8_ALPHA8_EXT                                     0x8C43
375#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT            0x8210
376#endif
377
378/* GL_EXT_texture_compression_dxt1 */
379#ifndef GL_EXT_texture_compression_dxt1
380#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
381#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
382#endif
383
384/* GL_EXT_texture_filter_anisotropic */
385#ifndef GL_EXT_texture_filter_anisotropic
386#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
387#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
388#endif
389
390/* GL_EXT_texture_format_BGRA8888 */
391#ifndef GL_EXT_texture_format_BGRA8888
392#define GL_BGRA_EXT                                             0x80E1
393#endif
394
395/* GL_EXT_texture_lod_bias */
396#ifndef GL_EXT_texture_lod_bias
397#define GL_MAX_TEXTURE_LOD_BIAS_EXT                             0x84FD
398#define GL_TEXTURE_FILTER_CONTROL_EXT                           0x8500
399#define GL_TEXTURE_LOD_BIAS_EXT                                 0x8501
400#endif
401
402/* GL_EXT_texture_storage */
403#ifndef GL_EXT_texture_storage
404#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                         0x912F
405#define GL_ALPHA8_EXT                                           0x803C
406#define GL_LUMINANCE8_EXT                                       0x8040
407#define GL_LUMINANCE8_ALPHA8_EXT                                0x8045
408#define GL_RGBA32F_EXT                                          0x8814
409#define GL_RGB32F_EXT                                           0x8815
410#define GL_ALPHA32F_EXT                                         0x8816
411#define GL_LUMINANCE32F_EXT                                     0x8818
412#define GL_LUMINANCE_ALPHA32F_EXT                               0x8819
413/* reuse GL_RGBA16F_EXT */
414#define GL_RGB16F_EXT                                           0x881B
415#define GL_ALPHA16F_EXT                                         0x881C
416#define GL_LUMINANCE16F_EXT                                     0x881E
417#define GL_LUMINANCE_ALPHA16F_EXT                               0x881F
418#define GL_RGB10_A2_EXT                                         0x8059
419#define GL_RGB10_EXT                                            0x8052
420#define GL_BGRA8_EXT                                            0x93A1
421#endif
422
423/*------------------------------------------------------------------------*
424 * IMG extension tokens
425 *------------------------------------------------------------------------*/
426
427/* GL_IMG_read_format */
428#ifndef GL_IMG_read_format
429#define GL_BGRA_IMG                                             0x80E1
430#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
431#endif
432
433/* GL_IMG_texture_compression_pvrtc */
434#ifndef GL_IMG_texture_compression_pvrtc
435#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
436#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
437#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
438#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
439#endif
440
441/* GL_IMG_texture_env_enhanced_fixed_function */
442#ifndef GL_IMG_texture_env_enhanced_fixed_function
443#define GL_MODULATE_COLOR_IMG                                   0x8C04
444#define GL_RECIP_ADD_SIGNED_ALPHA_IMG                           0x8C05
445#define GL_TEXTURE_ALPHA_MODULATE_IMG                           0x8C06
446#define GL_FACTOR_ALPHA_MODULATE_IMG                            0x8C07
447#define GL_FRAGMENT_ALPHA_MODULATE_IMG                          0x8C08
448#define GL_ADD_BLEND_IMG                                        0x8C09
449#define GL_DOT3_RGBA_IMG                                        0x86AF
450#endif
451
452/* GL_IMG_user_clip_plane */
453#ifndef GL_IMG_user_clip_plane
454#define GL_CLIP_PLANE0_IMG                                      0x3000
455#define GL_CLIP_PLANE1_IMG                                      0x3001
456#define GL_CLIP_PLANE2_IMG                                      0x3002
457#define GL_CLIP_PLANE3_IMG                                      0x3003
458#define GL_CLIP_PLANE4_IMG                                      0x3004
459#define GL_CLIP_PLANE5_IMG                                      0x3005
460#define GL_MAX_CLIP_PLANES_IMG                                  0x0D32
461#endif
462
463/* GL_IMG_multisampled_render_to_texture */
464#ifndef GL_IMG_multisampled_render_to_texture
465#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
466#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
467#define GL_MAX_SAMPLES_IMG                                      0x9135
468#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
469#endif
470
471/*------------------------------------------------------------------------*
472 * NV extension tokens
473 *------------------------------------------------------------------------*/
474
475/* GL_NV_fence */
476#ifndef GL_NV_fence
477#define GL_ALL_COMPLETED_NV                                     0x84F2
478#define GL_FENCE_STATUS_NV                                      0x84F3
479#define GL_FENCE_CONDITION_NV                                   0x84F4
480#endif
481
482/*------------------------------------------------------------------------*
483 * QCOM extension tokens
484 *------------------------------------------------------------------------*/
485
486/* GL_QCOM_driver_control */
487/* No new tokens introduced by this extension. */
488
489/* GL_QCOM_extended_get */
490#ifndef GL_QCOM_extended_get
491#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
492#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
493#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
494#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
495#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
496#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
497#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
498#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
499#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
500#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
501#define GL_STATE_RESTORE                                        0x8BDC
502#endif
503
504/* GL_QCOM_extended_get2 */
505/* No new tokens introduced by this extension. */
506
507/* GL_QCOM_perfmon_global_mode */
508#ifndef GL_QCOM_perfmon_global_mode
509#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
510#endif
511
512/* GL_QCOM_writeonly_rendering */
513#ifndef GL_QCOM_writeonly_rendering
514#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
515#endif
516
517/* GL_QCOM_tiled_rendering */
518#ifndef GL_QCOM_tiled_rendering
519#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
520#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
521#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
522#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
523#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
524#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
525#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
526#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
527#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
528#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
529#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
530#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
531#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
532#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
533#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
534#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
535#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
536#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
537#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
538#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
539#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
540#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
541#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
542#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
543#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
544#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
545#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
546#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
547#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
548#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
549#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
550#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
551#endif
552
553/*------------------------------------------------------------------------*
554 * End of extension tokens, start of corresponding extension functions
555 *------------------------------------------------------------------------*/
556
557/*------------------------------------------------------------------------*
558 * OES extension functions
559 *------------------------------------------------------------------------*/
560
561/* GL_OES_blend_equation_separate */
562#ifndef GL_OES_blend_equation_separate
563#define GL_OES_blend_equation_separate 1
564#ifdef GL_GLEXT_PROTOTYPES
565GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
566#endif
567typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
568#endif
569
570/* GL_OES_blend_func_separate */
571#ifndef GL_OES_blend_func_separate
572#define GL_OES_blend_func_separate 1
573#ifdef GL_GLEXT_PROTOTYPES
574GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
575#endif
576typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
577#endif
578
579/* GL_OES_blend_subtract */
580#ifndef GL_OES_blend_subtract
581#define GL_OES_blend_subtract 1
582#ifdef GL_GLEXT_PROTOTYPES
583GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
584#endif
585typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
586#endif
587
588/* GL_OES_byte_coordinates */
589#ifndef GL_OES_byte_coordinates
590#define GL_OES_byte_coordinates 1
591#endif
592
593/* GL_OES_compressed_ETC1_RGB8_texture */
594#ifndef GL_OES_compressed_ETC1_RGB8_texture
595#define GL_OES_compressed_ETC1_RGB8_texture 1
596#endif
597
598/* GL_OES_depth24 */
599#ifndef GL_OES_depth24
600#define GL_OES_depth24 1
601#endif
602
603/* GL_OES_depth32 */
604#ifndef GL_OES_depth32
605#define GL_OES_depth32 1
606#endif
607
608/* GL_OES_draw_texture */
609#ifndef GL_OES_draw_texture
610#define GL_OES_draw_texture 1
611#ifdef GL_GLEXT_PROTOTYPES
612GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
613GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
614GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
615GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
616GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
617GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
618GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
619GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
620#endif
621typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
622typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
623typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
624typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
625typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
626typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
627typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
628typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
629#endif
630
631/* GL_OES_EGL_image */
632#ifndef GL_OES_EGL_image
633#define GL_OES_EGL_image 1
634#ifdef GL_GLEXT_PROTOTYPES
635GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
636GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
637#endif
638typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
639typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
640#endif
641
642/* GL_OES_EGL_image_external */
643#ifndef GL_OES_EGL_image_external
644#define GL_OES_EGL_image_external 1
645/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
646#endif
647
648/* GL_OES_element_index_uint */
649#ifndef GL_OES_element_index_uint
650#define GL_OES_element_index_uint 1
651#endif
652
653/* GL_OES_extended_matrix_palette */
654#ifndef GL_OES_extended_matrix_palette
655#define GL_OES_extended_matrix_palette 1
656#endif
657
658/* GL_OES_fbo_render_mipmap */
659#ifndef GL_OES_fbo_render_mipmap
660#define GL_OES_fbo_render_mipmap 1
661#endif
662
663/* GL_OES_fixed_point */
664#ifndef GL_OES_fixed_point
665#define GL_OES_fixed_point 1
666#ifdef GL_GLEXT_PROTOTYPES
667GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
668GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
669GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
670GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
671GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
672GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
673GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
674GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
675GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
676GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
677GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
678GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
679GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
680GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
681GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
682GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
683GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
684GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
685GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
686GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
687GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
688GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
689GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
690GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
691GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
692GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
693GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
694GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
695GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
696GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
697GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
698GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
699GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
700GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
701GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
702GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
703GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
704GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
705GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
706#endif
707typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
708typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
709typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
710typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
711typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
712typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
713typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
714typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
715typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
716typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
717typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
718typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
719typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
720typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
721typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
722typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
723typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
724typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
725typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
726typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
727typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
728typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
729typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
730typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
731typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
732typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
733typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
734typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
735typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
736typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
737typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
738typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
739typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
740typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
741typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
742typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
743typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
744typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
745typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
746#endif
747
748/* GL_OES_framebuffer_object */
749#ifndef GL_OES_framebuffer_object
750#define GL_OES_framebuffer_object 1
751#ifdef GL_GLEXT_PROTOTYPES
752GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
753GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
754GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
755GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
756GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
757GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
758GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
759GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
760GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
761GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
762GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
763GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
764GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
765GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
766GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
767#endif
768typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
769typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
770typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
771typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
772typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
773typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
774typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
775typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
776typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
777typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
778typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
779typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
780typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
781typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
782typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
783#endif
784
785/* GL_OES_mapbuffer */
786#ifndef GL_OES_mapbuffer
787#define GL_OES_mapbuffer 1
788#ifdef GL_GLEXT_PROTOTYPES
789GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
790GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
791GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params);
792#endif
793typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
794typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
795typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params);
796#endif
797
798/* GL_OES_matrix_get */
799#ifndef GL_OES_matrix_get
800#define GL_OES_matrix_get 1
801#endif
802
803/* GL_OES_matrix_palette */
804#ifndef GL_OES_matrix_palette
805#define GL_OES_matrix_palette 1
806#ifdef GL_GLEXT_PROTOTYPES
807GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
808GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
809GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
810GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
811#endif
812typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
813typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
814typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
815typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
816#endif
817
818/* GL_OES_packed_depth_stencil */
819#ifndef GL_OES_packed_depth_stencil
820#define GL_OES_packed_depth_stencil 1
821#endif
822
823/* GL_OES_required_internalformat */
824#ifndef GL_OES_required_internalformat
825#define GL_OES_required_internalformat 1
826#endif
827
828/* GL_OES_query_matrix */
829#ifndef GL_OES_query_matrix
830#define GL_OES_query_matrix 1
831#ifdef GL_GLEXT_PROTOTYPES
832GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
833#endif
834typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
835#endif
836
837/* GL_OES_rgb8_rgba8 */
838#ifndef GL_OES_rgb8_rgba8
839#define GL_OES_rgb8_rgba8 1
840#endif
841
842/* GL_OES_single_precision */
843#ifndef GL_OES_single_precision
844#define GL_OES_single_precision 1
845#ifdef GL_GLEXT_PROTOTYPES
846GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
847GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
848GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
849GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
850GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
851GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
852#endif
853typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar);
854typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
855typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
856typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
857typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
858typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
859#endif
860
861/* GL_OES_stencil1 */
862#ifndef GL_OES_stencil1
863#define GL_OES_stencil1 1
864#endif
865
866/* GL_OES_stencil4 */
867#ifndef GL_OES_stencil4
868#define GL_OES_stencil4 1
869#endif
870
871/* GL_OES_stencil8 */
872#ifndef GL_OES_stencil8
873#define GL_OES_stencil8 1
874#endif
875
876/* GL_OES_stencil_wrap */
877#ifndef GL_OES_stencil_wrap
878#define GL_OES_stencil_wrap 1
879#endif
880
881/* GL_OES_texture_cube_map */
882#ifndef GL_OES_texture_cube_map
883#define GL_OES_texture_cube_map 1
884#ifdef GL_GLEXT_PROTOTYPES
885GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
886GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
887GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
888GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
889GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
890GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
891GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
892GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
893GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
894#endif
895typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
896typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
897typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
898typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
899typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
900typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
901typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
902typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
903typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
904#endif
905
906/* GL_OES_texture_env_crossbar */
907#ifndef GL_OES_texture_env_crossbar
908#define GL_OES_texture_env_crossbar 1
909#endif
910
911/* GL_OES_texture_mirrored_repeat */
912#ifndef GL_OES_texture_mirrored_repeat
913#define GL_OES_texture_mirrored_repeat 1
914#endif
915
916/* GL_OES_vertex_array_object */
917#ifndef GL_OES_vertex_array_object
918#define GL_OES_vertex_array_object 1
919#ifdef GL_GLEXT_PROTOTYPES
920GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
921GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
922GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
923GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
924#endif
925typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
926typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
927typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
928typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
929#endif
930
931/*------------------------------------------------------------------------*
932 * AMD extension functions
933 *------------------------------------------------------------------------*/
934
935/* GL_AMD_compressed_3DC_texture */
936#ifndef GL_AMD_compressed_3DC_texture
937#define GL_AMD_compressed_3DC_texture 1
938#endif
939
940/* GL_AMD_compressed_ATC_texture */
941#ifndef GL_AMD_compressed_ATC_texture
942#define GL_AMD_compressed_ATC_texture 1
943#endif
944
945/*------------------------------------------------------------------------*
946 * APPLE extension functions
947 *------------------------------------------------------------------------*/
948
949/* GL_APPLE_copy_texture_levels */
950#ifndef GL_APPLE_copy_texture_levels
951#define GL_APPLE_copy_texture_levels 1
952#ifdef GL_GLEXT_PROTOTYPES
953GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
954#endif
955typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
956#endif
957
958/* GL_APPLE_framebuffer_multisample */
959#ifndef GL_APPLE_framebuffer_multisample
960#define GL_APPLE_framebuffer_multisample 1
961#ifdef GL_GLEXT_PROTOTYPES
962GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
963GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
964#endif /* GL_GLEXT_PROTOTYPES */
965typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
966typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
967#endif
968
969/* GL_APPLE_sync */
970#ifndef GL_APPLE_sync
971#define GL_APPLE_sync 1
972#ifdef GL_GLEXT_PROTOTYPES
973GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
974GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
975GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
976GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
977GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
978GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
979GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
980#endif
981typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
982typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
983typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
984typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
985typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
986typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
987typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
988#endif
989
990/* GL_APPLE_texture_2D_limited_npot */
991#ifndef GL_APPLE_texture_2D_limited_npot
992#define GL_APPLE_texture_2D_limited_npot 1
993#endif
994
995/* GL_APPLE_texture_format_BGRA8888 */
996#ifndef GL_APPLE_texture_format_BGRA8888
997#define GL_APPLE_texture_format_BGRA8888 1
998#endif
999
1000/* GL_APPLE_texture_max_level */
1001#ifndef GL_APPLE_texture_max_level
1002#define GL_APPLE_texture_max_level 1
1003#endif
1004
1005/*------------------------------------------------------------------------*
1006 * ARM extension functions
1007 *------------------------------------------------------------------------*/
1008
1009/* GL_ARM_rgba8 */
1010#ifndef GL_ARM_rgba8
1011#define GL_ARM_rgba8 1
1012#endif
1013
1014/*------------------------------------------------------------------------*
1015 * EXT extension functions
1016 *------------------------------------------------------------------------*/
1017
1018/* GL_EXT_blend_minmax */
1019#ifndef GL_EXT_blend_minmax
1020#define GL_EXT_blend_minmax 1
1021#endif
1022
1023/* GL_EXT_discard_framebuffer */
1024#ifndef GL_EXT_discard_framebuffer
1025#define GL_EXT_discard_framebuffer 1
1026#ifdef GL_GLEXT_PROTOTYPES
1027GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1028#endif
1029typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1030#endif
1031
1032/* GL_EXT_map_buffer_range */
1033#ifndef GL_EXT_map_buffer_range
1034#define GL_EXT_map_buffer_range 1
1035#ifdef GL_GLEXT_PROTOTYPES
1036GL_API void GL_APIENTRY *glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1037GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
1038#endif
1039typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1040typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1041#endif
1042
1043/* GL_EXT_multisampled_render_to_texture */
1044#ifndef GL_EXT_multisampled_render_to_texture
1045#define GL_EXT_multisampled_render_to_texture 1
1046#ifdef GL_GLEXT_PROTOTYPES
1047GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1048GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1049#endif
1050typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1051typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1052#endif
1053
1054/* GL_EXT_multi_draw_arrays */
1055#ifndef GL_EXT_multi_draw_arrays
1056#define GL_EXT_multi_draw_arrays 1
1057#ifdef GL_GLEXT_PROTOTYPES
1058GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei);
1059GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* const*, GLsizei);
1060#endif /* GL_GLEXT_PROTOTYPES */
1061typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
1062typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const*indices, GLsizei primcount);
1063#endif
1064
1065/* GL_EXT_read_format_bgra */
1066#ifndef GL_EXT_read_format_bgra
1067#define GL_EXT_read_format_bgra 1
1068#endif
1069
1070/* GL_EXT_robustness */
1071#ifndef GL_EXT_robustness
1072#define GL_EXT_robustness 1
1073#ifdef GL_GLEXT_PROTOTYPES
1074GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1075GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1076GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params);
1077GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1078#endif
1079typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1080typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1081typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params);
1082typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1083#endif
1084
1085/* GL_EXT_sRGB */
1086#ifndef GL_EXT_sRGB
1087#define GL_EXT_sRGB 1
1088#endif
1089
1090/* GL_EXT_texture_compression_dxt1 */
1091#ifndef GL_EXT_texture_compression_dxt1
1092#define GL_EXT_texture_compression_dxt1 1
1093#endif
1094
1095/* GL_EXT_texture_filter_anisotropic */
1096#ifndef GL_EXT_texture_filter_anisotropic
1097#define GL_EXT_texture_filter_anisotropic 1
1098#endif
1099
1100/* GL_EXT_texture_format_BGRA8888 */
1101#ifndef GL_EXT_texture_format_BGRA8888
1102#define GL_EXT_texture_format_BGRA8888 1
1103#endif
1104
1105/* GL_EXT_texture_lod_bias */
1106#ifndef GL_EXT_texture_lod_bias
1107#define GL_EXT_texture_lod_bias 1
1108#endif
1109
1110/* GL_EXT_texture_storage */
1111#ifndef GL_EXT_texture_storage
1112#define GL_EXT_texture_storage 1
1113#ifdef GL_GLEXT_PROTOTYPES
1114GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1115GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1116GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1117GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1118GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1119GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1120#endif
1121typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1122typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1123typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1124typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1125typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1126typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1127#endif
1128
1129/*------------------------------------------------------------------------*
1130 * IMG extension functions
1131 *------------------------------------------------------------------------*/
1132
1133/* GL_IMG_read_format */
1134#ifndef GL_IMG_read_format
1135#define GL_IMG_read_format 1
1136#endif
1137
1138/* GL_IMG_texture_compression_pvrtc */
1139#ifndef GL_IMG_texture_compression_pvrtc
1140#define GL_IMG_texture_compression_pvrtc 1
1141#endif
1142
1143/* GL_IMG_texture_env_enhanced_fixed_function */
1144#ifndef GL_IMG_texture_env_enhanced_fixed_function
1145#define GL_IMG_texture_env_enhanced_fixed_function 1
1146#endif
1147
1148/* GL_IMG_user_clip_plane */
1149#ifndef GL_IMG_user_clip_plane
1150#define GL_IMG_user_clip_plane 1
1151#ifdef GL_GLEXT_PROTOTYPES
1152GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *);
1153GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *);
1154#endif
1155typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
1156typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
1157#endif
1158
1159/* GL_IMG_multisampled_render_to_texture */
1160#ifndef GL_IMG_multisampled_render_to_texture
1161#define GL_IMG_multisampled_render_to_texture 1
1162#ifdef GL_GLEXT_PROTOTYPES
1163GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1164GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1165#endif
1166typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1167typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1168#endif
1169
1170/*------------------------------------------------------------------------*
1171 * NV extension functions
1172 *------------------------------------------------------------------------*/
1173
1174/* NV_fence */
1175#ifndef GL_NV_fence
1176#define GL_NV_fence 1
1177#ifdef GL_GLEXT_PROTOTYPES
1178GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
1179GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
1180GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint);
1181GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint);
1182GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
1183GL_API void GL_APIENTRY glFinishFenceNV (GLuint);
1184GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
1185#endif
1186typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1187typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1188typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1189typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1190typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1191typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1192typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1193#endif
1194
1195/*------------------------------------------------------------------------*
1196 * QCOM extension functions
1197 *------------------------------------------------------------------------*/
1198
1199/* GL_QCOM_driver_control */
1200#ifndef GL_QCOM_driver_control
1201#define GL_QCOM_driver_control 1
1202#ifdef GL_GLEXT_PROTOTYPES
1203GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1204GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1205GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1206GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1207#endif
1208typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1209typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1210typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1211typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1212#endif
1213
1214/* GL_QCOM_extended_get */
1215#ifndef GL_QCOM_extended_get
1216#define GL_QCOM_extended_get 1
1217#ifdef GL_GLEXT_PROTOTYPES
1218GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1219GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1220GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1221GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1222GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1223GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1224GL_API 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);
1225GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1226#endif
1227typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1228typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1229typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1230typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1231typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1232typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1233typedef 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);
1234typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1235#endif
1236
1237/* GL_QCOM_extended_get2 */
1238#ifndef GL_QCOM_extended_get2
1239#define GL_QCOM_extended_get2 1
1240#ifdef GL_GLEXT_PROTOTYPES
1241GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1242GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1243GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1244GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1245#endif
1246typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1247typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1248typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1249typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1250#endif
1251
1252/* GL_QCOM_perfmon_global_mode */
1253#ifndef GL_QCOM_perfmon_global_mode
1254#define GL_QCOM_perfmon_global_mode 1
1255#endif
1256
1257/* GL_QCOM_writeonly_rendering */
1258#ifndef GL_QCOM_writeonly_rendering
1259#define GL_QCOM_writeonly_rendering 1
1260#endif
1261
1262/* GL_QCOM_tiled_rendering */
1263#ifndef GL_QCOM_tiled_rendering
1264#define GL_QCOM_tiled_rendering 1
1265#ifdef GL_GLEXT_PROTOTYPES
1266GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1267GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1268#endif
1269typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1270typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1271#endif
1272
1273#ifdef __cplusplus
1274}
1275#endif
1276
1277#endif /* __glext_h_ */
1278
1279