]> git.cworth.org Git - apitrace/blob - thirdparty/khr/GLES2/gl2ext.h
Don't package TODO.markdown anymore.
[apitrace] / thirdparty / khr / GLES2 / gl2ext.h
1 #ifndef __gl2ext_h_
2 #define __gl2ext_h_
3
4 /* $Revision: 15049 $ on $Date:: 2011-07-06 17:28:16 -0700 #$ */
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_shader_texture_lod */
282 /* No new tokens introduced by this extension. */
283
284 /* GL_EXT_texture_filter_anisotropic */
285 #ifndef GL_EXT_texture_filter_anisotropic
286 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
287 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
288 #endif
289
290 /* GL_EXT_texture_format_BGRA8888 */
291 #ifndef GL_EXT_texture_format_BGRA8888
292 #define GL_BGRA_EXT                                             0x80E1
293 #endif
294
295 /* GL_EXT_texture_type_2_10_10_10_REV */
296 #ifndef GL_EXT_texture_type_2_10_10_10_REV
297 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
298 #endif
299
300 /* GL_EXT_texture_compression_dxt1 */
301 #ifndef GL_EXT_texture_compression_dxt1
302 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
303 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
304 #endif
305
306 /* GL_EXT_unpack_subimage */
307 #ifndef GL_EXT_unpack_subimage
308 #define GL_UNPACK_ROW_LENGTH                                    0x0CF2
309 #define GL_UNPACK_SKIP_ROWS                                     0x0CF3
310 #define GL_UNPACK_SKIP_PIXELS                                   0x0CF4
311 #endif
312
313 /*------------------------------------------------------------------------*
314  * DMP extension tokens
315  *------------------------------------------------------------------------*/
316
317 /* GL_DMP_shader_binary */
318 #ifndef GL_DMP_shader_binary
319 #define GL_SHADER_BINARY_DMP                                    0x9250
320 #endif
321
322 /*------------------------------------------------------------------------*
323  * IMG extension tokens
324  *------------------------------------------------------------------------*/
325
326 /* GL_IMG_program_binary */
327 #ifndef GL_IMG_program_binary
328 #define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
329 #endif
330
331 /* GL_IMG_read_format */
332 #ifndef GL_IMG_read_format
333 #define GL_BGRA_IMG                                             0x80E1
334 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
335 #endif
336
337 /* GL_IMG_shader_binary */
338 #ifndef GL_IMG_shader_binary
339 #define GL_SGX_BINARY_IMG                                       0x8C0A
340 #endif
341
342 /* GL_IMG_texture_compression_pvrtc */
343 #ifndef GL_IMG_texture_compression_pvrtc
344 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
345 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
346 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
347 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
348 #endif
349
350 /* GL_IMG_multisampled_render_to_texture */
351 #ifndef GL_IMG_multisampled_render_to_texture
352 #define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
353 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
354 #define GL_MAX_SAMPLES_IMG                                      0x9135
355 #define GL_TEXTURE_SAMPLES_IMG                                  0x9136
356 #endif
357
358 /*------------------------------------------------------------------------*
359  * NV extension tokens
360  *------------------------------------------------------------------------*/
361
362 /* GL_NV_coverage_sample */
363 #ifndef GL_NV_coverage_sample
364 #define GL_COVERAGE_COMPONENT_NV                                0x8ED0
365 #define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
366 #define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
367 #define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
368 #define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
369 #define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
370 #define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
371 #define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
372 #define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
373 #endif
374
375 /* GL_NV_depth_nonlinear */
376 #ifndef GL_NV_depth_nonlinear
377 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
378 #endif
379
380 /* GL_NV_draw_buffers */
381 #ifndef GL_NV_draw_buffers
382 #define GL_MAX_DRAW_BUFFERS_NV                                  0x8824
383 #define GL_DRAW_BUFFER0_NV                                      0x8825
384 #define GL_DRAW_BUFFER1_NV                                      0x8826
385 #define GL_DRAW_BUFFER2_NV                                      0x8827
386 #define GL_DRAW_BUFFER3_NV                                      0x8828
387 #define GL_DRAW_BUFFER4_NV                                      0x8829
388 #define GL_DRAW_BUFFER5_NV                                      0x882A
389 #define GL_DRAW_BUFFER6_NV                                      0x882B
390 #define GL_DRAW_BUFFER7_NV                                      0x882C
391 #define GL_DRAW_BUFFER8_NV                                      0x882D
392 #define GL_DRAW_BUFFER9_NV                                      0x882E
393 #define GL_DRAW_BUFFER10_NV                                     0x882F
394 #define GL_DRAW_BUFFER11_NV                                     0x8830
395 #define GL_DRAW_BUFFER12_NV                                     0x8831
396 #define GL_DRAW_BUFFER13_NV                                     0x8832
397 #define GL_DRAW_BUFFER14_NV                                     0x8833
398 #define GL_DRAW_BUFFER15_NV                                     0x8834
399 #define GL_COLOR_ATTACHMENT0_NV                                 0x8CE0
400 #define GL_COLOR_ATTACHMENT1_NV                                 0x8CE1
401 #define GL_COLOR_ATTACHMENT2_NV                                 0x8CE2
402 #define GL_COLOR_ATTACHMENT3_NV                                 0x8CE3
403 #define GL_COLOR_ATTACHMENT4_NV                                 0x8CE4
404 #define GL_COLOR_ATTACHMENT5_NV                                 0x8CE5
405 #define GL_COLOR_ATTACHMENT6_NV                                 0x8CE6
406 #define GL_COLOR_ATTACHMENT7_NV                                 0x8CE7
407 #define GL_COLOR_ATTACHMENT8_NV                                 0x8CE8
408 #define GL_COLOR_ATTACHMENT9_NV                                 0x8CE9
409 #define GL_COLOR_ATTACHMENT10_NV                                0x8CEA
410 #define GL_COLOR_ATTACHMENT11_NV                                0x8CEB
411 #define GL_COLOR_ATTACHMENT12_NV                                0x8CEC
412 #define GL_COLOR_ATTACHMENT13_NV                                0x8CED
413 #define GL_COLOR_ATTACHMENT14_NV                                0x8CEE
414 #define GL_COLOR_ATTACHMENT15_NV                                0x8CEF
415 #endif
416
417 /* GL_NV_fbo_color_attachments */
418 #ifndef GL_NV_fbo_color_attachments
419 #define GL_MAX_COLOR_ATTACHMENTS_NV                             0x8CDF
420 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */
421 #endif
422
423 /* GL_NV_fence */
424 #ifndef GL_NV_fence
425 #define GL_ALL_COMPLETED_NV                                     0x84F2
426 #define GL_FENCE_STATUS_NV                                      0x84F3
427 #define GL_FENCE_CONDITION_NV                                   0x84F4
428 #endif
429
430 /* GL_NV_read_buffer */
431 #ifndef GL_NV_read_buffer
432 #define GL_READ_BUFFER_NV                                       0x0C02
433 #endif
434
435 /* GL_NV_read_buffer_front */
436 /* No new tokens introduced by this extension. */
437
438 /* GL_NV_read_depth */
439 /* No new tokens introduced by this extension. */
440
441 /* GL_NV_read_depth_stencil */
442 /* No new tokens introduced by this extension. */
443
444 /* GL_NV_read_stencil */
445 /* No new tokens introduced by this extension. */
446
447 /* GL_NV_texture_compression_s3tc_update */
448 /* No new tokens introduced by this extension. */
449
450 /* GL_NV_texture_npot_2D_mipmap */
451 /* No new tokens introduced by this extension. */
452
453 /*------------------------------------------------------------------------*
454  * QCOM extension tokens
455  *------------------------------------------------------------------------*/
456
457 /* GL_QCOM_alpha_test */
458 #ifndef GL_QCOM_alpha_test
459 #define GL_ALPHA_TEST_QCOM                                      0x0BC0
460 #define GL_ALPHA_TEST_FUNC_QCOM                                 0x0BC1
461 #define GL_ALPHA_TEST_REF_QCOM                                  0x0BC2
462 #endif
463
464 /* GL_QCOM_driver_control */
465 /* No new tokens introduced by this extension. */
466
467 /* GL_QCOM_extended_get */
468 #ifndef GL_QCOM_extended_get
469 #define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
470 #define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
471 #define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
472 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
473 #define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
474 #define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
475 #define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
476 #define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
477 #define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
478 #define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
479 #define GL_STATE_RESTORE                                        0x8BDC
480 #endif
481
482 /* GL_QCOM_extended_get2 */
483 /* No new tokens introduced by this extension. */
484
485 /* GL_QCOM_perfmon_global_mode */
486 #ifndef GL_QCOM_perfmon_global_mode
487 #define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
488 #endif
489
490 /* GL_QCOM_writeonly_rendering */
491 #ifndef GL_QCOM_writeonly_rendering
492 #define GL_WRITEONLY_RENDERING_QCOM                             0x8823
493 #endif
494
495 /* GL_QCOM_tiled_rendering */
496 #ifndef GL_QCOM_tiled_rendering
497 #define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
498 #define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
499 #define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
500 #define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
501 #define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
502 #define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
503 #define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
504 #define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
505 #define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
506 #define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
507 #define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
508 #define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
509 #define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
510 #define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
511 #define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
512 #define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
513 #define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
514 #define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
515 #define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
516 #define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
517 #define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
518 #define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
519 #define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
520 #define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
521 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
522 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
523 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
524 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
525 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
526 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
527 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
528 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
529 #endif
530
531 /*------------------------------------------------------------------------*
532  * VIV extension tokens
533  *------------------------------------------------------------------------*/
534
535 /* GL_VIV_shader_binary */
536 #ifndef GL_VIV_shader_binary
537 #define GL_SHADER_BINARY_VIV                                    0x8FC4
538 #endif
539
540 /*------------------------------------------------------------------------*
541  * End of extension tokens, start of corresponding extension functions
542  *------------------------------------------------------------------------*/
543
544 /*------------------------------------------------------------------------*
545  * OES extension functions
546  *------------------------------------------------------------------------*/
547
548 /* GL_OES_compressed_ETC1_RGB8_texture */
549 #ifndef GL_OES_compressed_ETC1_RGB8_texture
550 #define GL_OES_compressed_ETC1_RGB8_texture 1
551 #endif
552
553 /* GL_OES_compressed_paletted_texture */
554 #ifndef GL_OES_compressed_paletted_texture
555 #define GL_OES_compressed_paletted_texture 1
556 #endif
557
558 /* GL_OES_depth24 */
559 #ifndef GL_OES_depth24
560 #define GL_OES_depth24 1
561 #endif
562
563 /* GL_OES_depth32 */
564 #ifndef GL_OES_depth32
565 #define GL_OES_depth32 1
566 #endif
567
568 /* GL_OES_depth_texture */
569 #ifndef GL_OES_depth_texture
570 #define GL_OES_depth_texture 1
571 #endif
572
573 /* GL_OES_EGL_image */
574 #ifndef GL_OES_EGL_image
575 #define GL_OES_EGL_image 1
576 #ifdef GL_GLEXT_PROTOTYPES
577 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
578 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
579 #endif
580 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
581 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
582 #endif
583
584 /* GL_OES_EGL_image_external */
585 #ifndef GL_OES_EGL_image_external
586 #define GL_OES_EGL_image_external 1
587 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */
588 #endif
589
590 /* GL_OES_element_index_uint */
591 #ifndef GL_OES_element_index_uint
592 #define GL_OES_element_index_uint 1
593 #endif
594
595 /* GL_OES_fbo_render_mipmap */
596 #ifndef GL_OES_fbo_render_mipmap
597 #define GL_OES_fbo_render_mipmap 1
598 #endif
599
600 /* GL_OES_fragment_precision_high */
601 #ifndef GL_OES_fragment_precision_high
602 #define GL_OES_fragment_precision_high 1
603 #endif
604
605 /* GL_OES_get_program_binary */
606 #ifndef GL_OES_get_program_binary
607 #define GL_OES_get_program_binary 1
608 #ifdef GL_GLEXT_PROTOTYPES
609 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
610 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
611 #endif
612 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
613 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
614 #endif
615
616 /* GL_OES_mapbuffer */
617 #ifndef GL_OES_mapbuffer
618 #define GL_OES_mapbuffer 1
619 #ifdef GL_GLEXT_PROTOTYPES
620 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
621 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
622 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
623 #endif
624 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
625 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
626 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
627 #endif
628
629 /* GL_OES_packed_depth_stencil */
630 #ifndef GL_OES_packed_depth_stencil
631 #define GL_OES_packed_depth_stencil 1
632 #endif
633
634 /* GL_OES_rgb8_rgba8 */
635 #ifndef GL_OES_rgb8_rgba8
636 #define GL_OES_rgb8_rgba8 1
637 #endif
638
639 /* GL_OES_standard_derivatives */
640 #ifndef GL_OES_standard_derivatives
641 #define GL_OES_standard_derivatives 1
642 #endif
643
644 /* GL_OES_stencil1 */
645 #ifndef GL_OES_stencil1
646 #define GL_OES_stencil1 1
647 #endif
648
649 /* GL_OES_stencil4 */
650 #ifndef GL_OES_stencil4
651 #define GL_OES_stencil4 1
652 #endif
653
654 /* GL_OES_texture_3D */
655 #ifndef GL_OES_texture_3D
656 #define GL_OES_texture_3D 1
657 #ifdef GL_GLEXT_PROTOTYPES
658 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);
659 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);
660 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
661 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);
662 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);
663 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
664 #endif
665 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);
666 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);
667 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
668 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
669 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);
670 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
671 #endif
672
673 /* GL_OES_texture_float */
674 #ifndef GL_OES_texture_float
675 #define GL_OES_texture_float 1
676 #endif
677
678 /* GL_OES_texture_float_linear */
679 #ifndef GL_OES_texture_float_linear
680 #define GL_OES_texture_float_linear 1
681 #endif
682
683 /* GL_OES_texture_half_float */
684 #ifndef GL_OES_texture_half_float
685 #define GL_OES_texture_half_float 1
686 #endif
687
688 /* GL_OES_texture_half_float_linear */
689 #ifndef GL_OES_texture_half_float_linear
690 #define GL_OES_texture_half_float_linear 1
691 #endif
692
693 /* GL_OES_texture_npot */
694 #ifndef GL_OES_texture_npot
695 #define GL_OES_texture_npot 1
696 #endif
697
698 /* GL_OES_vertex_array_object */
699 #ifndef GL_OES_vertex_array_object
700 #define GL_OES_vertex_array_object 1
701 #ifdef GL_GLEXT_PROTOTYPES
702 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
703 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
704 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
705 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
706 #endif
707 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
708 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
709 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
710 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
711 #endif
712
713 /* GL_OES_vertex_half_float */
714 #ifndef GL_OES_vertex_half_float
715 #define GL_OES_vertex_half_float 1
716 #endif
717
718 /* GL_OES_vertex_type_10_10_10_2 */
719 #ifndef GL_OES_vertex_type_10_10_10_2
720 #define GL_OES_vertex_type_10_10_10_2 1
721 #endif
722
723 /*------------------------------------------------------------------------*
724  * AMD extension functions
725  *------------------------------------------------------------------------*/
726
727 /* GL_AMD_compressed_3DC_texture */
728 #ifndef GL_AMD_compressed_3DC_texture
729 #define GL_AMD_compressed_3DC_texture 1
730 #endif
731
732 /* GL_AMD_compressed_ATC_texture */
733 #ifndef GL_AMD_compressed_ATC_texture
734 #define GL_AMD_compressed_ATC_texture 1
735 #endif
736
737 /* AMD_performance_monitor */
738 #ifndef GL_AMD_performance_monitor
739 #define GL_AMD_performance_monitor 1
740 #ifdef GL_GLEXT_PROTOTYPES
741 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
742 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
743 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
744 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
745 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
746 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
747 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
748 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
749 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
750 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
751 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
752 #endif
753 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
754 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
755 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
756 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
757 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
758 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
759 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
760 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
761 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
762 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
763 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
764 #endif
765
766 /* GL_AMD_program_binary_Z400 */
767 #ifndef GL_AMD_program_binary_Z400
768 #define GL_AMD_program_binary_Z400 1
769 #endif
770
771 /*------------------------------------------------------------------------*
772  * ANGLE extension functions
773  *------------------------------------------------------------------------*/
774
775 /* GL_ANGLE_framebuffer_blit */
776 #ifndef GL_ANGLE_framebuffer_blit
777 #define GL_ANGLE_framebuffer_blit 1
778 #ifdef GL_GLEXT_PROTOTYPES
779 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);
780 #endif
781 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);
782 #endif
783
784 /* GL_ANGLE_framebuffer_multisample */
785 #ifndef GL_ANGLE_framebuffer_multisample
786 #define GL_ANGLE_framebuffer_multisample 1
787 #ifdef GL_GLEXT_PROTOTYPES
788 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
789 #endif
790 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
791 #endif
792
793 /*------------------------------------------------------------------------*
794  * APPLE extension functions
795  *------------------------------------------------------------------------*/
796
797 /* GL_APPLE_rgb_422 */
798 #ifndef GL_APPLE_rgb_422
799 #define GL_APPLE_rgb_422 1
800 #endif
801
802 /* GL_APPLE_framebuffer_multisample */
803 #ifndef GL_APPLE_framebuffer_multisample
804 #define GL_APPLE_framebuffer_multisample 1
805 #ifdef GL_GLEXT_PROTOTYPES
806 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
807 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
808 #endif /* GL_GLEXT_PROTOTYPES */
809 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
810 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
811 #endif
812
813 /* GL_APPLE_texture_format_BGRA8888 */
814 #ifndef GL_APPLE_texture_format_BGRA8888
815 #define GL_APPLE_texture_format_BGRA8888 1
816 #endif
817
818 /* GL_APPLE_texture_max_level */
819 #ifndef GL_APPLE_texture_max_level
820 #define GL_APPLE_texture_max_level 1
821 #endif
822
823 /*------------------------------------------------------------------------*
824  * ARM extension functions
825  *------------------------------------------------------------------------*/
826
827 /* GL_ARM_mali_shader_binary */
828 #ifndef GL_ARM_mali_shader_binary
829 #define GL_ARM_mali_shader_binary 1
830 #endif
831
832 /* GL_ARM_rgba8 */
833 #ifndef GL_ARM_rgba8
834 #define GL_ARM_rgba8 1
835 #endif
836
837 /*------------------------------------------------------------------------*
838  * EXT extension functions
839  *------------------------------------------------------------------------*/
840
841 /* GL_EXT_blend_minmax */
842 #ifndef GL_EXT_blend_minmax
843 #define GL_EXT_blend_minmax 1
844 #endif
845
846 /* GL_EXT_discard_framebuffer */
847 #ifndef GL_EXT_discard_framebuffer
848 #define GL_EXT_discard_framebuffer 1
849 #ifdef GL_GLEXT_PROTOTYPES
850 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
851 #endif
852 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
853 #endif
854
855 #ifndef GL_EXT_multi_draw_arrays
856 #define GL_EXT_multi_draw_arrays 1
857 #ifdef GL_GLEXT_PROTOTYPES
858 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
859 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
860 #endif /* GL_GLEXT_PROTOTYPES */
861 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
862 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
863 #endif
864
865 /* GL_EXT_read_format_bgra */
866 #ifndef GL_EXT_read_format_bgra
867 #define GL_EXT_read_format_bgra 1
868 #endif
869
870 /* GL_EXT_shader_texture_lod */
871 #ifndef GL_EXT_shader_texture_lod
872 #define GL_EXT_shader_texture_lod 1
873 #endif
874
875 /* GL_EXT_texture_filter_anisotropic */
876 #ifndef GL_EXT_texture_filter_anisotropic
877 #define GL_EXT_texture_filter_anisotropic 1
878 #endif
879
880 /* GL_EXT_texture_format_BGRA8888 */
881 #ifndef GL_EXT_texture_format_BGRA8888
882 #define GL_EXT_texture_format_BGRA8888 1
883 #endif
884
885 /* GL_EXT_texture_type_2_10_10_10_REV */
886 #ifndef GL_EXT_texture_type_2_10_10_10_REV
887 #define GL_EXT_texture_type_2_10_10_10_REV 1
888 #endif
889
890 /* GL_EXT_texture_compression_dxt1 */
891 #ifndef GL_EXT_texture_compression_dxt1
892 #define GL_EXT_texture_compression_dxt1 1
893 #endif
894
895 /* GL_EXT_unpack_subimage */
896 #ifndef GL_EXT_unpack_subimage
897 #define GL_EXT_unpack_subimage 1
898 #endif
899
900 /*------------------------------------------------------------------------*
901  * DMP extension functions
902  *------------------------------------------------------------------------*/
903
904 /* GL_DMP_shader_binary */
905 #ifndef GL_DMP_shader_binary
906 #define GL_DMP_shader_binary 1
907 #endif
908
909 /*------------------------------------------------------------------------*
910  * IMG extension functions
911  *------------------------------------------------------------------------*/
912
913 /* GL_IMG_program_binary */
914 #ifndef GL_IMG_program_binary
915 #define GL_IMG_program_binary 1
916 #endif
917
918 /* GL_IMG_read_format */
919 #ifndef GL_IMG_read_format
920 #define GL_IMG_read_format 1
921 #endif
922
923 /* GL_IMG_shader_binary */
924 #ifndef GL_IMG_shader_binary
925 #define GL_IMG_shader_binary 1
926 #endif
927
928 /* GL_IMG_texture_compression_pvrtc */
929 #ifndef GL_IMG_texture_compression_pvrtc
930 #define GL_IMG_texture_compression_pvrtc 1
931 #endif
932
933 /* GL_IMG_multisampled_render_to_texture */
934 #ifndef GL_IMG_multisampled_render_to_texture
935 #define GL_IMG_multisampled_render_to_texture 1
936 #ifdef GL_GLEXT_PROTOTYPES
937 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
938 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
939 #endif
940 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
941 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
942 #endif
943
944 /*------------------------------------------------------------------------*
945  * NV extension functions
946  *------------------------------------------------------------------------*/
947
948 /* GL_NV_coverage_sample */
949 #ifndef GL_NV_coverage_sample
950 #define GL_NV_coverage_sample 1
951 #ifdef GL_GLEXT_PROTOTYPES
952 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
953 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
954 #endif
955 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
956 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
957 #endif
958
959 /* GL_NV_depth_nonlinear */
960 #ifndef GL_NV_depth_nonlinear
961 #define GL_NV_depth_nonlinear 1
962 #endif
963
964 /* GL_NV_draw_buffers */
965 #ifndef GL_NV_draw_buffers
966 #define GL_NV_draw_buffers 1
967 #ifdef GL_GLEXT_PROTOTYPES
968 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
969 #endif
970 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
971 #endif
972
973 /* GL_NV_fbo_color_attachments */
974 #ifndef GL_NV_fbo_color_attachments
975 #define GL_NV_fbo_color_attachments 1
976 #endif
977
978 /* GL_NV_fence */
979 #ifndef GL_NV_fence
980 #define GL_NV_fence 1
981 #ifdef GL_GLEXT_PROTOTYPES
982 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
983 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
984 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
985 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
986 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
987 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
988 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
989 #endif
990 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
991 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
992 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
993 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
994 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
995 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
996 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
997 #endif
998
999 /* GL_NV_read_buffer */
1000 #ifndef GL_NV_read_buffer
1001 #define GL_NV_read_buffer 1
1002 #ifdef GL_GLEXT_PROTOTYPES
1003 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1004 #endif
1005 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1006 #endif
1007
1008 /* GL_NV_read_buffer_front */
1009 #ifndef GL_NV_read_buffer_front
1010 #define GL_NV_read_buffer_front 1
1011 #endif
1012
1013 /* GL_NV_read_depth */
1014 #ifndef GL_NV_read_depth
1015 #define GL_NV_read_depth 1
1016 #endif
1017
1018 /* GL_NV_read_depth_stencil */
1019 #ifndef GL_NV_read_depth_stencil
1020 #define GL_NV_read_depth_stencil 1
1021 #endif
1022
1023 /* GL_NV_read_stencil */
1024 #ifndef GL_NV_read_stencil
1025 #define GL_NV_read_stencil 1
1026 #endif
1027
1028 /* GL_NV_texture_compression_s3tc_update */
1029 #ifndef GL_NV_texture_compression_s3tc_update
1030 #define GL_NV_texture_compression_s3tc_update 1
1031 #endif
1032
1033 /* GL_NV_texture_npot_2D_mipmap */
1034 #ifndef GL_NV_texture_npot_2D_mipmap
1035 #define GL_NV_texture_npot_2D_mipmap 1
1036 #endif
1037
1038 /*------------------------------------------------------------------------*
1039  * QCOM extension functions
1040  *------------------------------------------------------------------------*/
1041
1042 /* GL_QCOM_alpha_test */
1043 #ifndef GL_QCOM_alpha_test
1044 #define GL_QCOM_alpha_test 1
1045 #ifdef GL_GLEXT_PROTOTYPES
1046 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1047 #endif
1048 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1049 #endif
1050
1051 /* GL_QCOM_driver_control */
1052 #ifndef GL_QCOM_driver_control
1053 #define GL_QCOM_driver_control 1
1054 #ifdef GL_GLEXT_PROTOTYPES
1055 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1056 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1057 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1058 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1059 #endif
1060 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1061 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1062 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1063 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1064 #endif
1065
1066 /* GL_QCOM_extended_get */
1067 #ifndef GL_QCOM_extended_get
1068 #define GL_QCOM_extended_get 1
1069 #ifdef GL_GLEXT_PROTOTYPES
1070 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1071 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1072 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1073 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1074 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1075 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1076 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);
1077 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
1078 #endif
1079 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1080 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1081 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1082 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1083 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1084 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1085 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);
1086 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
1087 #endif
1088
1089 /* GL_QCOM_extended_get2 */
1090 #ifndef GL_QCOM_extended_get2
1091 #define GL_QCOM_extended_get2 1
1092 #ifdef GL_GLEXT_PROTOTYPES
1093 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1094 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1095 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1096 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1097 #endif
1098 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1099 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1100 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1101 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1102 #endif
1103
1104 /* GL_QCOM_perfmon_global_mode */
1105 #ifndef GL_QCOM_perfmon_global_mode
1106 #define GL_QCOM_perfmon_global_mode 1
1107 #endif
1108
1109 /* GL_QCOM_writeonly_rendering */
1110 #ifndef GL_QCOM_writeonly_rendering
1111 #define GL_QCOM_writeonly_rendering 1
1112 #endif
1113
1114 /* GL_QCOM_tiled_rendering */
1115 #ifndef GL_QCOM_tiled_rendering
1116 #define GL_QCOM_tiled_rendering 1
1117 #ifdef GL_GLEXT_PROTOTYPES
1118 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1119 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1120 #endif
1121 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1122 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1123 #endif
1124
1125 /*------------------------------------------------------------------------*
1126  * VIV extension tokens
1127  *------------------------------------------------------------------------*/
1128
1129 /* GL_VIV_shader_binary */
1130 #ifndef GL_VIV_shader_binary
1131 #define GL_VIV_shader_binary 1
1132 #endif
1133
1134 #ifdef __cplusplus
1135 }
1136 #endif
1137
1138 #endif /* __gl2ext_h_ */