glext.h revision 61e81851beb1f26830589b221cc311bec1ba1d0b
1#ifndef __glext_h_
2#define __glext_h_
3
4/* $Revision: 13240 $ on $Date:: 2010-12-17 15:16:00 -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_rgb8_rgba8 */
169#ifndef GL_OES_rgb8_rgba8
170#define GL_RGB8_OES                                             0x8051
171#define GL_RGBA8_OES                                            0x8058
172#endif
173
174/* GL_OES_stencil1 */
175#ifndef GL_OES_stencil1
176#define GL_STENCIL_INDEX1_OES                                   0x8D46
177#endif
178
179/* GL_OES_stencil4 */
180#ifndef GL_OES_stencil4
181#define GL_STENCIL_INDEX4_OES                                   0x8D47
182#endif
183
184/* GL_OES_stencil8 */
185#ifndef GL_OES_stencil8
186#define GL_STENCIL_INDEX8_OES                                   0x8D48
187#endif
188
189/* GL_OES_stencil_wrap */
190#ifndef GL_OES_stencil_wrap
191#define GL_INCR_WRAP_OES                                        0x8507
192#define GL_DECR_WRAP_OES                                        0x8508
193#endif
194
195/* GL_OES_texture_cube_map */
196#ifndef GL_OES_texture_cube_map
197#define GL_NORMAL_MAP_OES                                       0x8511
198#define GL_REFLECTION_MAP_OES                                   0x8512
199#define GL_TEXTURE_CUBE_MAP_OES                                 0x8513
200#define GL_TEXTURE_BINDING_CUBE_MAP_OES                         0x8514
201#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                      0x8515
202#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                      0x8516
203#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                      0x8517
204#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                      0x8518
205#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                      0x8519
206#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                      0x851A
207#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                        0x851C
208#define GL_TEXTURE_GEN_MODE_OES                                 0x2500
209#define GL_TEXTURE_GEN_STR_OES                                  0x8D60
210#endif
211
212/* GL_OES_texture_mirrored_repeat */
213#ifndef GL_OES_texture_mirrored_repeat
214#define GL_MIRRORED_REPEAT_OES                                  0x8370
215#endif
216
217/* GL_OES_vertex_array_object */
218#ifndef GL_OES_vertex_array_object
219#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
220#endif
221
222/*------------------------------------------------------------------------*
223 * AMD extension tokens
224 *------------------------------------------------------------------------*/
225
226/* GL_AMD_compressed_3DC_texture */
227#ifndef GL_AMD_compressed_3DC_texture
228#define GL_3DC_X_AMD                                            0x87F9
229#define GL_3DC_XY_AMD                                           0x87FA
230#endif
231
232/* GL_AMD_compressed_ATC_texture */
233#ifndef GL_AMD_compressed_ATC_texture
234#define GL_ATC_RGB_AMD                                          0x8C92
235#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
236#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
237#endif
238
239/*------------------------------------------------------------------------*
240 * APPLE extension tokens
241 *------------------------------------------------------------------------*/
242
243/* GL_APPLE_texture_2D_limited_npot */
244/* No new tokens introduced by this extension. */
245
246/* GL_APPLE_framebuffer_multisample */
247#ifndef GL_APPLE_framebuffer_multisample
248#define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
249#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
250#define GL_MAX_SAMPLES_APPLE                                    0x8D57
251#define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
252#define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
253#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
254#define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
255#endif
256
257/* GL_APPLE_texture_format_BGRA8888 */
258#ifndef GL_APPLE_texture_format_BGRA8888
259#define GL_BGRA_EXT                                             0x80E1
260#endif
261
262/* GL_APPLE_texture_max_level */
263#ifndef GL_APPLE_texture_max_level
264#define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
265#endif
266
267/*------------------------------------------------------------------------*
268 * ARM extension tokens
269 *------------------------------------------------------------------------*/
270
271/* GL_ARM_rgba8 */
272/* No new tokens introduced by this extension. */
273
274/*------------------------------------------------------------------------*
275 * EXT extension tokens
276 *------------------------------------------------------------------------*/
277
278/* GL_EXT_blend_minmax */
279#ifndef GL_EXT_blend_minmax
280#define GL_MIN_EXT                                              0x8007
281#define GL_MAX_EXT                                              0x8008
282#endif
283
284/* GL_EXT_discard_framebuffer */
285#ifndef GL_EXT_discard_framebuffer
286#define GL_COLOR_EXT                                            0x1800
287#define GL_DEPTH_EXT                                            0x1801
288#define GL_STENCIL_EXT                                          0x1802
289#endif
290
291/* GL_EXT_multi_draw_arrays */
292/* No new tokens introduced by this extension. */
293
294/* GL_EXT_read_format_bgra */
295#ifndef GL_EXT_read_format_bgra
296#define GL_BGRA_EXT                                             0x80E1
297#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
298#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
299#endif
300
301/* GL_EXT_texture_filter_anisotropic */
302#ifndef GL_EXT_texture_filter_anisotropic
303#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
304#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
305#endif
306
307/* GL_EXT_texture_format_BGRA8888 */
308#ifndef GL_EXT_texture_format_BGRA8888
309#define GL_BGRA_EXT                                             0x80E1
310#endif
311
312/* GL_EXT_texture_lod_bias */
313#ifndef GL_EXT_texture_lod_bias
314#define GL_MAX_TEXTURE_LOD_BIAS_EXT                             0x84FD
315#define GL_TEXTURE_FILTER_CONTROL_EXT                           0x8500
316#define GL_TEXTURE_LOD_BIAS_EXT                                 0x8501
317#endif
318
319/*------------------------------------------------------------------------*
320 * IMG extension tokens
321 *------------------------------------------------------------------------*/
322
323/* GL_IMG_read_format */
324#ifndef GL_IMG_read_format
325#define GL_BGRA_IMG                                             0x80E1
326#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
327#endif
328
329/* GL_IMG_texture_compression_pvrtc */
330#ifndef GL_IMG_texture_compression_pvrtc
331#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
332#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
333#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
334#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
335#endif
336
337/* GL_IMG_texture_env_enhanced_fixed_function */
338#ifndef GL_IMG_texture_env_enhanced_fixed_function
339#define GL_MODULATE_COLOR_IMG                                   0x8C04
340#define GL_RECIP_ADD_SIGNED_ALPHA_IMG                           0x8C05
341#define GL_TEXTURE_ALPHA_MODULATE_IMG                           0x8C06
342#define GL_FACTOR_ALPHA_MODULATE_IMG                            0x8C07
343#define GL_FRAGMENT_ALPHA_MODULATE_IMG                          0x8C08
344#define GL_ADD_BLEND_IMG                                        0x8C09
345#define GL_DOT3_RGBA_IMG                                        0x86AF
346#endif
347
348/* GL_IMG_user_clip_plane */
349#ifndef GL_IMG_user_clip_plane
350#define GL_CLIP_PLANE0_IMG                                      0x3000
351#define GL_CLIP_PLANE1_IMG                                      0x3001
352#define GL_CLIP_PLANE2_IMG                                      0x3002
353#define GL_CLIP_PLANE3_IMG                                      0x3003
354#define GL_CLIP_PLANE4_IMG                                      0x3004
355#define GL_CLIP_PLANE5_IMG                                      0x3005
356#define GL_MAX_CLIP_PLANES_IMG                                  0x0D32
357#endif
358
359/* GL_IMG_multisampled_render_to_texture */
360#ifndef GL_IMG_multisampled_render_to_texture
361#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
362#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
363#define GL_MAX_SAMPLES_IMG                                      0x9135
364#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
365#endif
366
367/*------------------------------------------------------------------------*
368 * NV extension tokens
369 *------------------------------------------------------------------------*/
370
371/* GL_NV_fence */
372#ifndef GL_NV_fence
373#define GL_ALL_COMPLETED_NV                                     0x84F2
374#define GL_FENCE_STATUS_NV                                      0x84F3
375#define GL_FENCE_CONDITION_NV                                   0x84F4
376#endif
377
378/*------------------------------------------------------------------------*
379 * QCOM extension tokens
380 *------------------------------------------------------------------------*/
381
382/* GL_QCOM_driver_control */
383/* No new tokens introduced by this extension. */
384
385/* GL_QCOM_extended_get */
386#ifndef GL_QCOM_extended_get
387#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
388#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
389#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
390#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
391#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
392#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
393#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
394#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
395#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
396#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
397#define GL_STATE_RESTORE                                        0x8BDC
398#endif
399
400/* GL_QCOM_extended_get2 */
401/* No new tokens introduced by this extension. */
402
403/* GL_QCOM_perfmon_global_mode */
404#ifndef GL_QCOM_perfmon_global_mode
405#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
406#endif
407
408/* GL_QCOM_writeonly_rendering */
409#ifndef GL_QCOM_writeonly_rendering
410#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
411#endif
412
413/* GL_QCOM_tiled_rendering */
414#ifndef GL_QCOM_tiled_rendering
415#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
416#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
417#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
418#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
419#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
420#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
421#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
422#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
423#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
424#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
425#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
426#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
427#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
428#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
429#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
430#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
431#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
432#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
433#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
434#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
435#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
436#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
437#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
438#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
439#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
440#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
441#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
442#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
443#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
444#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
445#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
446#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
447#endif
448
449/*------------------------------------------------------------------------*
450 * End of extension tokens, start of corresponding extension functions
451 *------------------------------------------------------------------------*/
452
453/*------------------------------------------------------------------------*
454 * OES extension functions
455 *------------------------------------------------------------------------*/
456
457/* GL_OES_blend_equation_separate */
458#ifndef GL_OES_blend_equation_separate
459#define GL_OES_blend_equation_separate 1
460#ifdef GL_GLEXT_PROTOTYPES
461GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
462#endif
463typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
464#endif
465
466/* GL_OES_blend_func_separate */
467#ifndef GL_OES_blend_func_separate
468#define GL_OES_blend_func_separate 1
469#ifdef GL_GLEXT_PROTOTYPES
470GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
471#endif
472typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
473#endif
474
475/* GL_OES_blend_subtract */
476#ifndef GL_OES_blend_subtract
477#define GL_OES_blend_subtract 1
478#ifdef GL_GLEXT_PROTOTYPES
479GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
480#endif
481typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
482#endif
483
484/* GL_OES_byte_coordinates */
485#ifndef GL_OES_byte_coordinates
486#define GL_OES_byte_coordinates 1
487#endif
488
489/* GL_OES_compressed_ETC1_RGB8_texture */
490#ifndef GL_OES_compressed_ETC1_RGB8_texture
491#define GL_OES_compressed_ETC1_RGB8_texture 1
492#endif
493
494/* GL_OES_depth24 */
495#ifndef GL_OES_depth24
496#define GL_OES_depth24 1
497#endif
498
499/* GL_OES_depth32 */
500#ifndef GL_OES_depth32
501#define GL_OES_depth32 1
502#endif
503
504/* GL_OES_draw_texture */
505#ifndef GL_OES_draw_texture
506#define GL_OES_draw_texture 1
507#ifdef GL_GLEXT_PROTOTYPES
508GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
509GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
510GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
511GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
512GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
513GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
514GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
515GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
516#endif
517typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
518typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
519typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
520typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
521typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
522typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
523typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
524typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
525#endif
526
527/* GL_OES_EGL_image */
528#ifndef GL_OES_EGL_image
529#define GL_OES_EGL_image 1
530#ifdef GL_GLEXT_PROTOTYPES
531GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
532GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
533#endif
534typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
535typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
536#endif
537
538/* GL_OES_EGL_image_external */
539#ifndef GL_OES_EGL_image_external
540#define GL_OES_EGL_image_external 1
541/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
542#endif
543
544/* GL_OES_element_index_uint */
545#ifndef GL_OES_element_index_uint
546#define GL_OES_element_index_uint 1
547#endif
548
549/* GL_OES_extended_matrix_palette */
550#ifndef GL_OES_extended_matrix_palette
551#define GL_OES_extended_matrix_palette 1
552#endif
553
554/* GL_OES_fbo_render_mipmap */
555#ifndef GL_OES_fbo_render_mipmap
556#define GL_OES_fbo_render_mipmap 1
557#endif
558
559/* GL_OES_fixed_point */
560#ifndef GL_OES_fixed_point
561#define GL_OES_fixed_point 1
562#ifdef GL_GLEXT_PROTOTYPES
563GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
564GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
565GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
566GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
567GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
568GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
569GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
570GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
571GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
572GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
573GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
574GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
575GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
576GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
577GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
578GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
579GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
580GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
581GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
582GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
583GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
584GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
585GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
586GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
587GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
588GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
589GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
590GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
591GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
592GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
593GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
594GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
595GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
596GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
597GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
598GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
599GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
600GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
601GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
602#endif
603typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
604typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
605typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
606typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
607typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
608typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
609typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
610typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
611typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
612typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
613typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
614typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
615typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
616typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
617typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
618typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
619typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
620typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
621typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
622typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
623typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
624typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
625typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
626typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
627typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
628typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
629typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
630typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
631typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
632typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
633typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
634typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
635typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
636typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
637typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
638typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
639typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
640typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
641typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
642#endif
643
644/* GL_OES_framebuffer_object */
645#ifndef GL_OES_framebuffer_object
646#define GL_OES_framebuffer_object 1
647#ifdef GL_GLEXT_PROTOTYPES
648GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
649GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
650GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
651GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
652GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
653GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
654GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
655GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
656GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
657GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
658GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
659GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
660GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
661GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
662GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
663#endif
664typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
665typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
666typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
667typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
668typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
669typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
670typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
671typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
672typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
673typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
674typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
675typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
676typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
677typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
678typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
679#endif
680
681/* GL_OES_mapbuffer */
682#ifndef GL_OES_mapbuffer
683#define GL_OES_mapbuffer 1
684#ifdef GL_GLEXT_PROTOTYPES
685GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
686GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
687GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params);
688#endif
689typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
690typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
691typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params);
692#endif
693
694/* GL_OES_matrix_get */
695#ifndef GL_OES_matrix_get
696#define GL_OES_matrix_get 1
697#endif
698
699/* GL_OES_matrix_palette */
700#ifndef GL_OES_matrix_palette
701#define GL_OES_matrix_palette 1
702#ifdef GL_GLEXT_PROTOTYPES
703GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
704GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
705GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
706GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
707#endif
708typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
709typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
710typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
711typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
712#endif
713
714/* GL_OES_packed_depth_stencil */
715#ifndef GL_OES_packed_depth_stencil
716#define GL_OES_packed_depth_stencil 1
717#endif
718
719/* GL_OES_query_matrix */
720#ifndef GL_OES_query_matrix
721#define GL_OES_query_matrix 1
722#ifdef GL_GLEXT_PROTOTYPES
723GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
724#endif
725typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
726#endif
727
728/* GL_OES_rgb8_rgba8 */
729#ifndef GL_OES_rgb8_rgba8
730#define GL_OES_rgb8_rgba8 1
731#endif
732
733/* GL_OES_single_precision */
734#ifndef GL_OES_single_precision
735#define GL_OES_single_precision 1
736#ifdef GL_GLEXT_PROTOTYPES
737GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
738GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
739GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
740GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
741GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
742GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
743#endif
744typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar);
745typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
746typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
747typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
748typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
749typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
750#endif
751
752/* GL_OES_stencil1 */
753#ifndef GL_OES_stencil1
754#define GL_OES_stencil1 1
755#endif
756
757/* GL_OES_stencil4 */
758#ifndef GL_OES_stencil4
759#define GL_OES_stencil4 1
760#endif
761
762/* GL_OES_stencil8 */
763#ifndef GL_OES_stencil8
764#define GL_OES_stencil8 1
765#endif
766
767/* GL_OES_stencil_wrap */
768#ifndef GL_OES_stencil_wrap
769#define GL_OES_stencil_wrap 1
770#endif
771
772/* GL_OES_texture_cube_map */
773#ifndef GL_OES_texture_cube_map
774#define GL_OES_texture_cube_map 1
775#ifdef GL_GLEXT_PROTOTYPES
776GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
777GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
778GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
779GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
780GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
781GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
782GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
783GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
784GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
785#endif
786typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
787typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
788typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
789typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
790typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
791typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
792typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
793typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
794typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
795#endif
796
797/* GL_OES_texture_env_crossbar */
798#ifndef GL_OES_texture_env_crossbar
799#define GL_OES_texture_env_crossbar 1
800#endif
801
802/* GL_OES_texture_mirrored_repeat */
803#ifndef GL_OES_texture_mirrored_repeat
804#define GL_OES_texture_mirrored_repeat 1
805#endif
806
807/* GL_OES_vertex_array_object */
808#ifndef GL_OES_vertex_array_object
809#define GL_OES_vertex_array_object 1
810#ifdef GL_GLEXT_PROTOTYPES
811GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
812GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
813GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
814GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
815#endif
816typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
817typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
818typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
819typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
820#endif
821
822/*------------------------------------------------------------------------*
823 * AMD extension functions
824 *------------------------------------------------------------------------*/
825
826/* GL_AMD_compressed_3DC_texture */
827#ifndef GL_AMD_compressed_3DC_texture
828#define GL_AMD_compressed_3DC_texture 1
829#endif
830
831/* GL_AMD_compressed_ATC_texture */
832#ifndef GL_AMD_compressed_ATC_texture
833#define GL_AMD_compressed_ATC_texture 1
834#endif
835
836/*------------------------------------------------------------------------*
837 * APPLE extension functions
838 *------------------------------------------------------------------------*/
839
840/* GL_APPLE_texture_2D_limited_npot */
841#ifndef GL_APPLE_texture_2D_limited_npot
842#define GL_APPLE_texture_2D_limited_npot 1
843#endif
844
845/* GL_APPLE_framebuffer_multisample */
846#ifndef GL_APPLE_framebuffer_multisample
847#define GL_APPLE_framebuffer_multisample 1
848#ifdef GL_GLEXT_PROTOTYPES
849GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
850GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
851#endif /* GL_GLEXT_PROTOTYPES */
852typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
853typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
854#endif
855
856/* GL_APPLE_texture_format_BGRA8888 */
857#ifndef GL_APPLE_texture_format_BGRA8888
858#define GL_APPLE_texture_format_BGRA8888 1
859#endif
860
861/* GL_APPLE_texture_max_level */
862#ifndef GL_APPLE_texture_max_level
863#define GL_APPLE_texture_max_level 1
864#endif
865
866/*------------------------------------------------------------------------*
867 * ARM extension functions
868 *------------------------------------------------------------------------*/
869
870/* GL_ARM_rgba8 */
871#ifndef GL_ARM_rgba8
872#define GL_ARM_rgba8 1
873#endif
874
875/*------------------------------------------------------------------------*
876 * EXT extension functions
877 *------------------------------------------------------------------------*/
878
879/* GL_EXT_blend_minmax */
880#ifndef GL_EXT_blend_minmax
881#define GL_EXT_blend_minmax 1
882#endif
883
884/* GL_EXT_discard_framebuffer */
885#ifndef GL_EXT_discard_framebuffer
886#define GL_EXT_discard_framebuffer 1
887#ifdef GL_GLEXT_PROTOTYPES
888GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
889#endif
890typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
891#endif
892
893/* GL_EXT_multi_draw_arrays */
894#ifndef GL_EXT_multi_draw_arrays
895#define GL_EXT_multi_draw_arrays 1
896#ifdef GL_GLEXT_PROTOTYPES
897GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
898GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
899#endif /* GL_GLEXT_PROTOTYPES */
900typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
901typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
902#endif
903
904/* GL_EXT_read_format_bgra */
905#ifndef GL_EXT_read_format_bgra
906#define GL_EXT_read_format_bgra 1
907#endif
908
909/* GL_EXT_texture_filter_anisotropic */
910#ifndef GL_EXT_texture_filter_anisotropic
911#define GL_EXT_texture_filter_anisotropic 1
912#endif
913
914/* GL_EXT_texture_format_BGRA8888 */
915#ifndef GL_EXT_texture_format_BGRA8888
916#define GL_EXT_texture_format_BGRA8888 1
917#endif
918
919/* GL_EXT_texture_lod_bias */
920#ifndef GL_EXT_texture_lod_bias
921#define GL_EXT_texture_lod_bias 1
922#endif
923
924/*------------------------------------------------------------------------*
925 * IMG extension functions
926 *------------------------------------------------------------------------*/
927
928/* GL_IMG_read_format */
929#ifndef GL_IMG_read_format
930#define GL_IMG_read_format 1
931#endif
932
933/* GL_IMG_texture_compression_pvrtc */
934#ifndef GL_IMG_texture_compression_pvrtc
935#define GL_IMG_texture_compression_pvrtc 1
936#endif
937
938/* GL_IMG_texture_env_enhanced_fixed_function */
939#ifndef GL_IMG_texture_env_enhanced_fixed_function
940#define GL_IMG_texture_env_enhanced_fixed_function 1
941#endif
942
943/* GL_IMG_user_clip_plane */
944#ifndef GL_IMG_user_clip_plane
945#define GL_IMG_user_clip_plane 1
946#ifdef GL_GLEXT_PROTOTYPES
947GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *);
948GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *);
949#endif
950typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
951typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
952#endif
953
954/* GL_IMG_multisampled_render_to_texture */
955#ifndef GL_IMG_multisampled_render_to_texture
956#define GL_IMG_multisampled_render_to_texture 1
957#ifdef GL_GLEXT_PROTOTYPES
958GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
959GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
960#endif
961typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
962typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
963#endif
964
965/*------------------------------------------------------------------------*
966 * NV extension functions
967 *------------------------------------------------------------------------*/
968
969/* NV_fence */
970#ifndef GL_NV_fence
971#define GL_NV_fence 1
972#ifdef GL_GLEXT_PROTOTYPES
973GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
974GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
975GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint);
976GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint);
977GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
978GL_API void GL_APIENTRY glFinishFenceNV (GLuint);
979GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
980#endif
981typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
982typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
983typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
984typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
985typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
986typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
987typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
988#endif
989
990/*------------------------------------------------------------------------*
991 * QCOM extension functions
992 *------------------------------------------------------------------------*/
993
994/* GL_QCOM_driver_control */
995#ifndef GL_QCOM_driver_control
996#define GL_QCOM_driver_control 1
997#ifdef GL_GLEXT_PROTOTYPES
998GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
999GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1000GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1001GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1002#endif
1003typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1004typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1005typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1006typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1007#endif
1008
1009/* GL_QCOM_extended_get */
1010#ifndef GL_QCOM_extended_get
1011#define GL_QCOM_extended_get 1
1012#ifdef GL_GLEXT_PROTOTYPES
1013GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1014GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1015GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1016GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1017GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1018GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1019GL_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);
1020GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1021#endif
1022typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1023typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1024typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1025typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1026typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1027typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1028typedef 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);
1029typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1030#endif
1031
1032/* GL_QCOM_extended_get2 */
1033#ifndef GL_QCOM_extended_get2
1034#define GL_QCOM_extended_get2 1
1035#ifdef GL_GLEXT_PROTOTYPES
1036GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1037GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1038GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1039GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1040#endif
1041typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1042typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1043typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1044typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1045#endif
1046
1047/* GL_QCOM_perfmon_global_mode */
1048#ifndef GL_QCOM_perfmon_global_mode
1049#define GL_QCOM_perfmon_global_mode 1
1050#endif
1051
1052/* GL_QCOM_writeonly_rendering */
1053#ifndef GL_QCOM_writeonly_rendering
1054#define GL_QCOM_writeonly_rendering 1
1055#endif
1056
1057/* GL_QCOM_tiled_rendering */
1058#ifndef GL_QCOM_tiled_rendering
1059#define GL_QCOM_tiled_rendering 1
1060#ifdef GL_GLEXT_PROTOTYPES
1061GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1062GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1063#endif
1064typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1065typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1066#endif
1067
1068#ifdef __cplusplus
1069}
1070#endif
1071
1072#endif /* __glext_h_ */
1073
1074