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