1 /* 2 Copyright (c) 2012, Broadcom Europe Ltd 3 All rights reserved. 4 5 Redistribution and use in source and binary forms, with or without 6 modification, are permitted provided that the following conditions are met: 7 * Redistributions of source code must retain the above copyright 8 notice, this list of conditions and the following disclaimer. 9 * Redistributions in binary form must reproduce the above copyright 10 notice, this list of conditions and the following disclaimer in the 11 documentation and/or other materials provided with the distribution. 12 * Neither the name of the copyright holder nor the 13 names of its contributors may be used to endorse or promote products 14 derived from this software without specific prior written permission. 15 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY 20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 #ifndef __gl2ext_h_ 28 #define __gl2ext_h_ 29 30 /* $Revision: 15049 $ on $Date:: 2011-07-07 01:28:16 +0100 #$ */ 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 /* We want this */ 37 #ifndef GL_GLEXT_PROTOTYPES 38 #define GL_GLEXT_PROTOTYPES 39 #endif 40 41 /* 42 * This document is licensed under the SGI Free Software B License Version 43 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 44 */ 45 46 #ifndef GL_APIENTRYP 47 # define GL_APIENTRYP GL_APIENTRY* 48 #endif 49 50 /*------------------------------------------------------------------------* 51 * OES extension tokens 52 *------------------------------------------------------------------------*/ 53 54 /* GL_OES_compressed_ETC1_RGB8_texture */ 55 #ifndef GL_OES_compressed_ETC1_RGB8_texture 56 #define GL_ETC1_RGB8_OES 0x8D64 57 #endif 58 59 /* GL_OES_compressed_paletted_texture */ 60 #ifndef GL_OES_compressed_paletted_texture 61 #define GL_PALETTE4_RGB8_OES 0x8B90 62 #define GL_PALETTE4_RGBA8_OES 0x8B91 63 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 64 #define GL_PALETTE4_RGBA4_OES 0x8B93 65 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 66 #define GL_PALETTE8_RGB8_OES 0x8B95 67 #define GL_PALETTE8_RGBA8_OES 0x8B96 68 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 69 #define GL_PALETTE8_RGBA4_OES 0x8B98 70 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 71 #endif 72 73 /* GL_OES_depth24 */ 74 #ifndef GL_OES_depth24 75 #define GL_DEPTH_COMPONENT24_OES 0x81A6 76 #endif 77 78 /* GL_OES_depth32 */ 79 #ifndef GL_OES_depth32 80 #define GL_DEPTH_COMPONENT32_OES 0x81A7 81 #endif 82 83 /* GL_OES_depth_texture */ 84 /* No new tokens introduced by this extension. */ 85 86 /* GL_OES_EGL_image */ 87 #ifndef GL_OES_EGL_image 88 typedef void* GLeglImageOES; 89 #endif 90 91 /* GL_OES_EGL_image_external */ 92 #ifndef GL_OES_EGL_image_external 93 /* GLeglImageOES defined in GL_OES_EGL_image already. */ 94 #define GL_TEXTURE_EXTERNAL_OES 0x8D65 95 #define GL_SAMPLER_EXTERNAL_OES 0x8D66 96 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 97 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 98 #endif 99 100 /* GL_OES_element_index_uint */ 101 #ifndef GL_OES_element_index_uint 102 #define GL_UNSIGNED_INT 0x1405 103 #endif 104 105 /* GL_OES_get_program_binary */ 106 #ifndef GL_OES_get_program_binary 107 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 108 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE 109 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF 110 #endif 111 112 /* GL_OES_mapbuffer */ 113 #ifndef GL_OES_mapbuffer 114 #define GL_WRITE_ONLY_OES 0x88B9 115 #define GL_BUFFER_ACCESS_OES 0x88BB 116 #define GL_BUFFER_MAPPED_OES 0x88BC 117 #define GL_BUFFER_MAP_POINTER_OES 0x88BD 118 #endif 119 120 /* GL_OES_packed_depth_stencil */ 121 #ifndef GL_OES_packed_depth_stencil 122 #define GL_DEPTH_STENCIL_OES 0x84F9 123 #define GL_UNSIGNED_INT_24_8_OES 0x84FA 124 #define GL_DEPTH24_STENCIL8_OES 0x88F0 125 #endif 126 127 /* GL_OES_rgb8_rgba8 */ 128 #ifndef GL_OES_rgb8_rgba8 129 #define GL_RGB8_OES 0x8051 130 #define GL_RGBA8_OES 0x8058 131 #endif 132 133 /* GL_OES_standard_derivatives */ 134 #ifndef GL_OES_standard_derivatives 135 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 136 #endif 137 138 /* GL_OES_stencil1 */ 139 #ifndef GL_OES_stencil1 140 #define GL_STENCIL_INDEX1_OES 0x8D46 141 #endif 142 143 /* GL_OES_stencil4 */ 144 #ifndef GL_OES_stencil4 145 #define GL_STENCIL_INDEX4_OES 0x8D47 146 #endif 147 148 /* GL_OES_texture_3D */ 149 #ifndef GL_OES_texture_3D 150 #define GL_TEXTURE_WRAP_R_OES 0x8072 151 #define GL_TEXTURE_3D_OES 0x806F 152 #define GL_TEXTURE_BINDING_3D_OES 0x806A 153 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 154 #define GL_SAMPLER_3D_OES 0x8B5F 155 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 156 #endif 157 158 /* GL_OES_texture_float */ 159 /* No new tokens introduced by this extension. */ 160 161 /* GL_OES_texture_float_linear */ 162 /* No new tokens introduced by this extension. */ 163 164 /* GL_OES_texture_half_float */ 165 #ifndef GL_OES_texture_half_float 166 #define GL_HALF_FLOAT_OES 0x8D61 167 #endif 168 169 /* GL_OES_texture_half_float_linear */ 170 /* No new tokens introduced by this extension. */ 171 172 /* GL_OES_texture_npot */ 173 /* No new tokens introduced by this extension. */ 174 175 /* GL_OES_vertex_array_object */ 176 #ifndef GL_OES_vertex_array_object 177 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 178 #endif 179 180 /* GL_OES_vertex_half_float */ 181 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 182 183 /* GL_OES_vertex_type_10_10_10_2 */ 184 #ifndef GL_OES_vertex_type_10_10_10_2 185 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 186 #define GL_INT_10_10_10_2_OES 0x8DF7 187 #endif 188 189 /*------------------------------------------------------------------------* 190 * AMD extension tokens 191 *------------------------------------------------------------------------*/ 192 193 /* GL_AMD_compressed_3DC_texture */ 194 #ifndef GL_AMD_compressed_3DC_texture 195 #define GL_3DC_X_AMD 0x87F9 196 #define GL_3DC_XY_AMD 0x87FA 197 #endif 198 199 /* GL_AMD_compressed_ATC_texture */ 200 #ifndef GL_AMD_compressed_ATC_texture 201 #define GL_ATC_RGB_AMD 0x8C92 202 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 203 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 204 #endif 205 206 /* GL_AMD_performance_monitor */ 207 #ifndef GL_AMD_performance_monitor 208 #define GL_COUNTER_TYPE_AMD 0x8BC0 209 #define GL_COUNTER_RANGE_AMD 0x8BC1 210 #define GL_UNSIGNED_INT64_AMD 0x8BC2 211 #define GL_PERCENTAGE_AMD 0x8BC3 212 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 213 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 214 #define GL_PERFMON_RESULT_AMD 0x8BC6 215 #endif 216 217 /* GL_AMD_program_binary_Z400 */ 218 #ifndef GL_AMD_program_binary_Z400 219 #define GL_Z400_BINARY_AMD 0x8740 220 #endif 221 222 /*------------------------------------------------------------------------* 223 * ANGLE extension tokens 224 *------------------------------------------------------------------------*/ 225 226 /* GL_ANGLE_framebuffer_blit */ 227 #ifndef GL_ANGLE_framebuffer_blit 228 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 229 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 230 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 231 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 232 #endif 233 234 /* GL_ANGLE_framebuffer_multisample */ 235 #ifndef GL_ANGLE_framebuffer_multisample 236 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 237 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 238 #define GL_MAX_SAMPLES_ANGLE 0x8D57 239 #endif 240 241 /*------------------------------------------------------------------------* 242 * APPLE extension tokens 243 *------------------------------------------------------------------------*/ 244 245 /* GL_APPLE_rgb_422 */ 246 #ifndef GL_APPLE_rgb_422 247 #define GL_RGB_422_APPLE 0x8A1F 248 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 249 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 250 #endif 251 252 /* GL_APPLE_framebuffer_multisample */ 253 #ifndef GL_APPLE_framebuffer_multisample 254 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 255 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 256 #define GL_MAX_SAMPLES_APPLE 0x8D57 257 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 258 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 259 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 260 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 261 #endif 262 263 /* GL_APPLE_texture_format_BGRA8888 */ 264 #ifndef GL_APPLE_texture_format_BGRA8888 265 #define GL_BGRA_EXT 0x80E1 266 #endif 267 268 /* GL_APPLE_texture_max_level */ 269 #ifndef GL_APPLE_texture_max_level 270 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 271 #endif 272 273 /*------------------------------------------------------------------------* 274 * ARM extension tokens 275 *------------------------------------------------------------------------*/ 276 277 /* GL_ARM_mali_shader_binary */ 278 #ifndef GL_ARM_mali_shader_binary 279 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 280 #endif 281 282 /* GL_ARM_rgba8 */ 283 /* No new tokens introduced by this extension. */ 284 285 /*------------------------------------------------------------------------* 286 * EXT extension tokens 287 *------------------------------------------------------------------------*/ 288 289 /* GL_EXT_blend_minmax */ 290 #ifndef GL_EXT_blend_minmax 291 #define GL_MIN_EXT 0x8007 292 #define GL_MAX_EXT 0x8008 293 #endif 294 295 /* GL_EXT_discard_framebuffer */ 296 #ifndef GL_EXT_discard_framebuffer 297 #define GL_COLOR_EXT 0x1800 298 #define GL_DEPTH_EXT 0x1801 299 #define GL_STENCIL_EXT 0x1802 300 #endif 301 302 /* GL_EXT_multi_draw_arrays */ 303 /* No new tokens introduced by this extension. */ 304 305 /* GL_EXT_read_format_bgra */ 306 #ifndef GL_EXT_read_format_bgra 307 #define GL_BGRA_EXT 0x80E1 308 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 309 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 310 #endif 311 312 /* GL_EXT_shader_texture_lod */ 313 /* No new tokens introduced by this extension. */ 314 315 /* GL_EXT_texture_filter_anisotropic */ 316 #ifndef GL_EXT_texture_filter_anisotropic 317 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 318 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 319 #endif 320 321 /* GL_EXT_texture_format_BGRA8888 */ 322 #ifndef GL_EXT_texture_format_BGRA8888 323 #define GL_BGRA_EXT 0x80E1 324 #endif 325 326 #ifndef GL_texture_format_RGBX8888_BRCM 327 #define GL_RGBX_BRCM 0x80EE 328 #endif 329 330 /* GL_EXT_texture_type_2_10_10_10_REV */ 331 #ifndef GL_EXT_texture_type_2_10_10_10_REV 332 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 333 #endif 334 335 /* GL_EXT_texture_compression_dxt1 */ 336 #ifndef GL_EXT_texture_compression_dxt1 337 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 338 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 339 #endif 340 341 /* GL_EXT_unpack_subimage */ 342 #ifndef GL_EXT_unpack_subimage 343 #define GL_UNPACK_ROW_LENGTH 0x0CF2 344 #define GL_UNPACK_SKIP_ROWS 0x0CF3 345 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 346 #endif 347 348 /*------------------------------------------------------------------------* 349 * DMP extension tokens 350 *------------------------------------------------------------------------*/ 351 352 /* GL_DMP_shader_binary */ 353 #ifndef GL_DMP_shader_binary 354 #define GL_SHADER_BINARY_DMP 0x9250 355 #endif 356 357 /*------------------------------------------------------------------------* 358 * IMG extension tokens 359 *------------------------------------------------------------------------*/ 360 361 /* GL_IMG_program_binary */ 362 #ifndef GL_IMG_program_binary 363 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 364 #endif 365 366 /* GL_IMG_read_format */ 367 #ifndef GL_IMG_read_format 368 #define GL_BGRA_IMG 0x80E1 369 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 370 #endif 371 372 /* GL_IMG_shader_binary */ 373 #ifndef GL_IMG_shader_binary 374 #define GL_SGX_BINARY_IMG 0x8C0A 375 #endif 376 377 /* GL_IMG_texture_compression_pvrtc */ 378 #ifndef GL_IMG_texture_compression_pvrtc 379 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 380 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 381 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 382 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 383 #endif 384 385 /* GL_IMG_multisampled_render_to_texture */ 386 #ifndef GL_IMG_multisampled_render_to_texture 387 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 388 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 389 #define GL_MAX_SAMPLES_IMG 0x9135 390 #define GL_TEXTURE_SAMPLES_IMG 0x9136 391 #endif 392 393 /*------------------------------------------------------------------------* 394 * NV extension tokens 395 *------------------------------------------------------------------------*/ 396 397 /* GL_NV_coverage_sample */ 398 #ifndef GL_NV_coverage_sample 399 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 400 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 401 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 402 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 403 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 404 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 405 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 406 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 407 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 408 #endif 409 410 /* GL_NV_depth_nonlinear */ 411 #ifndef GL_NV_depth_nonlinear 412 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 413 #endif 414 415 /* GL_NV_draw_buffers */ 416 #ifndef GL_NV_draw_buffers 417 #define GL_MAX_DRAW_BUFFERS_NV 0x8824 418 #define GL_DRAW_BUFFER0_NV 0x8825 419 #define GL_DRAW_BUFFER1_NV 0x8826 420 #define GL_DRAW_BUFFER2_NV 0x8827 421 #define GL_DRAW_BUFFER3_NV 0x8828 422 #define GL_DRAW_BUFFER4_NV 0x8829 423 #define GL_DRAW_BUFFER5_NV 0x882A 424 #define GL_DRAW_BUFFER6_NV 0x882B 425 #define GL_DRAW_BUFFER7_NV 0x882C 426 #define GL_DRAW_BUFFER8_NV 0x882D 427 #define GL_DRAW_BUFFER9_NV 0x882E 428 #define GL_DRAW_BUFFER10_NV 0x882F 429 #define GL_DRAW_BUFFER11_NV 0x8830 430 #define GL_DRAW_BUFFER12_NV 0x8831 431 #define GL_DRAW_BUFFER13_NV 0x8832 432 #define GL_DRAW_BUFFER14_NV 0x8833 433 #define GL_DRAW_BUFFER15_NV 0x8834 434 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0 435 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1 436 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2 437 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3 438 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4 439 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5 440 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6 441 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7 442 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8 443 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9 444 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA 445 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB 446 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC 447 #define GL_COLOR_ATTACHMENT13_NV 0x8CED 448 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE 449 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF 450 #endif 451 452 /* GL_NV_fbo_color_attachments */ 453 #ifndef GL_NV_fbo_color_attachments 454 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 455 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 456 #endif 457 458 /* GL_NV_fence */ 459 #ifndef GL_NV_fence 460 #define GL_ALL_COMPLETED_NV 0x84F2 461 #define GL_FENCE_STATUS_NV 0x84F3 462 #define GL_FENCE_CONDITION_NV 0x84F4 463 #endif 464 465 /* GL_NV_read_buffer */ 466 #ifndef GL_NV_read_buffer 467 #define GL_READ_BUFFER_NV 0x0C02 468 #endif 469 470 /* GL_NV_read_buffer_front */ 471 /* No new tokens introduced by this extension. */ 472 473 /* GL_NV_read_depth */ 474 /* No new tokens introduced by this extension. */ 475 476 /* GL_NV_read_depth_stencil */ 477 /* No new tokens introduced by this extension. */ 478 479 /* GL_NV_read_stencil */ 480 /* No new tokens introduced by this extension. */ 481 482 /* GL_NV_texture_compression_s3tc_update */ 483 /* No new tokens introduced by this extension. */ 484 485 /* GL_NV_texture_npot_2D_mipmap */ 486 /* No new tokens introduced by this extension. */ 487 488 /*------------------------------------------------------------------------* 489 * QCOM extension tokens 490 *------------------------------------------------------------------------*/ 491 492 /* GL_QCOM_alpha_test */ 493 #ifndef GL_QCOM_alpha_test 494 #define GL_ALPHA_TEST_QCOM 0x0BC0 495 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 496 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2 497 #endif 498 499 /* GL_QCOM_driver_control */ 500 /* No new tokens introduced by this extension. */ 501 502 /* GL_QCOM_extended_get */ 503 #ifndef GL_QCOM_extended_get 504 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 505 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 506 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 507 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 508 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 509 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 510 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 511 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 512 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 513 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 514 #define GL_STATE_RESTORE 0x8BDC 515 #endif 516 517 /* GL_QCOM_extended_get2 */ 518 /* No new tokens introduced by this extension. */ 519 520 /* GL_QCOM_perfmon_global_mode */ 521 #ifndef GL_QCOM_perfmon_global_mode 522 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 523 #endif 524 525 /* GL_QCOM_writeonly_rendering */ 526 #ifndef GL_QCOM_writeonly_rendering 527 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 528 #endif 529 530 /* GL_QCOM_tiled_rendering */ 531 #ifndef GL_QCOM_tiled_rendering 532 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 533 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 534 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 535 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 536 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 537 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 538 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 539 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 540 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 541 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 542 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 543 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 544 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 545 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 546 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 547 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 548 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 549 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 550 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 551 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 552 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 553 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 554 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 555 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 556 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 557 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 558 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 559 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 560 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 561 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 562 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 563 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 564 #endif 565 566 /*------------------------------------------------------------------------* 567 * VIV extension tokens 568 *------------------------------------------------------------------------*/ 569 570 /* GL_VIV_shader_binary */ 571 #ifndef GL_VIV_shader_binary 572 #define GL_SHADER_BINARY_VIV 0x8FC4 573 #endif 574 575 /*------------------------------------------------------------------------* 576 * BRCM extension tokens 577 * TODO: these aren't official yet 578 *------------------------------------------------------------------------*/ 579 #ifndef GL_BRCM_side_by_side_stero_hint 580 #define GL_SIDE_BY_SIDE_STEREO_HINT_BRCM 0x8193 /* GET AN OFFICIAL ENUM */ 581 #endif 582 583 /*------------------------------------------------------------------------* 584 * End of extension tokens, start of corresponding extension functions 585 *------------------------------------------------------------------------*/ 586 587 /*------------------------------------------------------------------------* 588 * OES extension functions 589 *------------------------------------------------------------------------*/ 590 591 /* GL_OES_compressed_ETC1_RGB8_texture */ 592 #ifndef GL_OES_compressed_ETC1_RGB8_texture 593 #define GL_OES_compressed_ETC1_RGB8_texture 1 594 #endif 595 596 /* GL_OES_compressed_paletted_texture */ 597 #ifndef GL_OES_compressed_paletted_texture 598 #define GL_OES_compressed_paletted_texture 1 599 #endif 600 601 /* GL_OES_depth24 */ 602 #ifndef GL_OES_depth24 603 #define GL_OES_depth24 1 604 #endif 605 606 /* GL_OES_depth32 */ 607 #ifndef GL_OES_depth32 608 #define GL_OES_depth32 0 609 #endif 610 611 /* GL_OES_depth_texture */ 612 #ifndef GL_OES_depth_texture 613 #define GL_OES_depth_texture 0 614 #endif 615 616 /* GL_OES_EGL_image */ 617 #ifndef GL_OES_EGL_image 618 #define GL_OES_EGL_image 1 619 #ifdef GL_GLEXT_PROTOTYPES 620 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 621 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 622 #endif 623 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 624 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 625 #endif 626 627 /* GL_OES_EGL_image_external */ 628 #ifndef GL_OES_EGL_image_external 629 #define GL_OES_EGL_image_external 1 630 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 631 #endif 632 633 /* GL_OES_element_index_uint */ 634 #ifndef GL_OES_element_index_uint 635 #define GL_OES_element_index_uint 0 636 #endif 637 638 /* GL_OES_fbo_render_mipmap */ 639 #ifndef GL_OES_fbo_render_mipmap 640 #define GL_OES_fbo_render_mipmap 0 641 #endif 642 643 /* GL_OES_fragment_precision_high */ 644 #ifndef GL_OES_fragment_precision_high 645 #define GL_OES_fragment_precision_high 0 646 #endif 647 648 /* GL_OES_get_program_binary */ 649 #ifndef GL_OES_get_program_binary 650 #define GL_OES_get_program_binary 0 651 #ifdef GL_GLEXT_PROTOTYPES 652 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 653 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 654 #endif 655 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 656 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 657 #endif 658 659 /* GL_OES_mapbuffer */ 660 #ifndef GL_OES_mapbuffer 661 #define GL_OES_mapbuffer 0 662 #ifdef GL_GLEXT_PROTOTYPES 663 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 664 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 665 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 666 #endif 667 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 668 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 669 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 670 #endif 671 672 /* GL_OES_packed_depth_stencil */ 673 #ifndef GL_OES_packed_depth_stencil 674 #define GL_OES_packed_depth_stencil 0 675 #endif 676 677 /* GL_OES_rgb8_rgba8 */ 678 #ifndef GL_OES_rgb8_rgba8 679 #define GL_OES_rgb8_rgba8 0 680 #endif 681 682 /* GL_OES_standard_derivatives */ 683 #ifndef GL_OES_standard_derivatives 684 #define GL_OES_standard_derivatives 0 685 #endif 686 687 /* GL_OES_stencil1 */ 688 #ifndef GL_OES_stencil1 689 #define GL_OES_stencil1 0 690 #endif 691 692 /* GL_OES_stencil4 */ 693 #ifndef GL_OES_stencil4 694 #define GL_OES_stencil4 0 695 #endif 696 697 /* GL_OES_texture_3D */ 698 #ifndef GL_OES_texture_3D 699 #define GL_OES_texture_3D 0 700 #ifdef GL_GLEXT_PROTOTYPES 701 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); 702 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); 703 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 704 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); 705 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); 706 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 707 #endif 708 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); 709 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); 710 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 711 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 712 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); 713 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 714 #endif 715 716 /* GL_OES_texture_float */ 717 #ifndef GL_OES_texture_float 718 #define GL_OES_texture_float 0 719 #endif 720 721 /* GL_OES_texture_float_linear */ 722 #ifndef GL_OES_texture_float_linear 723 #define GL_OES_texture_float_linear 0 724 #endif 725 726 /* GL_OES_texture_half_float */ 727 #ifndef GL_OES_texture_half_float 728 #define GL_OES_texture_half_float 0 729 #endif 730 731 /* GL_OES_texture_half_float_linear */ 732 #ifndef GL_OES_texture_half_float_linear 733 #define GL_OES_texture_half_float_linear 0 734 #endif 735 736 /* GL_OES_texture_npot */ 737 #ifndef GL_OES_texture_npot 738 #define GL_OES_texture_npot 1 739 #endif 740 741 /* GL_OES_vertex_array_object */ 742 #ifndef GL_OES_vertex_array_object 743 #define GL_OES_vertex_array_object 0 744 #ifdef GL_GLEXT_PROTOTYPES 745 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 746 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 747 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 748 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 749 #endif 750 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 751 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 752 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 753 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 754 #endif 755 756 /* GL_OES_vertex_half_float */ 757 #ifndef GL_OES_vertex_half_float 758 #define GL_OES_vertex_half_float 1 759 #endif 760 761 /* GL_OES_vertex_type_10_10_10_2 */ 762 #ifndef GL_OES_vertex_type_10_10_10_2 763 #define GL_OES_vertex_type_10_10_10_2 0 764 #endif 765 766 /*------------------------------------------------------------------------* 767 * AMD extension functions 768 *------------------------------------------------------------------------*/ 769 770 /* GL_AMD_compressed_3DC_texture */ 771 #ifndef GL_AMD_compressed_3DC_texture 772 #define GL_AMD_compressed_3DC_texture 0 773 #endif 774 775 /* GL_AMD_compressed_ATC_texture */ 776 #ifndef GL_AMD_compressed_ATC_texture 777 #define GL_AMD_compressed_ATC_texture 0 778 #endif 779 780 /* AMD_performance_monitor */ 781 #ifndef GL_AMD_performance_monitor 782 #define GL_AMD_performance_monitor 0 783 #ifdef GL_GLEXT_PROTOTYPES 784 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 785 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 786 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 787 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 788 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 789 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 790 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 791 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 792 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 793 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 794 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 795 #endif 796 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 797 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 798 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 799 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 800 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 801 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 802 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 803 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 804 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 805 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 806 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 807 #endif 808 809 /* GL_AMD_program_binary_Z400 */ 810 #ifndef GL_AMD_program_binary_Z400 811 #define GL_AMD_program_binary_Z400 0 812 #endif 813 814 /*------------------------------------------------------------------------* 815 * ANGLE extension functions 816 *------------------------------------------------------------------------*/ 817 818 /* GL_ANGLE_framebuffer_blit */ 819 #ifndef GL_ANGLE_framebuffer_blit 820 #define GL_ANGLE_framebuffer_blit 0 821 #ifdef GL_GLEXT_PROTOTYPES 822 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); 823 #endif 824 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); 825 #endif 826 827 /* GL_ANGLE_framebuffer_multisample */ 828 #ifndef GL_ANGLE_framebuffer_multisample 829 #define GL_ANGLE_framebuffer_multisample 0 830 #ifdef GL_GLEXT_PROTOTYPES 831 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 832 #endif 833 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 834 #endif 835 836 /*------------------------------------------------------------------------* 837 * APPLE extension functions 838 *------------------------------------------------------------------------*/ 839 840 /* GL_APPLE_rgb_422 */ 841 #ifndef GL_APPLE_rgb_422 842 #define GL_APPLE_rgb_422 0 843 #endif 844 845 /* GL_APPLE_framebuffer_multisample */ 846 #ifndef GL_APPLE_framebuffer_multisample 847 #define GL_APPLE_framebuffer_multisample 0 848 #ifdef GL_GLEXT_PROTOTYPES 849 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 850 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 851 #endif /* GL_GLEXT_PROTOTYPES */ 852 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 853 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 854 #endif 855 856 /* GL_APPLE_texture_format_BGRA8888 */ 857 #ifndef GL_APPLE_texture_format_BGRA8888 858 #define GL_APPLE_texture_format_BGRA8888 0 859 #endif 860 861 /* GL_APPLE_texture_max_level */ 862 #ifndef GL_APPLE_texture_max_level 863 #define GL_APPLE_texture_max_level 0 864 #endif 865 866 /*------------------------------------------------------------------------* 867 * ARM extension functions 868 *------------------------------------------------------------------------*/ 869 870 /* GL_ARM_mali_shader_binary */ 871 #ifndef GL_ARM_mali_shader_binary 872 #define GL_ARM_mali_shader_binary 0 873 #endif 874 875 /* GL_ARM_rgba8 */ 876 #ifndef GL_ARM_rgba8 877 #define GL_ARM_rgba8 0 878 #endif 879 880 /*------------------------------------------------------------------------* 881 * APPLE extension tokens 882 *------------------------------------------------------------------------*/ 883 884 /* GL_APPLE_rgb_422 */ 885 #ifndef GL_APPLE_rgb_422 886 #define GL_APPLE_rgb_422 1 887 #define GL_RGB_422_APPLE 0x8A1F 888 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 889 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 890 #endif 891 892 /*------------------------------------------------------------------------* 893 * EXT extension functions 894 *------------------------------------------------------------------------*/ 895 896 /* GL_EXT_blend_minmax */ 897 #ifndef GL_EXT_blend_minmax 898 #define GL_EXT_blend_minmax 0 899 #endif 900 901 /* GL_EXT_discard_framebuffer */ 902 #ifndef GL_EXT_discard_framebuffer 903 #define GL_EXT_discard_framebuffer 1 904 #ifdef GL_GLEXT_PROTOTYPES 905 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 906 #endif 907 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 908 #endif 909 910 /* GL_EXT_debug_marker */ 911 #ifndef GL_EXT_debug_marker 912 #define GL_EXT_debug_marker 1 913 #ifdef GL_GLEXT_PROTOTYPES 914 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 915 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 916 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 917 #endif 918 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 919 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 920 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 921 #endif 922 923 #ifndef GL_EXT_multi_draw_arrays 924 #define GL_EXT_multi_draw_arrays 0 925 #ifdef GL_GLEXT_PROTOTYPES 926 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 927 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 928 #endif /* GL_GLEXT_PROTOTYPES */ 929 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 930 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 931 #endif 932 933 /* GL_EXT_read_format_bgra */ 934 #ifndef GL_EXT_read_format_bgra 935 #define GL_EXT_read_format_bgra 0 936 #endif 937 938 /* GL_EXT_shader_texture_lod */ 939 #ifndef GL_EXT_shader_texture_lod 940 #define GL_EXT_shader_texture_lod 0 941 #endif 942 943 /* GL_EXT_texture_filter_anisotropic */ 944 #ifndef GL_EXT_texture_filter_anisotropic 945 #define GL_EXT_texture_filter_anisotropic 0 946 #endif 947 948 /* GL_EXT_texture_format_BGRA8888 */ 949 #ifndef GL_EXT_texture_format_BGRA8888 950 #define GL_EXT_texture_format_BGRA8888 1 951 #endif 952 953 #ifndef GL_texture_format_RGBX8888_BRCM 954 #define GL_texture_format_RGBX8888_BRCM 1 955 #endif 956 957 /* GL_EXT_texture_type_2_10_10_10_REV */ 958 #ifndef GL_EXT_texture_type_2_10_10_10_REV 959 #define GL_EXT_texture_type_2_10_10_10_REV 0 960 #endif 961 962 /* GL_EXT_texture_compression_dxt1 */ 963 #ifndef GL_EXT_texture_compression_dxt1 964 #define GL_EXT_texture_compression_dxt1 0 965 #endif 966 967 /* GL_EXT_unpack_subimage */ 968 #ifndef GL_EXT_unpack_subimage 969 #define GL_EXT_unpack_subimage 0 970 #endif 971 972 /*------------------------------------------------------------------------* 973 * DMP extension functions 974 *------------------------------------------------------------------------*/ 975 976 /* GL_DMP_shader_binary */ 977 #ifndef GL_DMP_shader_binary 978 #define GL_DMP_shader_binary 0 979 #endif 980 981 /*------------------------------------------------------------------------* 982 * IMG extension functions 983 *------------------------------------------------------------------------*/ 984 985 /* GL_IMG_program_binary */ 986 #ifndef GL_IMG_program_binary 987 #define GL_IMG_program_binary 0 988 #endif 989 990 /* GL_IMG_read_format */ 991 #ifndef GL_IMG_read_format 992 #define GL_IMG_read_format 0 993 #endif 994 995 /* GL_IMG_shader_binary */ 996 #ifndef GL_IMG_shader_binary 997 #define GL_IMG_shader_binary 0 998 #endif 999 1000 /* GL_IMG_texture_compression_pvrtc */ 1001 #ifndef GL_IMG_texture_compression_pvrtc 1002 #define GL_IMG_texture_compression_pvrtc 0 1003 #endif 1004 1005 /* GL_IMG_multisampled_render_to_texture */ 1006 #ifndef GL_IMG_multisampled_render_to_texture 1007 #define GL_IMG_multisampled_render_to_texture 0 1008 #ifdef GL_GLEXT_PROTOTYPES 1009 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1010 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1011 #endif 1012 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1013 typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1014 #endif 1015 1016 /*------------------------------------------------------------------------* 1017 * NV extension functions 1018 *------------------------------------------------------------------------*/ 1019 1020 /* GL_NV_coverage_sample */ 1021 #ifndef GL_NV_coverage_sample 1022 #define GL_NV_coverage_sample 0 1023 #ifdef GL_GLEXT_PROTOTYPES 1024 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1025 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1026 #endif 1027 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1028 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1029 #endif 1030 1031 /* GL_NV_depth_nonlinear */ 1032 #ifndef GL_NV_depth_nonlinear 1033 #define GL_NV_depth_nonlinear 0 1034 #endif 1035 1036 /* GL_NV_draw_buffers */ 1037 #ifndef GL_NV_draw_buffers 1038 #define GL_NV_draw_buffers 0 1039 #ifdef GL_GLEXT_PROTOTYPES 1040 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1041 #endif 1042 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1043 #endif 1044 1045 /* GL_NV_fbo_color_attachments */ 1046 #ifndef GL_NV_fbo_color_attachments 1047 #define GL_NV_fbo_color_attachments 0 1048 #endif 1049 1050 /* GL_NV_fence */ 1051 #ifndef GL_NV_fence 1052 #define GL_NV_fence 0 1053 #ifdef GL_GLEXT_PROTOTYPES 1054 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1055 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1056 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1057 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1058 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1059 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1060 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1061 #endif 1062 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1063 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1064 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1065 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1066 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1067 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1068 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1069 #endif 1070 1071 /* GL_NV_read_buffer */ 1072 #ifndef GL_NV_read_buffer 1073 #define GL_NV_read_buffer 0 1074 #ifdef GL_GLEXT_PROTOTYPES 1075 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1076 #endif 1077 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1078 #endif 1079 1080 /* GL_NV_read_buffer_front */ 1081 #ifndef GL_NV_read_buffer_front 1082 #define GL_NV_read_buffer_front 0 1083 #endif 1084 1085 /* GL_NV_read_depth */ 1086 #ifndef GL_NV_read_depth 1087 #define GL_NV_read_depth 0 1088 #endif 1089 1090 /* GL_NV_read_depth_stencil */ 1091 #ifndef GL_NV_read_depth_stencil 1092 #define GL_NV_read_depth_stencil 0 1093 #endif 1094 1095 /* GL_NV_read_stencil */ 1096 #ifndef GL_NV_read_stencil 1097 #define GL_NV_read_stencil 0 1098 #endif 1099 1100 /* GL_NV_texture_compression_s3tc_update */ 1101 #ifndef GL_NV_texture_compression_s3tc_update 1102 #define GL_NV_texture_compression_s3tc_update 0 1103 #endif 1104 1105 /* GL_NV_texture_npot_2D_mipmap */ 1106 #ifndef GL_NV_texture_npot_2D_mipmap 1107 #define GL_NV_texture_npot_2D_mipmap 0 1108 #endif 1109 1110 /*------------------------------------------------------------------------* 1111 * QCOM extension functions 1112 *------------------------------------------------------------------------*/ 1113 1114 /* GL_QCOM_alpha_test */ 1115 #ifndef GL_QCOM_alpha_test 1116 #define GL_QCOM_alpha_test 0 1117 #ifdef GL_GLEXT_PROTOTYPES 1118 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1119 #endif 1120 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1121 #endif 1122 1123 /* GL_QCOM_driver_control */ 1124 #ifndef GL_QCOM_driver_control 1125 #define GL_QCOM_driver_control 0 1126 #ifdef GL_GLEXT_PROTOTYPES 1127 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1128 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1129 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1130 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1131 #endif 1132 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1133 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1134 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1135 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1136 #endif 1137 1138 /* GL_QCOM_extended_get */ 1139 #ifndef GL_QCOM_extended_get 1140 #define GL_QCOM_extended_get 0 1141 #ifdef GL_GLEXT_PROTOTYPES 1142 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1143 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1144 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1145 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1146 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1147 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1148 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); 1149 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1150 #endif 1151 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1152 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1153 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1154 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1155 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1156 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1157 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); 1158 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1159 #endif 1160 1161 /* GL_QCOM_extended_get2 */ 1162 #ifndef GL_QCOM_extended_get2 1163 #define GL_QCOM_extended_get2 0 1164 #ifdef GL_GLEXT_PROTOTYPES 1165 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1166 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1167 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1168 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1169 #endif 1170 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1171 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1172 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1173 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1174 #endif 1175 1176 /* GL_QCOM_perfmon_global_mode */ 1177 #ifndef GL_QCOM_perfmon_global_mode 1178 #define GL_QCOM_perfmon_global_mode 0 1179 #endif 1180 1181 /* GL_QCOM_writeonly_rendering */ 1182 #ifndef GL_QCOM_writeonly_rendering 1183 #define GL_QCOM_writeonly_rendering 0 1184 #endif 1185 1186 /* GL_QCOM_tiled_rendering */ 1187 #ifndef GL_QCOM_tiled_rendering 1188 #define GL_QCOM_tiled_rendering 0 1189 #ifdef GL_GLEXT_PROTOTYPES 1190 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1191 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1192 #endif 1193 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1194 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1195 #endif 1196 1197 /*------------------------------------------------------------------------* 1198 * VIV extension tokens 1199 *------------------------------------------------------------------------*/ 1200 1201 /* GL_VIV_shader_binary */ 1202 #ifndef GL_VIV_shader_binary 1203 #define GL_VIV_shader_binary 0 1204 #endif 1205 1206 /*------------------------------------------------------------------------* 1207 * BRCM extension functions 1208 * TODO: these aren't official yet 1209 *------------------------------------------------------------------------*/ 1210 #ifndef GL_BRCM_side_by_side_stero_hint 1211 #define GL_BRCM_side_by_side_stero_hint 1 1212 #endif 1213 1214 #ifdef __cplusplus 1215 } 1216 #endif 1217 1218 #endif /* __gl2ext_h_ */ 1219