blob: a5b3eada3f8f49a87f2d031e8202745fd317aa05 [file] [log] [blame]
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08001#ifndef __glext_h_
2#define __glext_h_
3
Mathias Agopian8f62c302010-06-09 18:08:15 -07004/* $Revision: 10965 $ on $Date:: 2010-04-09 02:11:29 -0700 #$ */
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08005
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
Mathias Agopian8f62c302010-06-09 18:08:15 -070071/* GL_OES_element_index_uint */
72#ifndef GL_OES_element_index_uint
73#define GL_UNSIGNED_INT 0x1405
74#endif
75
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080076/* GL_OES_fixed_point */
77#ifndef GL_OES_fixed_point
78#define GL_FIXED_OES 0x140C
79#endif
80
81/* GL_OES_framebuffer_object */
82#ifndef GL_OES_framebuffer_object
83#define GL_NONE_OES 0
84#define GL_FRAMEBUFFER_OES 0x8D40
85#define GL_RENDERBUFFER_OES 0x8D41
86#define GL_RGBA4_OES 0x8056
87#define GL_RGB5_A1_OES 0x8057
88#define GL_RGB565_OES 0x8D62
89#define GL_DEPTH_COMPONENT16_OES 0x81A5
90#define GL_RENDERBUFFER_WIDTH_OES 0x8D42
91#define GL_RENDERBUFFER_HEIGHT_OES 0x8D43
92#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44
93#define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50
94#define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51
95#define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52
96#define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53
97#define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54
98#define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55
99#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0
100#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1
101#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2
102#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3
103#define GL_COLOR_ATTACHMENT0_OES 0x8CE0
104#define GL_DEPTH_ATTACHMENT_OES 0x8D00
105#define GL_STENCIL_ATTACHMENT_OES 0x8D20
106#define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5
107#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6
108#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7
109#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9
110#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA
111#define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD
112#define GL_FRAMEBUFFER_BINDING_OES 0x8CA6
113#define GL_RENDERBUFFER_BINDING_OES 0x8CA7
114#define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8
115#define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506
116#endif
117
118/* GL_OES_mapbuffer */
119#ifndef GL_OES_mapbuffer
120#define GL_WRITE_ONLY_OES 0x88B9
121#define GL_BUFFER_ACCESS_OES 0x88BB
122#define GL_BUFFER_MAPPED_OES 0x88BC
123#define GL_BUFFER_MAP_POINTER_OES 0x88BD
124#endif
125
126/* GL_OES_matrix_get */
127#ifndef GL_OES_matrix_get
128#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D
129#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E
130#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F
131#endif
132
133/* GL_OES_matrix_palette */
134#ifndef GL_OES_matrix_palette
135#define GL_MAX_VERTEX_UNITS_OES 0x86A4
136#define GL_MAX_PALETTE_MATRICES_OES 0x8842
137#define GL_MATRIX_PALETTE_OES 0x8840
138#define GL_MATRIX_INDEX_ARRAY_OES 0x8844
139#define GL_WEIGHT_ARRAY_OES 0x86AD
140#define GL_CURRENT_PALETTE_MATRIX_OES 0x8843
141#define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846
142#define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847
143#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848
144#define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849
145#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E
146#define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB
147#define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9
148#define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA
149#define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC
150#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E
151#endif
152
153/* GL_OES_packed_depth_stencil */
154#ifndef GL_OES_packed_depth_stencil
155#define GL_DEPTH_STENCIL_OES 0x84F9
156#define GL_UNSIGNED_INT_24_8_OES 0x84FA
157#define GL_DEPTH24_STENCIL8_OES 0x88F0
158#endif
159
160/* GL_OES_rgb8_rgba8 */
161#ifndef GL_OES_rgb8_rgba8
162#define GL_RGB8_OES 0x8051
163#define GL_RGBA8_OES 0x8058
164#endif
165
166/* GL_OES_stencil1 */
167#ifndef GL_OES_stencil1
168#define GL_STENCIL_INDEX1_OES 0x8D46
169#endif
170
171/* GL_OES_stencil4 */
172#ifndef GL_OES_stencil4
173#define GL_STENCIL_INDEX4_OES 0x8D47
174#endif
175
176/* GL_OES_stencil8 */
177#ifndef GL_OES_stencil8
178#define GL_STENCIL_INDEX8_OES 0x8D48
179#endif
180
181/* GL_OES_stencil_wrap */
182#ifndef GL_OES_stencil_wrap
183#define GL_INCR_WRAP_OES 0x8507
184#define GL_DECR_WRAP_OES 0x8508
185#endif
186
187/* GL_OES_texture_cube_map */
188#ifndef GL_OES_texture_cube_map
189#define GL_NORMAL_MAP_OES 0x8511
190#define GL_REFLECTION_MAP_OES 0x8512
191#define GL_TEXTURE_CUBE_MAP_OES 0x8513
192#define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514
193#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515
194#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516
195#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517
196#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518
197#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519
198#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A
199#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C
200#define GL_TEXTURE_GEN_MODE_OES 0x2500
201#define GL_TEXTURE_GEN_STR_OES 0x8D60
202#endif
203
204/* GL_OES_texture_mirrored_repeat */
205#ifndef GL_OES_texture_mirrored_repeat
206#define GL_MIRRORED_REPEAT_OES 0x8370
207#endif
208
Mathias Agopian8f62c302010-06-09 18:08:15 -0700209/* GL_OES_vertex_array_object */
210#ifndef GL_OES_vertex_array_object
211#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
212#endif
213
Mathias Agopian0a917752010-06-14 21:20:00 -0700214/* GL_OES_texture_external */
215#ifndef GL_TEXTURE_EXTERNAL_OES
216#define GL_TEXTURE_EXTERNAL_OES 0x8D65
217#endif
218
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800219/*------------------------------------------------------------------------*
220 * AMD extension tokens
221 *------------------------------------------------------------------------*/
222
223/* GL_AMD_compressed_3DC_texture */
224#ifndef GL_AMD_compressed_3DC_texture
225#define GL_3DC_X_AMD 0x87F9
226#define GL_3DC_XY_AMD 0x87FA
227#endif
228
229/* GL_AMD_compressed_ATC_texture */
230#ifndef GL_AMD_compressed_ATC_texture
231#define GL_ATC_RGB_AMD 0x8C92
232#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
233#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
234#endif
235
236/*------------------------------------------------------------------------*
Mathias Agopian8f62c302010-06-09 18:08:15 -0700237 * APPLE extension tokens
238 *------------------------------------------------------------------------*/
239
240/* GL_APPLE_texture_2D_limited_npot */
241/* No new tokens introduced by this extension. */
242
243/*------------------------------------------------------------------------*
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800244 * EXT extension tokens
245 *------------------------------------------------------------------------*/
246
Mathias Agopian8f62c302010-06-09 18:08:15 -0700247/* GL_EXT_blend_minmax */
248#ifndef GL_EXT_blend_minmax
249#define GL_MIN_EXT 0x8007
250#define GL_MAX_EXT 0x8008
251#endif
252
253/* GL_EXT_discard_framebuffer */
254#ifndef GL_EXT_discard_framebuffer
255#define GL_COLOR_EXT 0x1800
256#define GL_DEPTH_EXT 0x1801
257#define GL_STENCIL_EXT 0x1802
258#endif
259
260/* GL_EXT_multi_draw_arrays */
261/* No new tokens introduced by this extension. */
262
263/* GL_EXT_read_format_bgra */
264#ifndef GL_EXT_read_format_bgra
265#define GL_BGRA_EXT 0x80E1
266#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
267#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
268#endif
269
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800270/* GL_EXT_texture_filter_anisotropic */
271#ifndef GL_EXT_texture_filter_anisotropic
272#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
273#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
274#endif
275
Mathias Agopian8f62c302010-06-09 18:08:15 -0700276/* GL_EXT_texture_format_BGRA8888 */
277#ifndef GL_EXT_texture_format_BGRA8888
278#define GL_BGRA_EXT 0x80E1
279#endif
280
281/* GL_EXT_texture_lod_bias */
282#ifndef GL_EXT_texture_lod_bias
283#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
284#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
285#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
286#endif
287
288/*------------------------------------------------------------------------*
289 * IMG extension tokens
290 *------------------------------------------------------------------------*/
291
292/* GL_IMG_read_format */
293#ifndef GL_IMG_read_format
294#define GL_BGRA_IMG 0x80E1
295#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
296#endif
297
298/* GL_IMG_texture_compression_pvrtc */
299#ifndef GL_IMG_texture_compression_pvrtc
300#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
301#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
302#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
303#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
304#endif
305
306/* GL_IMG_texture_env_enhanced_fixed_function */
307#ifndef GL_IMG_texture_env_enhanced_fixed_function
308#define GL_MODULATE_COLOR_IMG 0x8C04
309#define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05
310#define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06
311#define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07
312#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08
313#define GL_ADD_BLEND_IMG 0x8C09
314#define GL_DOT3_RGBA_IMG 0x86AF
315#endif
316
317/* GL_IMG_user_clip_plane */
318#ifndef GL_IMG_user_clip_plane
319#define GL_CLIP_PLANE0_IMG 0x3000
320#define GL_CLIP_PLANE1_IMG 0x3001
321#define GL_CLIP_PLANE2_IMG 0x3002
322#define GL_CLIP_PLANE3_IMG 0x3003
323#define GL_CLIP_PLANE4_IMG 0x3004
324#define GL_CLIP_PLANE5_IMG 0x3005
325#define GL_MAX_CLIP_PLANES_IMG 0x0D32
326#endif
327
328/* GL_IMG_multisampled_render_to_texture */
329#ifndef GL_IMG_multisampled_render_to_texture
330#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
331#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
332#define GL_MAX_SAMPLES_IMG 0x9135
333#define GL_TEXTURE_SAMPLES_IMG 0x9136
334#endif
335
336/*------------------------------------------------------------------------*
337 * NV extension tokens
338 *------------------------------------------------------------------------*/
339
340/* GL_NV_fence */
341#ifndef GL_NV_fence
342#define GL_ALL_COMPLETED_NV 0x84F2
343#define GL_FENCE_STATUS_NV 0x84F3
344#define GL_FENCE_CONDITION_NV 0x84F4
345#endif
346
347/*------------------------------------------------------------------------*
348 * QCOM extension tokens
349 *------------------------------------------------------------------------*/
350
351/* GL_QCOM_driver_control */
352/* No new tokens introduced by this extension. */
353
354/* GL_QCOM_extended_get */
355#ifndef GL_QCOM_extended_get
356#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
357#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
358#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
359#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
360#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
361#define GL_TEXTURE_TYPE_QCOM 0x8BD7
362#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
363#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
364#define GL_TEXTURE_TARGET_QCOM 0x8BDA
365#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
366#define GL_STATE_RESTORE 0x8BDC
367#endif
368
369/* GL_QCOM_extended_get2 */
370/* No new tokens introduced by this extension. */
371
372/* GL_QCOM_perfmon_global_mode */
373#ifndef GL_QCOM_perfmon_global_mode
374#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
375#endif
376
377/* GL_QCOM_writeonly_rendering */
378#ifndef GL_QCOM_writeonly_rendering
379#define GL_WRITEONLY_RENDERING_QCOM 0x8823
380#endif
381
382/* GL_QCOM_tiled_rendering */
383#ifndef GL_QCOM_tiled_rendering
384#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
385#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
386#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
387#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
388#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
389#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
390#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
391#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
392#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
393#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
394#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
395#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
396#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
397#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
398#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
399#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
400#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
401#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
402#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
403#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
404#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
405#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
406#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
407#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
408#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
409#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
410#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
411#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
412#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
413#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
414#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
415#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
416#endif
417
418/*------------------------------------------------------------------------*
419 * End of extension tokens, start of corresponding extension functions
420 *------------------------------------------------------------------------*/
421
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800422/*------------------------------------------------------------------------*
423 * OES extension functions
424 *------------------------------------------------------------------------*/
425
426/* GL_OES_blend_equation_separate */
427#ifndef GL_OES_blend_equation_separate
428#define GL_OES_blend_equation_separate 1
429#ifdef GL_GLEXT_PROTOTYPES
430GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
431#endif
432typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
433#endif
434
435/* GL_OES_blend_func_separate */
436#ifndef GL_OES_blend_func_separate
437#define GL_OES_blend_func_separate 1
438#ifdef GL_GLEXT_PROTOTYPES
439GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
440#endif
441typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
442#endif
443
444/* GL_OES_blend_subtract */
445#ifndef GL_OES_blend_subtract
446#define GL_OES_blend_subtract 1
447#ifdef GL_GLEXT_PROTOTYPES
448GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
449#endif
450typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
451#endif
452
453/* GL_OES_byte_coordinates */
454#ifndef GL_OES_byte_coordinates
455#define GL_OES_byte_coordinates 1
456#endif
457
458/* GL_OES_compressed_ETC1_RGB8_texture */
459#ifndef GL_OES_compressed_ETC1_RGB8_texture
460#define GL_OES_compressed_ETC1_RGB8_texture 1
461#endif
462
463/* GL_OES_depth24 */
464#ifndef GL_OES_depth24
465#define GL_OES_depth24 1
466#endif
467
468/* GL_OES_depth32 */
469#ifndef GL_OES_depth32
470#define GL_OES_depth32 1
471#endif
472
473/* GL_OES_draw_texture */
474#ifndef GL_OES_draw_texture
475#define GL_OES_draw_texture 1
476#ifdef GL_GLEXT_PROTOTYPES
477GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
478GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
479GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
480GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
481GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
482GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
483GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
484GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
485#endif
486typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
487typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
488typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
489typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
490typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
491typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
492typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
493typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
494#endif
495
496/* GL_OES_EGL_image */
497#ifndef GL_OES_EGL_image
498#define GL_OES_EGL_image 1
499#ifdef GL_GLEXT_PROTOTYPES
500GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
501GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
502#endif
503typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
504typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
505#endif
506
507/* GL_OES_element_index_uint */
508#ifndef GL_OES_element_index_uint
509#define GL_OES_element_index_uint 1
510#endif
511
512/* GL_OES_extended_matrix_palette */
513#ifndef GL_OES_extended_matrix_palette
514#define GL_OES_extended_matrix_palette 1
515#endif
516
517/* GL_OES_fbo_render_mipmap */
518#ifndef GL_OES_fbo_render_mipmap
519#define GL_OES_fbo_render_mipmap 1
520#endif
521
522/* GL_OES_fixed_point */
523#ifndef GL_OES_fixed_point
524#define GL_OES_fixed_point 1
525#ifdef GL_GLEXT_PROTOTYPES
526GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref);
527GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
528GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth);
529GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
530GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
531GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar);
532GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
533GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params);
534GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
535GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]);
536GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
537GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
538GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
539GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params);
540GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
541GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
542GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params);
543GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
544GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
545GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
546GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
547GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
548GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
549GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
550GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
551GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
552GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
553GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
554GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
555GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
556GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
557GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
558GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
559GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
560GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
561GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
562GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
563GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
564GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
565#endif
566typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref);
567typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
568typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth);
569typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
570typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
571typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar);
572typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
573typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params);
574typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
575typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]);
576typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
577typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
578typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
579typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params);
580typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
581typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
582typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params);
583typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
584typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
585typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
586typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
587typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
588typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params);
589typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
590typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
591typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
592typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
593typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
594typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
595typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
596typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
597typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
598typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
599typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
600typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
601typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
602typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
603typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
604typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
605#endif
606
607/* GL_OES_framebuffer_object */
608#ifndef GL_OES_framebuffer_object
609#define GL_OES_framebuffer_object 1
610#ifdef GL_GLEXT_PROTOTYPES
611GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
612GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
613GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers);
614GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers);
615GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
616GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params);
617GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
618GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
619GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers);
620GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers);
621GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
622GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
623GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
624GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params);
625GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
626#endif
627typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
628typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
629typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
630typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
631typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
632typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
633typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
634typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
635typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
636typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
637typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
638typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
639typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
640typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
641typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
642#endif
643
644/* GL_OES_mapbuffer */
645#ifndef GL_OES_mapbuffer
646#define GL_OES_mapbuffer 1
647#ifdef GL_GLEXT_PROTOTYPES
648GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
649GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700650GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params);
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800651#endif
652typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
653typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700654typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params);
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800655#endif
656
657/* GL_OES_matrix_get */
658#ifndef GL_OES_matrix_get
659#define GL_OES_matrix_get 1
660#endif
661
662/* GL_OES_matrix_palette */
663#ifndef GL_OES_matrix_palette
664#define GL_OES_matrix_palette 1
665#ifdef GL_GLEXT_PROTOTYPES
666GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
667GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
668GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
669GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
670#endif
671typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
672typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
673typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
674typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
675#endif
676
677/* GL_OES_packed_depth_stencil */
678#ifndef GL_OES_packed_depth_stencil
679#define GL_OES_packed_depth_stencil 1
680#endif
681
682/* GL_OES_query_matrix */
683#ifndef GL_OES_query_matrix
684#define GL_OES_query_matrix 1
685#ifdef GL_GLEXT_PROTOTYPES
686GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);
687#endif
688typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]);
689#endif
690
691/* GL_OES_rgb8_rgba8 */
692#ifndef GL_OES_rgb8_rgba8
693#define GL_OES_rgb8_rgba8 1
694#endif
695
696/* GL_OES_single_precision */
697#ifndef GL_OES_single_precision
698#define GL_OES_single_precision 1
699#ifdef GL_GLEXT_PROTOTYPES
700GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar);
701GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
702GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
703GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
704GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]);
705GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
706#endif
707typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar);
708typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
709typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
710typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
711typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]);
712typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
713#endif
714
715/* GL_OES_stencil1 */
716#ifndef GL_OES_stencil1
717#define GL_OES_stencil1 1
718#endif
719
720/* GL_OES_stencil4 */
721#ifndef GL_OES_stencil4
722#define GL_OES_stencil4 1
723#endif
724
725/* GL_OES_stencil8 */
726#ifndef GL_OES_stencil8
727#define GL_OES_stencil8 1
728#endif
729
730/* GL_OES_stencil_wrap */
731#ifndef GL_OES_stencil_wrap
732#define GL_OES_stencil_wrap 1
733#endif
734
735/* GL_OES_texture_cube_map */
736#ifndef GL_OES_texture_cube_map
737#define GL_OES_texture_cube_map 1
738#ifdef GL_GLEXT_PROTOTYPES
739GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
740GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
741GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
742GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
743GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
744GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
745GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
746GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
747GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
748#endif
749typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
750typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
751typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
752typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
753typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
754typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
755typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
756typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
757typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
758#endif
759
760/* GL_OES_texture_env_crossbar */
761#ifndef GL_OES_texture_env_crossbar
762#define GL_OES_texture_env_crossbar 1
763#endif
764
765/* GL_OES_texture_mirrored_repeat */
766#ifndef GL_OES_texture_mirrored_repeat
767#define GL_OES_texture_mirrored_repeat 1
768#endif
769
Mathias Agopian8f62c302010-06-09 18:08:15 -0700770/* GL_OES_vertex_array_object */
771#ifndef GL_OES_vertex_array_object
772#define GL_OES_vertex_array_object 1
773#ifdef GL_GLEXT_PROTOTYPES
774GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
775GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
776GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
777GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
778#endif
779typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
780typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
781typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
782typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
783#endif
784
Mathias Agopian0a917752010-06-14 21:20:00 -0700785/* GL_OES_texture_external */
786#ifndef GL_OES_texture_external
787#define GL_OES_texture_external 1
788#endif
789
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800790/*------------------------------------------------------------------------*
791 * AMD extension functions
792 *------------------------------------------------------------------------*/
793
794/* GL_AMD_compressed_3DC_texture */
795#ifndef GL_AMD_compressed_3DC_texture
796#define GL_AMD_compressed_3DC_texture 1
797#endif
798
799/* GL_AMD_compressed_ATC_texture */
800#ifndef GL_AMD_compressed_ATC_texture
801#define GL_AMD_compressed_ATC_texture 1
802#endif
803
804/*------------------------------------------------------------------------*
Mathias Agopian8f62c302010-06-09 18:08:15 -0700805 * APPLE extension functions
806 *------------------------------------------------------------------------*/
807
808/* GL_APPLE_texture_2D_limited_npot */
809#ifndef GL_APPLE_texture_2D_limited_npot
810#define GL_APPLE_texture_2D_limited_npot 1
811#endif
812
813/*------------------------------------------------------------------------*
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800814 * EXT extension functions
815 *------------------------------------------------------------------------*/
816
Mathias Agopian8f62c302010-06-09 18:08:15 -0700817/* GL_EXT_blend_minmax */
818#ifndef GL_EXT_blend_minmax
819#define GL_EXT_blend_minmax 1
820#endif
821
822/* GL_EXT_discard_framebuffer */
823#ifndef GL_EXT_discard_framebuffer
824#define GL_EXT_discard_framebuffer 1
825#ifdef GL_GLEXT_PROTOTYPES
826GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
827#endif
828typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
829#endif
830
831/* GL_EXT_multi_draw_arrays */
832#ifndef GL_EXT_multi_draw_arrays
833#define GL_EXT_multi_draw_arrays 1
834#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700835GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
836GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700837#endif /* GL_GLEXT_PROTOTYPES */
838typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
839typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
840#endif
841
842/* GL_EXT_read_format_bgra */
843#ifndef GL_EXT_read_format_bgra
844#define GL_EXT_read_format_bgra 1
845#endif
846
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800847/* GL_EXT_texture_filter_anisotropic */
848#ifndef GL_EXT_texture_filter_anisotropic
849#define GL_EXT_texture_filter_anisotropic 1
850#endif
851
Mathias Agopian8f62c302010-06-09 18:08:15 -0700852/* GL_EXT_texture_format_BGRA8888 */
853#ifndef GL_EXT_texture_format_BGRA8888
854#define GL_EXT_texture_format_BGRA8888 1
855#endif
856
857/* GL_EXT_texture_lod_bias */
858#ifndef GL_EXT_texture_lod_bias
859#define GL_EXT_texture_lod_bias 1
860#endif
861
862/*------------------------------------------------------------------------*
863 * IMG extension functions
864 *------------------------------------------------------------------------*/
865
866/* GL_IMG_read_format */
867#ifndef GL_IMG_read_format
868#define GL_IMG_read_format 1
869#endif
870
871/* GL_IMG_texture_compression_pvrtc */
872#ifndef GL_IMG_texture_compression_pvrtc
873#define GL_IMG_texture_compression_pvrtc 1
874#endif
875
876/* GL_IMG_texture_env_enhanced_fixed_function */
877#ifndef GL_IMG_texture_env_enhanced_fixed_function
878#define GL_IMG_texture_env_enhanced_fixed_function 1
879#endif
880
881/* GL_IMG_user_clip_plane */
882#ifndef GL_IMG_user_clip_plane
883#define GL_IMG_user_clip_plane 1
884#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700885GL_API void GL_APIENTRY glClipPlanefIMG (GLenum p, const GLfloat *eqn);
886GL_API void GL_APIENTRY glClipPlanexIMG (GLenum p, const GLfixed *eqn);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700887#endif
888typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
889typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
890#endif
891
892/* GL_IMG_multisampled_render_to_texture */
893#ifndef GL_IMG_multisampled_render_to_texture
894#define GL_IMG_multisampled_render_to_texture 1
895#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700896GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
897GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700898#endif
899typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700900typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700901#endif
902
903/*------------------------------------------------------------------------*
904 * NV extension functions
905 *------------------------------------------------------------------------*/
906
907/* NV_fence */
908#ifndef GL_NV_fence
909#define GL_NV_fence 1
910#ifdef GL_GLEXT_PROTOTYPES
Mathias Agopian05bb9c92010-06-09 18:19:11 -0700911GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
912GL_API void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
913GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
914GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
915GL_API void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
916GL_API void GL_APIENTRY glFinishFenceNV (GLuint fence);
917GL_API void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
Mathias Agopian8f62c302010-06-09 18:08:15 -0700918#endif
919typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
920typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
921typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
922typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
923typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
924typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
925typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
926#endif
927
928/*------------------------------------------------------------------------*
929 * QCOM extension functions
930 *------------------------------------------------------------------------*/
931
932/* GL_QCOM_driver_control */
933#ifndef GL_QCOM_driver_control
934#define GL_QCOM_driver_control 1
935#ifdef GL_GLEXT_PROTOTYPES
936GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
937GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
938GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
939GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
940#endif
941typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
942typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
943typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
944typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
945#endif
946
947/* GL_QCOM_extended_get */
948#ifndef GL_QCOM_extended_get
949#define GL_QCOM_extended_get 1
950#ifdef GL_GLEXT_PROTOTYPES
951GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
952GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
953GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
954GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
955GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
956GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
957GL_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);
958GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
959#endif
960typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
961typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
962typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
963typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
964typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
965typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
966typedef 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);
967typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
968#endif
969
970/* GL_QCOM_extended_get2 */
971#ifndef GL_QCOM_extended_get2
972#define GL_QCOM_extended_get2 1
973#ifdef GL_GLEXT_PROTOTYPES
974GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
975GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
976GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
977GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
978#endif
979typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
980typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
981typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
982typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
983#endif
984
985/* GL_QCOM_perfmon_global_mode */
986#ifndef GL_QCOM_perfmon_global_mode
987#define GL_QCOM_perfmon_global_mode 1
988#endif
989
990/* GL_QCOM_writeonly_rendering */
991#ifndef GL_QCOM_writeonly_rendering
992#define GL_QCOM_writeonly_rendering 1
993#endif
994
995/* GL_QCOM_tiled_rendering */
996#ifndef GL_QCOM_tiled_rendering
997#define GL_QCOM_tiled_rendering 1
998#ifdef GL_GLEXT_PROTOTYPES
999GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1000GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1001#endif
1002typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1003typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1004#endif
1005
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08001006#ifdef __cplusplus
1007}
1008#endif
1009
1010#endif /* __glext_h_ */
1011