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