1 #ifndef __gl2ext_h_
2 #define __gl2ext_h_
3 
4 /* $Revision: 13239 $ on $Date:: 2010-12-17 15:13:56 -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_compressed_ETC1_RGB8_texture */
24 #ifndef GL_OES_compressed_ETC1_RGB8_texture
25 #define GL_ETC1_RGB8_OES                                        0x8D64
26 #endif
27 
28 /* GL_OES_compressed_paletted_texture */
29 #ifndef GL_OES_compressed_paletted_texture
30 #define GL_PALETTE4_RGB8_OES                                    0x8B90
31 #define GL_PALETTE4_RGBA8_OES                                   0x8B91
32 #define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
33 #define GL_PALETTE4_RGBA4_OES                                   0x8B93
34 #define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
35 #define GL_PALETTE8_RGB8_OES                                    0x8B95
36 #define GL_PALETTE8_RGBA8_OES                                   0x8B96
37 #define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
38 #define GL_PALETTE8_RGBA4_OES                                   0x8B98
39 #define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
40 #endif
41 
42 /* GL_OES_depth24 */
43 #ifndef GL_OES_depth24
44 #define GL_DEPTH_COMPONENT24_OES                                0x81A6
45 #endif
46 
47 /* GL_OES_depth32 */
48 #ifndef GL_OES_depth32
49 #define GL_DEPTH_COMPONENT32_OES                                0x81A7
50 #endif
51 
52 /* GL_OES_depth_texture */
53 /* No new tokens introduced by this extension. */
54 
55 /* GL_OES_EGL_image */
56 #ifndef GL_OES_EGL_image
57 typedef void* GLeglImageOES;
58 #endif
59 
60 /* GL_OES_EGL_image_external */
61 #ifndef GL_OES_EGL_image_external
62 /* GLeglImageOES defined in GL_OES_EGL_image already. */
63 #define GL_TEXTURE_EXTERNAL_OES                                 0x8D65
64 #define GL_SAMPLER_EXTERNAL_OES                                 0x8D66
65 #define GL_TEXTURE_BINDING_EXTERNAL_OES                         0x8D67
66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                     0x8D68
67 #endif
68 
69 /* GL_OES_element_index_uint */
70 #ifndef GL_OES_element_index_uint
71 #define GL_UNSIGNED_INT                                         0x1405
72 #endif
73 
74 /* GL_OES_get_program_binary */
75 #ifndef GL_OES_get_program_binary
76 #define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
78 #define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
79 #endif
80 
81 /* GL_OES_mapbuffer */
82 #ifndef GL_OES_mapbuffer
83 #define GL_WRITE_ONLY_OES                                       0x88B9
84 #define GL_BUFFER_ACCESS_OES                                    0x88BB
85 #define GL_BUFFER_MAPPED_OES                                    0x88BC
86 #define GL_BUFFER_MAP_POINTER_OES                               0x88BD
87 #endif
88 
89 /* GL_OES_packed_depth_stencil */
90 #ifndef GL_OES_packed_depth_stencil
91 #define GL_DEPTH_STENCIL_OES                                    0x84F9
92 #define GL_UNSIGNED_INT_24_8_OES                                0x84FA
93 #define GL_DEPTH24_STENCIL8_OES                                 0x88F0
94 #endif
95 
96 /* GL_OES_rgb8_rgba8 */
97 #ifndef GL_OES_rgb8_rgba8
98 #define GL_RGB8_OES                                             0x8051
99 #define GL_RGBA8_OES                                            0x8058
100 #endif
101 
102 /* GL_OES_standard_derivatives */
103 #ifndef GL_OES_standard_derivatives
104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
105 #endif
106 
107 /* GL_OES_stencil1 */
108 #ifndef GL_OES_stencil1
109 #define GL_STENCIL_INDEX1_OES                                   0x8D46
110 #endif
111 
112 /* GL_OES_stencil4 */
113 #ifndef GL_OES_stencil4
114 #define GL_STENCIL_INDEX4_OES                                   0x8D47
115 #endif
116 
117 /* GL_OES_texture_3D */
118 #ifndef GL_OES_texture_3D
119 #define GL_TEXTURE_WRAP_R_OES                                   0x8072
120 #define GL_TEXTURE_3D_OES                                       0x806F
121 #define GL_TEXTURE_BINDING_3D_OES                               0x806A
122 #define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
123 #define GL_SAMPLER_3D_OES                                       0x8B5F
124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
125 #endif
126 
127 /* GL_OES_texture_float */
128 /* No new tokens introduced by this extension. */
129 
130 /* GL_OES_texture_float_linear */
131 /* No new tokens introduced by this extension. */
132 
133 /* GL_OES_texture_half_float */
134 #ifndef GL_OES_texture_half_float
135 #define GL_HALF_FLOAT_OES                                       0x8D61
136 #endif
137 
138 /* GL_OES_texture_half_float_linear */
139 /* No new tokens introduced by this extension. */
140 
141 /* GL_OES_texture_npot */
142 /* No new tokens introduced by this extension. */
143 
144 /* GL_OES_vertex_array_object */
145 #ifndef GL_OES_vertex_array_object
146 #define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
147 #endif
148 
149 /* GL_OES_vertex_half_float */
150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
151 
152 /* GL_OES_vertex_type_10_10_10_2 */
153 #ifndef GL_OES_vertex_type_10_10_10_2
154 #define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
155 #define GL_INT_10_10_10_2_OES                                   0x8DF7
156 #endif
157 
158 /*------------------------------------------------------------------------*
159  * AMD extension tokens
160  *------------------------------------------------------------------------*/
161 
162 /* GL_AMD_compressed_3DC_texture */
163 #ifndef GL_AMD_compressed_3DC_texture
164 #define GL_3DC_X_AMD                                            0x87F9
165 #define GL_3DC_XY_AMD                                           0x87FA
166 #endif
167 
168 /* GL_AMD_compressed_ATC_texture */
169 #ifndef GL_AMD_compressed_ATC_texture
170 #define GL_ATC_RGB_AMD                                          0x8C92
171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
173 #endif
174 
175 /* GL_AMD_performance_monitor */
176 #ifndef GL_AMD_performance_monitor
177 #define GL_COUNTER_TYPE_AMD                                     0x8BC0
178 #define GL_COUNTER_RANGE_AMD                                    0x8BC1
179 #define GL_UNSIGNED_INT64_AMD                                   0x8BC2
180 #define GL_PERCENTAGE_AMD                                       0x8BC3
181 #define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
182 #define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
183 #define GL_PERFMON_RESULT_AMD                                   0x8BC6
184 #endif
185 
186 /* GL_AMD_program_binary_Z400 */
187 #ifndef GL_AMD_program_binary_Z400
188 #define GL_Z400_BINARY_AMD                                      0x8740
189 #endif
190 
191 /*------------------------------------------------------------------------*
192  * ANGLE extension tokens
193  *------------------------------------------------------------------------*/
194 
195 /* GL_ANGLE_framebuffer_blit */
196 #ifndef GL_ANGLE_framebuffer_blit
197 #define GL_READ_FRAMEBUFFER_ANGLE                               0x8CA8
198 #define GL_DRAW_FRAMEBUFFER_ANGLE                               0x8CA9
199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                       0x8CA6
200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE                       0x8CAA
201 #endif
202 
203 /* GL_ANGLE_framebuffer_multisample */
204 #ifndef GL_ANGLE_framebuffer_multisample
205 #define GL_RENDERBUFFER_SAMPLES_ANGLE                           0x8CAB
206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE             0x8D56
207 #define GL_MAX_SAMPLES_ANGLE                                    0x8D57
208 #endif
209 
210 /*------------------------------------------------------------------------*
211  * APPLE extension tokens
212  *------------------------------------------------------------------------*/
213 
214 /* GL_APPLE_rgb_422 */
215 #ifndef GL_APPLE_rgb_422
216 #define GL_RGB_422_APPLE                                        0x8A1F
217 #define GL_UNSIGNED_SHORT_8_8_APPLE                             0x85BA
218 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE                         0x85BB
219 #endif
220 
221 /* GL_APPLE_framebuffer_multisample */
222 #ifndef GL_APPLE_framebuffer_multisample
223 #define GL_RENDERBUFFER_SAMPLES_APPLE                           0x8CAB
224 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE             0x8D56
225 #define GL_MAX_SAMPLES_APPLE                                    0x8D57
226 #define GL_READ_FRAMEBUFFER_APPLE                               0x8CA8
227 #define GL_DRAW_FRAMEBUFFER_APPLE                               0x8CA9
228 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                       0x8CA6
229 #define GL_READ_FRAMEBUFFER_BINDING_APPLE                       0x8CAA
230 #endif
231 
232 /* GL_APPLE_texture_format_BGRA8888 */
233 #ifndef GL_APPLE_texture_format_BGRA8888
234 #define GL_BGRA_EXT                                             0x80E1
235 #endif
236 
237 /* GL_APPLE_texture_max_level */
238 #ifndef GL_APPLE_texture_max_level
239 #define GL_TEXTURE_MAX_LEVEL_APPLE                              0x813D
240 #endif
241 
242 /*------------------------------------------------------------------------*
243  * ARM extension tokens
244  *------------------------------------------------------------------------*/
245 
246 /* GL_ARM_mali_shader_binary */
247 #ifndef GL_ARM_mali_shader_binary
248 #define GL_MALI_SHADER_BINARY_ARM                               0x8F60
249 #endif
250 
251 /* GL_ARM_rgba8 */
252 /* No new tokens introduced by this extension. */
253 
254 /*------------------------------------------------------------------------*
255  * EXT extension tokens
256  *------------------------------------------------------------------------*/
257 
258 /* GL_EXT_blend_minmax */
259 #ifndef GL_EXT_blend_minmax
260 #define GL_MIN_EXT                                              0x8007
261 #define GL_MAX_EXT                                              0x8008
262 #endif
263 
264 /* GL_EXT_discard_framebuffer */
265 #ifndef GL_EXT_discard_framebuffer
266 #define GL_COLOR_EXT                                            0x1800
267 #define GL_DEPTH_EXT                                            0x1801
268 #define GL_STENCIL_EXT                                          0x1802
269 #endif
270 
271 /* GL_EXT_multi_draw_arrays */
272 /* No new tokens introduced by this extension. */
273 
274 /* GL_EXT_read_format_bgra */
275 #ifndef GL_EXT_read_format_bgra
276 #define GL_BGRA_EXT                                             0x80E1
277 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
278 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
279 #endif
280 
281 /* GL_EXT_texture_filter_anisotropic */
282 #ifndef GL_EXT_texture_filter_anisotropic
283 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
284 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
285 #endif
286 
287 /* GL_EXT_texture_format_BGRA8888 */
288 #ifndef GL_EXT_texture_format_BGRA8888
289 #define GL_BGRA_EXT                                             0x80E1
290 #endif
291 
292 /* GL_EXT_texture_type_2_10_10_10_REV */
293 #ifndef GL_EXT_texture_type_2_10_10_10_REV
294 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
295 #endif
296 
297 /* GL_EXT_texture_compression_dxt1 */
298 #ifndef GL_EXT_texture_compression_dxt1
299 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
300 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
301 #endif
302 
303 /* GL_EXT_shader_texture_lod */
304 /* No new tokens introduced by this extension. */
305 
306 /*------------------------------------------------------------------------*
307  * IMG extension tokens
308  *------------------------------------------------------------------------*/
309 
310 /* GL_IMG_program_binary */
311 #ifndef GL_IMG_program_binary
312 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
313 #endif
314 
315 /* GL_IMG_read_format */
316 #ifndef GL_IMG_read_format
317 #define GL_BGRA_IMG                                             0x80E1
318 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
319 #endif
320 
321 /* GL_IMG_shader_binary */
322 #ifndef GL_IMG_shader_binary
323 #define GL_SGX_BINARY_IMG                                       0x8C0A
324 #endif
325 
326 /* GL_IMG_texture_compression_pvrtc */
327 #ifndef GL_IMG_texture_compression_pvrtc
328 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
329 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
330 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
331 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
332 #endif
333 
334 /* GL_IMG_multisampled_render_to_texture */
335 #ifndef GL_IMG_multisampled_render_to_texture
336 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
337 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
338 #define GL_MAX_SAMPLES_IMG                                      0x9135
339 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
340 #endif
341 
342 /*------------------------------------------------------------------------*
343  * NV extension tokens
344  *------------------------------------------------------------------------*/
345 
346 /* GL_NV_fence */
347 #ifndef GL_NV_fence
348 #define GL_ALL_COMPLETED_NV                                     0x84F2
349 #define GL_FENCE_STATUS_NV                                      0x84F3
350 #define GL_FENCE_CONDITION_NV                                   0x84F4
351 #endif
352 
353 /* GL_NV_coverage_sample */
354 #ifndef GL_NV_coverage_sample
355 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
356 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
357 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
358 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
359 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
360 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
361 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
362 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
363 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
364 #endif
365 
366 /* GL_NV_depth_nonlinear */
367 #ifndef GL_NV_depth_nonlinear
368 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
369 #endif
370 
371 /*------------------------------------------------------------------------*
372  * QCOM extension tokens
373  *------------------------------------------------------------------------*/
374 
375 /* GL_QCOM_driver_control */
376 /* No new tokens introduced by this extension. */
377 
378 /* GL_QCOM_extended_get */
379 #ifndef GL_QCOM_extended_get
380 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
381 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
382 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
383 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
384 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
385 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
386 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
387 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
388 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
389 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
390 #define GL_STATE_RESTORE                                        0x8BDC
391 #endif
392 
393 /* GL_QCOM_extended_get2 */
394 /* No new tokens introduced by this extension. */
395 
396 /* GL_QCOM_perfmon_global_mode */
397 #ifndef GL_QCOM_perfmon_global_mode
398 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
399 #endif
400 
401 /* GL_QCOM_writeonly_rendering */
402 #ifndef GL_QCOM_writeonly_rendering
403 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
404 #endif
405 
406 /* GL_QCOM_tiled_rendering */
407 #ifndef GL_QCOM_tiled_rendering
408 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
409 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
410 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
411 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
412 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
413 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
414 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
415 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
416 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
417 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
418 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
419 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
420 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
421 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
422 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
423 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
424 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
425 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
426 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
427 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
428 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
429 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
430 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
431 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
432 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
433 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
434 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
435 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
436 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
437 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
438 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
439 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
440 #endif
441 
442 /*------------------------------------------------------------------------*
443  * VIV extension tokens
444  *------------------------------------------------------------------------*/
445 
446 /* GL_VIV_shader_binary */
447 #ifndef GL_VIV_shader_binary
448 #define GL_SHADER_BINARY_VIV                                    0x8FC4
449 #endif
450 
451 /*------------------------------------------------------------------------*
452  * End of extension tokens, start of corresponding extension functions
453  *------------------------------------------------------------------------*/
454 
455 /*------------------------------------------------------------------------*
456  * OES extension functions
457  *------------------------------------------------------------------------*/
458 
459 /* GL_OES_compressed_ETC1_RGB8_texture */
460 #ifndef GL_OES_compressed_ETC1_RGB8_texture
461 #define GL_OES_compressed_ETC1_RGB8_texture 1
462 #endif
463 
464 /* GL_OES_compressed_paletted_texture */
465 #ifndef GL_OES_compressed_paletted_texture
466 #define GL_OES_compressed_paletted_texture 1
467 #endif
468 
469 /* GL_OES_depth24 */
470 #ifndef GL_OES_depth24
471 #define GL_OES_depth24 1
472 #endif
473 
474 /* GL_OES_depth32 */
475 #ifndef GL_OES_depth32
476 #define GL_OES_depth32 1
477 #endif
478 
479 /* GL_OES_depth_texture */
480 #ifndef GL_OES_depth_texture
481 #define GL_OES_depth_texture 1
482 #endif
483 
484 /* GL_OES_EGL_image */
485 #ifndef GL_OES_EGL_image
486 #define GL_OES_EGL_image 1
487 #ifdef GL_GLEXT_PROTOTYPES
488 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
489 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
490 #endif
491 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
492 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
493 #endif
494 
495 /* GL_OES_EGL_image_external */
496 #ifndef GL_OES_EGL_image_external
497 #define GL_OES_EGL_image_external 1
498 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
499 #endif
500 
501 /* GL_OES_element_index_uint */
502 #ifndef GL_OES_element_index_uint
503 #define GL_OES_element_index_uint 1
504 #endif
505 
506 /* GL_OES_fbo_render_mipmap */
507 #ifndef GL_OES_fbo_render_mipmap
508 #define GL_OES_fbo_render_mipmap 1
509 #endif
510 
511 /* GL_OES_fragment_precision_high */
512 #ifndef GL_OES_fragment_precision_high
513 #define GL_OES_fragment_precision_high 1
514 #endif
515 
516 /* GL_OES_get_program_binary */
517 #ifndef GL_OES_get_program_binary
518 #define GL_OES_get_program_binary 1
519 #ifdef GL_GLEXT_PROTOTYPES
520 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
521 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
522 #endif
523 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
524 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
525 #endif
526 
527 /* GL_OES_mapbuffer */
528 #ifndef GL_OES_mapbuffer
529 #define GL_OES_mapbuffer 1
530 #ifdef GL_GLEXT_PROTOTYPES
531 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
532 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
533 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
534 #endif
535 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
536 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
537 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
538 #endif
539 
540 /* GL_OES_packed_depth_stencil */
541 #ifndef GL_OES_packed_depth_stencil
542 #define GL_OES_packed_depth_stencil 1
543 #endif
544 
545 /* GL_OES_rgb8_rgba8 */
546 #ifndef GL_OES_rgb8_rgba8
547 #define GL_OES_rgb8_rgba8 1
548 #endif
549 
550 /* GL_OES_standard_derivatives */
551 #ifndef GL_OES_standard_derivatives
552 #define GL_OES_standard_derivatives 1
553 #endif
554 
555 /* GL_OES_stencil1 */
556 #ifndef GL_OES_stencil1
557 #define GL_OES_stencil1 1
558 #endif
559 
560 /* GL_OES_stencil4 */
561 #ifndef GL_OES_stencil4
562 #define GL_OES_stencil4 1
563 #endif
564 
565 /* GL_OES_texture_3D */
566 #ifndef GL_OES_texture_3D
567 #define GL_OES_texture_3D 1
568 #ifdef GL_GLEXT_PROTOTYPES
569 GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
570 GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
571 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
572 GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
573 GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
574 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
575 #endif
576 typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
577 typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
578 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
579 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
580 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
581 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
582 #endif
583 
584 /* GL_OES_texture_float */
585 #ifndef GL_OES_texture_float
586 #define GL_OES_texture_float 1
587 #endif
588 
589 /* GL_OES_texture_float_linear */
590 #ifndef GL_OES_texture_float_linear
591 #define GL_OES_texture_float_linear 1
592 #endif
593 
594 /* GL_OES_texture_half_float */
595 #ifndef GL_OES_texture_half_float
596 #define GL_OES_texture_half_float 1
597 #endif
598 
599 /* GL_OES_texture_half_float_linear */
600 #ifndef GL_OES_texture_half_float_linear
601 #define GL_OES_texture_half_float_linear 1
602 #endif
603 
604 /* GL_OES_texture_npot */
605 #ifndef GL_OES_texture_npot
606 #define GL_OES_texture_npot 1
607 #endif
608 
609 /* GL_OES_vertex_array_object */
610 #ifndef GL_OES_vertex_array_object
611 #define GL_OES_vertex_array_object 1
612 #ifdef GL_GLEXT_PROTOTYPES
613 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
614 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
615 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
616 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
617 #endif
618 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
619 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
620 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
621 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
622 #endif
623 
624 /* GL_OES_vertex_half_float */
625 #ifndef GL_OES_vertex_half_float
626 #define GL_OES_vertex_half_float 1
627 #endif
628 
629 /* GL_OES_vertex_type_10_10_10_2 */
630 #ifndef GL_OES_vertex_type_10_10_10_2
631 #define GL_OES_vertex_type_10_10_10_2 1
632 #endif
633 
634 /*------------------------------------------------------------------------*
635  * AMD extension functions
636  *------------------------------------------------------------------------*/
637 
638 /* GL_AMD_compressed_3DC_texture */
639 #ifndef GL_AMD_compressed_3DC_texture
640 #define GL_AMD_compressed_3DC_texture 1
641 #endif
642 
643 /* GL_AMD_compressed_ATC_texture */
644 #ifndef GL_AMD_compressed_ATC_texture
645 #define GL_AMD_compressed_ATC_texture 1
646 #endif
647 
648 /* AMD_performance_monitor */
649 #ifndef GL_AMD_performance_monitor
650 #define GL_AMD_performance_monitor 1
651 #ifdef GL_GLEXT_PROTOTYPES
652 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
653 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
654 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
655 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
656 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
657 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
658 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
659 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
660 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
661 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
662 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
663 #endif
664 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
665 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
666 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
667 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
668 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
669 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
670 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
671 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
672 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
673 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
674 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
675 #endif
676 
677 /* GL_AMD_program_binary_Z400 */
678 #ifndef GL_AMD_program_binary_Z400
679 #define GL_AMD_program_binary_Z400 1
680 #endif
681 
682 /*------------------------------------------------------------------------*
683  * ANGLE extension functions
684  *------------------------------------------------------------------------*/
685 
686 /* GL_ANGLE_framebuffer_blit */
687 #ifndef GL_ANGLE_framebuffer_blit
688 #define GL_ANGLE_framebuffer_blit 1
689 #ifdef GL_GLEXT_PROTOTYPES
690 GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
691 #endif
692 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
693 #endif
694 
695 /* GL_ANGLE_framebuffer_multisample */
696 #ifndef GL_ANGLE_framebuffer_multisample
697 #define GL_ANGLE_framebuffer_multisample 1
698 #ifdef GL_GLEXT_PROTOTYPES
699 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
700 #endif
701 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
702 #endif
703 
704 /*------------------------------------------------------------------------*
705  * APPLE extension functions
706  *------------------------------------------------------------------------*/
707 
708 /* GL_APPLE_rgb_422 */
709 #ifndef GL_APPLE_rgb_422
710 #define GL_APPLE_rgb_422 1
711 #endif
712 
713 /* GL_APPLE_framebuffer_multisample */
714 #ifndef GL_APPLE_framebuffer_multisample
715 #define GL_APPLE_framebuffer_multisample 1
716 #ifdef GL_GLEXT_PROTOTYPES
717 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
718 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
719 #endif /* GL_GLEXT_PROTOTYPES */
720 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
721 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
722 #endif
723 
724 /* GL_APPLE_texture_format_BGRA8888 */
725 #ifndef GL_APPLE_texture_format_BGRA8888
726 #define GL_APPLE_texture_format_BGRA8888 1
727 #endif
728 
729 /* GL_APPLE_texture_max_level */
730 #ifndef GL_APPLE_texture_max_level
731 #define GL_APPLE_texture_max_level 1
732 #endif
733 
734 /*------------------------------------------------------------------------*
735  * ARM extension functions
736  *------------------------------------------------------------------------*/
737 
738 /* GL_ARM_mali_shader_binary */
739 #ifndef GL_ARM_mali_shader_binary
740 #define GL_ARM_mali_shader_binary 1
741 #endif
742 
743 /* GL_ARM_rgba8 */
744 #ifndef GL_ARM_rgba8
745 #define GL_ARM_rgba8 1
746 #endif
747 
748 /*------------------------------------------------------------------------*
749  * EXT extension functions
750  *------------------------------------------------------------------------*/
751 
752 /* GL_EXT_blend_minmax */
753 #ifndef GL_EXT_blend_minmax
754 #define GL_EXT_blend_minmax 1
755 #endif
756 
757 /* GL_EXT_discard_framebuffer */
758 #ifndef GL_EXT_discard_framebuffer
759 #define GL_EXT_discard_framebuffer 1
760 #ifdef GL_GLEXT_PROTOTYPES
761 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
762 #endif
763 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
764 #endif
765 
766 #ifndef GL_EXT_multi_draw_arrays
767 #define GL_EXT_multi_draw_arrays 1
768 #ifdef GL_GLEXT_PROTOTYPES
769 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
770 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
771 #endif /* GL_GLEXT_PROTOTYPES */
772 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
773 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
774 #endif
775 
776 /* GL_EXT_read_format_bgra */
777 #ifndef GL_EXT_read_format_bgra
778 #define GL_EXT_read_format_bgra 1
779 #endif
780 
781 /* GL_EXT_texture_filter_anisotropic */
782 #ifndef GL_EXT_texture_filter_anisotropic
783 #define GL_EXT_texture_filter_anisotropic 1
784 #endif
785 
786 /* GL_EXT_texture_format_BGRA8888 */
787 #ifndef GL_EXT_texture_format_BGRA8888
788 #define GL_EXT_texture_format_BGRA8888 1
789 #endif
790 
791 /* GL_EXT_texture_type_2_10_10_10_REV */
792 #ifndef GL_EXT_texture_type_2_10_10_10_REV
793 #define GL_EXT_texture_type_2_10_10_10_REV 1
794 #endif
795 
796 /* GL_EXT_texture_compression_dxt1 */
797 #ifndef GL_EXT_texture_compression_dxt1
798 #define GL_EXT_texture_compression_dxt1 1
799 #endif
800 
801 /* GL_EXT_shader_texture_lod */
802 #ifndef GL_EXT_shader_texture_lod
803 #define GL_EXT_shader_texture_lod 1
804 #endif
805 
806 /*------------------------------------------------------------------------*
807  * IMG extension functions
808  *------------------------------------------------------------------------*/
809 
810 /* GL_IMG_program_binary */
811 #ifndef GL_IMG_program_binary
812 #define GL_IMG_program_binary 1
813 #endif
814 
815 /* GL_IMG_read_format */
816 #ifndef GL_IMG_read_format
817 #define GL_IMG_read_format 1
818 #endif
819 
820 /* GL_IMG_shader_binary */
821 #ifndef GL_IMG_shader_binary
822 #define GL_IMG_shader_binary 1
823 #endif
824 
825 /* GL_IMG_texture_compression_pvrtc */
826 #ifndef GL_IMG_texture_compression_pvrtc
827 #define GL_IMG_texture_compression_pvrtc 1
828 #endif
829 
830 /* GL_IMG_multisampled_render_to_texture */
831 #ifndef GL_IMG_multisampled_render_to_texture
832 #define GL_IMG_multisampled_render_to_texture 1
833 #ifdef GL_GLEXT_PROTOTYPES
834 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
835 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
836 #endif
837 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
838 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
839 #endif
840 
841 /*------------------------------------------------------------------------*
842  * NV extension functions
843  *------------------------------------------------------------------------*/
844 
845 /* GL_NV_fence */
846 #ifndef GL_NV_fence
847 #define GL_NV_fence 1
848 #ifdef GL_GLEXT_PROTOTYPES
849 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
850 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
851 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
852 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
853 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
854 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
855 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
856 #endif
857 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
858 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
859 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
860 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
861 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
862 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
863 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
864 #endif
865 
866 /* GL_NV_coverage_sample */
867 #ifndef GL_NV_coverage_sample
868 #define GL_NV_coverage_sample 1
869 #ifdef GL_GLEXT_PROTOTYPES
870 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
871 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
872 #endif
873 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
874 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
875 #endif
876 
877 /* GL_NV_depth_nonlinear */
878 #ifndef GL_NV_depth_nonlinear
879 #define GL_NV_depth_nonlinear 1
880 #endif
881 
882 /*------------------------------------------------------------------------*
883  * QCOM extension functions
884  *------------------------------------------------------------------------*/
885 
886 /* GL_QCOM_driver_control */
887 #ifndef GL_QCOM_driver_control
888 #define GL_QCOM_driver_control 1
889 #ifdef GL_GLEXT_PROTOTYPES
890 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
891 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
892 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
893 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
894 #endif
895 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
896 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
897 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
898 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
899 #endif
900 
901 /* GL_QCOM_extended_get */
902 #ifndef GL_QCOM_extended_get
903 #define GL_QCOM_extended_get 1
904 #ifdef GL_GLEXT_PROTOTYPES
905 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
906 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
907 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
908 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
909 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
910 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
911 GL_APICALL 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);
912 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
913 #endif
914 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
915 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
916 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
917 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
918 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
919 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
920 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);
921 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
922 #endif
923 
924 /* GL_QCOM_extended_get2 */
925 #ifndef GL_QCOM_extended_get2
926 #define GL_QCOM_extended_get2 1
927 #ifdef GL_GLEXT_PROTOTYPES
928 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
929 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
930 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
931 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
932 #endif
933 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
934 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
935 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
936 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
937 #endif
938 
939 /* GL_QCOM_perfmon_global_mode */
940 #ifndef GL_QCOM_perfmon_global_mode
941 #define GL_QCOM_perfmon_global_mode 1
942 #endif
943 
944 /* GL_QCOM_writeonly_rendering */
945 #ifndef GL_QCOM_writeonly_rendering
946 #define GL_QCOM_writeonly_rendering 1
947 #endif
948 
949 /* GL_QCOM_tiled_rendering */
950 #ifndef GL_QCOM_tiled_rendering
951 #define GL_QCOM_tiled_rendering 1
952 #ifdef GL_GLEXT_PROTOTYPES
953 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
954 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
955 #endif
956 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
957 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
958 #endif
959 
960 /*------------------------------------------------------------------------*
961  * VIV extension tokens
962  *------------------------------------------------------------------------*/
963 
964 /* GL_VIV_shader_binary */
965 #ifndef GL_VIV_shader_binary
966 #define GL_VIV_shader_binary 1
967 #endif
968 
969 #ifdef __cplusplus
970 }
971 #endif
972 
973 #endif /* __gl2ext_h_ */
974