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