1 #ifndef __gl2ext_h_ 2 #define __gl2ext_h_ 3 4 /* $Revision: 16619 $ on $Date:: 2012-01-18 10:00:14 -0800 #$ */ 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /* 11 * This document is licensed under the SGI Free Software B License Version 12 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 13 */ 14 15 #ifndef GL_APIENTRYP 16 # define GL_APIENTRYP GL_APIENTRY* 17 #endif 18 19 /*------------------------------------------------------------------------* 20 * OES extension tokens 21 *------------------------------------------------------------------------*/ 22 23 /* GL_OES_compressed_ETC1_RGB8_texture */ 24 #ifndef GL_OES_compressed_ETC1_RGB8_texture 25 #define GL_ETC1_RGB8_OES 0x8D64 26 #endif 27 28 /* GL_OES_compressed_paletted_texture */ 29 #ifndef GL_OES_compressed_paletted_texture 30 #define GL_PALETTE4_RGB8_OES 0x8B90 31 #define GL_PALETTE4_RGBA8_OES 0x8B91 32 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 33 #define GL_PALETTE4_RGBA4_OES 0x8B93 34 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 35 #define GL_PALETTE8_RGB8_OES 0x8B95 36 #define GL_PALETTE8_RGBA8_OES 0x8B96 37 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 38 #define GL_PALETTE8_RGBA4_OES 0x8B98 39 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 40 #endif 41 42 /* GL_OES_depth24 */ 43 #ifndef GL_OES_depth24 44 #define GL_DEPTH_COMPONENT24_OES 0x81A6 45 #endif 46 47 /* GL_OES_depth32 */ 48 #ifndef GL_OES_depth32 49 #define GL_DEPTH_COMPONENT32_OES 0x81A7 50 #endif 51 52 /* GL_OES_depth_texture */ 53 /* No new tokens introduced by this extension. */ 54 55 /* GL_OES_EGL_image */ 56 #ifndef GL_OES_EGL_image 57 typedef void* GLeglImageOES; 58 #endif 59 60 /* GL_OES_EGL_image_external */ 61 #ifndef GL_OES_EGL_image_external 62 /* GLeglImageOES defined in GL_OES_EGL_image already. */ 63 #define GL_TEXTURE_EXTERNAL_OES 0x8D65 64 #define GL_SAMPLER_EXTERNAL_OES 0x8D66 65 #define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 66 #define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 67 #endif 68 69 /* GL_OES_element_index_uint */ 70 #ifndef GL_OES_element_index_uint 71 #define GL_UNSIGNED_INT 0x1405 72 #endif 73 74 /* GL_OES_get_program_binary */ 75 #ifndef GL_OES_get_program_binary 76 #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 77 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE 78 #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF 79 #endif 80 81 /* GL_OES_mapbuffer */ 82 #ifndef GL_OES_mapbuffer 83 #define GL_WRITE_ONLY_OES 0x88B9 84 #define GL_BUFFER_ACCESS_OES 0x88BB 85 #define GL_BUFFER_MAPPED_OES 0x88BC 86 #define GL_BUFFER_MAP_POINTER_OES 0x88BD 87 #endif 88 89 /* GL_OES_packed_depth_stencil */ 90 #ifndef GL_OES_packed_depth_stencil 91 #define GL_DEPTH_STENCIL_OES 0x84F9 92 #define GL_UNSIGNED_INT_24_8_OES 0x84FA 93 #define GL_DEPTH24_STENCIL8_OES 0x88F0 94 #endif 95 96 /* GL_OES_rgb8_rgba8 */ 97 #ifndef GL_OES_rgb8_rgba8 98 #define GL_RGB8_OES 0x8051 99 #define GL_RGBA8_OES 0x8058 100 #endif 101 102 /* GL_OES_standard_derivatives */ 103 #ifndef GL_OES_standard_derivatives 104 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 105 #endif 106 107 /* GL_OES_stencil1 */ 108 #ifndef GL_OES_stencil1 109 #define GL_STENCIL_INDEX1_OES 0x8D46 110 #endif 111 112 /* GL_OES_stencil4 */ 113 #ifndef GL_OES_stencil4 114 #define GL_STENCIL_INDEX4_OES 0x8D47 115 #endif 116 117 /* GL_OES_texture_3D */ 118 #ifndef GL_OES_texture_3D 119 #define GL_TEXTURE_WRAP_R_OES 0x8072 120 #define GL_TEXTURE_3D_OES 0x806F 121 #define GL_TEXTURE_BINDING_3D_OES 0x806A 122 #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 123 #define GL_SAMPLER_3D_OES 0x8B5F 124 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 125 #endif 126 127 /* GL_OES_texture_float */ 128 /* No new tokens introduced by this extension. */ 129 130 /* GL_OES_texture_float_linear */ 131 /* No new tokens introduced by this extension. */ 132 133 /* GL_OES_texture_half_float */ 134 #ifndef GL_OES_texture_half_float 135 #define GL_HALF_FLOAT_OES 0x8D61 136 #endif 137 138 /* GL_OES_texture_half_float_linear */ 139 /* No new tokens introduced by this extension. */ 140 141 /* GL_OES_texture_npot */ 142 /* No new tokens introduced by this extension. */ 143 144 /* GL_OES_vertex_array_object */ 145 #ifndef GL_OES_vertex_array_object 146 #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 147 #endif 148 149 /* GL_OES_vertex_half_float */ 150 /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 151 152 /* GL_OES_vertex_type_10_10_10_2 */ 153 #ifndef GL_OES_vertex_type_10_10_10_2 154 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 155 #define GL_INT_10_10_10_2_OES 0x8DF7 156 #endif 157 158 /*------------------------------------------------------------------------* 159 * AMD extension tokens 160 *------------------------------------------------------------------------*/ 161 162 /* GL_AMD_compressed_3DC_texture */ 163 #ifndef GL_AMD_compressed_3DC_texture 164 #define GL_3DC_X_AMD 0x87F9 165 #define GL_3DC_XY_AMD 0x87FA 166 #endif 167 168 /* GL_AMD_compressed_ATC_texture */ 169 #ifndef GL_AMD_compressed_ATC_texture 170 #define GL_ATC_RGB_AMD 0x8C92 171 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 172 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 173 #endif 174 175 /* GL_AMD_performance_monitor */ 176 #ifndef GL_AMD_performance_monitor 177 #define GL_COUNTER_TYPE_AMD 0x8BC0 178 #define GL_COUNTER_RANGE_AMD 0x8BC1 179 #define GL_UNSIGNED_INT64_AMD 0x8BC2 180 #define GL_PERCENTAGE_AMD 0x8BC3 181 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 182 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 183 #define GL_PERFMON_RESULT_AMD 0x8BC6 184 #endif 185 186 /* GL_AMD_program_binary_Z400 */ 187 #ifndef GL_AMD_program_binary_Z400 188 #define GL_Z400_BINARY_AMD 0x8740 189 #endif 190 191 /*------------------------------------------------------------------------* 192 * ANGLE extension tokens 193 *------------------------------------------------------------------------*/ 194 195 /* GL_ANGLE_framebuffer_blit */ 196 #ifndef GL_ANGLE_framebuffer_blit 197 #define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 198 #define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 199 #define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 200 #define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 201 #endif 202 203 /* GL_ANGLE_framebuffer_multisample */ 204 #ifndef GL_ANGLE_framebuffer_multisample 205 #define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 206 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 207 #define GL_MAX_SAMPLES_ANGLE 0x8D57 208 #endif 209 210 /* GL_ANGLE_pack_reverse_row_order */ 211 #ifndef GL_ANGLE_pack_reverse_row_order 212 #define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 213 #endif 214 215 /* GL_ANGLE_texture_usage */ 216 #ifndef GL_ANGLE_texture_usage 217 #define GL_TEXTURE_USAGE_ANGLE 0x93A2 218 #define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 219 #endif 220 221 /* GL_ANGLE_instanced_arrays */ 222 #ifndef GL_ANGLE_instanced_arrays 223 #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 224 #endif 225 226 /*------------------------------------------------------------------------* 227 * APPLE extension tokens 228 *------------------------------------------------------------------------*/ 229 230 /* GL_APPLE_rgb_422 */ 231 #ifndef GL_APPLE_rgb_422 232 #define GL_RGB_422_APPLE 0x8A1F 233 #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 234 #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 235 #endif 236 237 /* GL_APPLE_framebuffer_multisample */ 238 #ifndef GL_APPLE_framebuffer_multisample 239 #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 240 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 241 #define GL_MAX_SAMPLES_APPLE 0x8D57 242 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 243 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 244 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 245 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 246 #endif 247 248 /* GL_APPLE_texture_format_BGRA8888 */ 249 #ifndef GL_APPLE_texture_format_BGRA8888 250 #define GL_BGRA_EXT 0x80E1 251 #endif 252 253 /* GL_APPLE_texture_max_level */ 254 #ifndef GL_APPLE_texture_max_level 255 #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 256 #endif 257 258 /*------------------------------------------------------------------------* 259 * ARM extension tokens 260 *------------------------------------------------------------------------*/ 261 262 /* GL_ARM_mali_shader_binary */ 263 #ifndef GL_ARM_mali_shader_binary 264 #define GL_MALI_SHADER_BINARY_ARM 0x8F60 265 #endif 266 267 /* GL_ARM_rgba8 */ 268 /* No new tokens introduced by this extension. */ 269 270 /*------------------------------------------------------------------------* 271 * EXT extension tokens 272 *------------------------------------------------------------------------*/ 273 274 /* GL_EXT_blend_minmax */ 275 #ifndef GL_EXT_blend_minmax 276 #define GL_MIN_EXT 0x8007 277 #define GL_MAX_EXT 0x8008 278 #endif 279 280 /* GL_EXT_color_buffer_half_float */ 281 #ifndef GL_EXT_color_buffer_half_float 282 #define GL_RGBA16F_EXT 0x881A 283 #define GL_RGB16F_EXT 0x881B 284 #define GL_RG16F_EXT 0x822F 285 #define GL_R16F_EXT 0x822D 286 #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 287 #define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 288 #endif 289 290 /* GL_EXT_debug_label */ 291 #ifndef GL_EXT_debug_label 292 #define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 293 #define GL_PROGRAM_OBJECT_EXT 0x8B40 294 #define GL_SHADER_OBJECT_EXT 0x8B48 295 #define GL_BUFFER_OBJECT_EXT 0x9151 296 #define GL_QUERY_OBJECT_EXT 0x9153 297 #define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 298 #endif 299 300 /* GL_EXT_debug_marker */ 301 /* No new tokens introduced by this extension. */ 302 303 /* GL_EXT_discard_framebuffer */ 304 #ifndef GL_EXT_discard_framebuffer 305 #define GL_COLOR_EXT 0x1800 306 #define GL_DEPTH_EXT 0x1801 307 #define GL_STENCIL_EXT 0x1802 308 #endif 309 310 /* GL_EXT_multisampled_render_to_texture */ 311 #ifndef GL_EXT_multisampled_render_to_texture 312 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 313 #define GL_RENDERBUFFER_SAMPLES_EXT 0x9133 314 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x9134 315 #define GL_MAX_SAMPLES_EXT 0x9135 316 #endif 317 318 /* GL_EXT_multi_draw_arrays */ 319 /* No new tokens introduced by this extension. */ 320 321 /* GL_EXT_occlusion_query_boolean */ 322 #ifndef GL_EXT_occlusion_query_boolean 323 #define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 324 #define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 325 #define GL_CURRENT_QUERY_EXT 0x8865 326 #define GL_QUERY_RESULT_EXT 0x8866 327 #define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 328 #endif 329 330 /* GL_EXT_read_format_bgra */ 331 #ifndef GL_EXT_read_format_bgra 332 #define GL_BGRA_EXT 0x80E1 333 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 334 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 335 #endif 336 337 /* GL_EXT_robustness */ 338 #ifndef GL_EXT_robustness 339 /* reuse GL_NO_ERROR */ 340 #define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 341 #define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 342 #define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 343 #define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 344 #define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 345 #define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 346 #define GL_NO_RESET_NOTIFICATION_EXT 0x8261 347 #endif 348 349 /* GL_EXT_separate_shader_objects */ 350 #ifndef GL_EXT_separate_shader_objects 351 #define GL_VERTEX_SHADER_BIT_EXT 0x00000001 352 #define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 353 #define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 354 #define GL_PROGRAM_SEPARABLE_EXT 0x8258 355 #define GL_ACTIVE_PROGRAM_EXT 0x8259 356 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 357 #endif 358 359 /* GL_EXT_shader_texture_lod */ 360 /* No new tokens introduced by this extension. */ 361 362 /* GL_EXT_shadow_samplers */ 363 #ifndef GL_EXT_shadow_samplers 364 #define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 365 #define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 366 #define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 367 #define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 368 #endif 369 370 /* GL_EXT_sRGB */ 371 #ifndef GL_EXT_sRGB 372 #define GL_SRGB_EXT 0x8C40 373 #define GL_SRGB_ALPHA_EXT 0x8C42 374 #define GL_SRGB8_ALPHA8_EXT 0x8C43 375 #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 376 #endif 377 378 /* GL_EXT_texture_compression_dxt1 */ 379 #ifndef GL_EXT_texture_compression_dxt1 380 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 381 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 382 #endif 383 384 /* GL_EXT_texture_filter_anisotropic */ 385 #ifndef GL_EXT_texture_filter_anisotropic 386 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 387 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 388 #endif 389 390 /* GL_EXT_texture_format_BGRA8888 */ 391 #ifndef GL_EXT_texture_format_BGRA8888 392 #define GL_BGRA_EXT 0x80E1 393 #endif 394 395 /* GL_EXT_texture_rg */ 396 #ifndef GL_EXT_texture_rg 397 #define GL_RED_EXT 0x1903 398 #define GL_RG_EXT 0x8227 399 #define GL_R8_EXT 0x8229 400 #define GL_RG8_EXT 0x822B 401 #endif 402 403 /* GL_EXT_texture_storage */ 404 #ifndef GL_EXT_texture_storage 405 #define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 406 #define GL_ALPHA8_EXT 0x803C 407 #define GL_LUMINANCE8_EXT 0x8040 408 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 409 #define GL_RGBA32F_EXT 0x8814 410 #define GL_RGB32F_EXT 0x8815 411 #define GL_ALPHA32F_EXT 0x8816 412 #define GL_LUMINANCE32F_EXT 0x8818 413 #define GL_LUMINANCE_ALPHA32F_EXT 0x8819 414 /* reuse GL_RGBA16F_EXT */ 415 #define GL_RGB16F_EXT 0x881B 416 #define GL_ALPHA16F_EXT 0x881C 417 #define GL_LUMINANCE16F_EXT 0x881E 418 #define GL_LUMINANCE_ALPHA16F_EXT 0x881F 419 #define GL_RGB10_A2_EXT 0x8059 420 #define GL_RGB10_EXT 0x8052 421 #define GL_BGRA8_EXT 0x93A1 422 #endif 423 424 /* GL_EXT_texture_type_2_10_10_10_REV */ 425 #ifndef GL_EXT_texture_type_2_10_10_10_REV 426 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 427 #endif 428 429 /* GL_EXT_unpack_subimage */ 430 #ifndef GL_EXT_unpack_subimage 431 #define GL_UNPACK_ROW_LENGTH 0x0CF2 432 #define GL_UNPACK_SKIP_ROWS 0x0CF3 433 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 434 #endif 435 436 /*------------------------------------------------------------------------* 437 * DMP extension tokens 438 *------------------------------------------------------------------------*/ 439 440 /* GL_DMP_shader_binary */ 441 #ifndef GL_DMP_shader_binary 442 #define GL_SHADER_BINARY_DMP 0x9250 443 #endif 444 445 /*------------------------------------------------------------------------* 446 * IMG extension tokens 447 *------------------------------------------------------------------------*/ 448 449 /* GL_IMG_program_binary */ 450 #ifndef GL_IMG_program_binary 451 #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 452 #endif 453 454 /* GL_IMG_read_format */ 455 #ifndef GL_IMG_read_format 456 #define GL_BGRA_IMG 0x80E1 457 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 458 #endif 459 460 /* GL_IMG_shader_binary */ 461 #ifndef GL_IMG_shader_binary 462 #define GL_SGX_BINARY_IMG 0x8C0A 463 #endif 464 465 /* GL_IMG_texture_compression_pvrtc */ 466 #ifndef GL_IMG_texture_compression_pvrtc 467 #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 468 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 469 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 470 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 471 #endif 472 473 /* GL_IMG_multisampled_render_to_texture */ 474 #ifndef GL_IMG_multisampled_render_to_texture 475 #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 476 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 477 #define GL_MAX_SAMPLES_IMG 0x9135 478 #define GL_TEXTURE_SAMPLES_IMG 0x9136 479 #endif 480 481 /*------------------------------------------------------------------------* 482 * NV extension tokens 483 *------------------------------------------------------------------------*/ 484 485 /* GL_NV_coverage_sample */ 486 #ifndef GL_NV_coverage_sample 487 #define GL_COVERAGE_COMPONENT_NV 0x8ED0 488 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 489 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 490 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 491 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 492 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 493 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 494 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 495 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 496 #endif 497 498 /* GL_NV_depth_nonlinear */ 499 #ifndef GL_NV_depth_nonlinear 500 #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 501 #endif 502 503 /* GL_NV_draw_buffers */ 504 #ifndef GL_NV_draw_buffers 505 #define GL_MAX_DRAW_BUFFERS_NV 0x8824 506 #define GL_DRAW_BUFFER0_NV 0x8825 507 #define GL_DRAW_BUFFER1_NV 0x8826 508 #define GL_DRAW_BUFFER2_NV 0x8827 509 #define GL_DRAW_BUFFER3_NV 0x8828 510 #define GL_DRAW_BUFFER4_NV 0x8829 511 #define GL_DRAW_BUFFER5_NV 0x882A 512 #define GL_DRAW_BUFFER6_NV 0x882B 513 #define GL_DRAW_BUFFER7_NV 0x882C 514 #define GL_DRAW_BUFFER8_NV 0x882D 515 #define GL_DRAW_BUFFER9_NV 0x882E 516 #define GL_DRAW_BUFFER10_NV 0x882F 517 #define GL_DRAW_BUFFER11_NV 0x8830 518 #define GL_DRAW_BUFFER12_NV 0x8831 519 #define GL_DRAW_BUFFER13_NV 0x8832 520 #define GL_DRAW_BUFFER14_NV 0x8833 521 #define GL_DRAW_BUFFER15_NV 0x8834 522 #define GL_COLOR_ATTACHMENT0_NV 0x8CE0 523 #define GL_COLOR_ATTACHMENT1_NV 0x8CE1 524 #define GL_COLOR_ATTACHMENT2_NV 0x8CE2 525 #define GL_COLOR_ATTACHMENT3_NV 0x8CE3 526 #define GL_COLOR_ATTACHMENT4_NV 0x8CE4 527 #define GL_COLOR_ATTACHMENT5_NV 0x8CE5 528 #define GL_COLOR_ATTACHMENT6_NV 0x8CE6 529 #define GL_COLOR_ATTACHMENT7_NV 0x8CE7 530 #define GL_COLOR_ATTACHMENT8_NV 0x8CE8 531 #define GL_COLOR_ATTACHMENT9_NV 0x8CE9 532 #define GL_COLOR_ATTACHMENT10_NV 0x8CEA 533 #define GL_COLOR_ATTACHMENT11_NV 0x8CEB 534 #define GL_COLOR_ATTACHMENT12_NV 0x8CEC 535 #define GL_COLOR_ATTACHMENT13_NV 0x8CED 536 #define GL_COLOR_ATTACHMENT14_NV 0x8CEE 537 #define GL_COLOR_ATTACHMENT15_NV 0x8CEF 538 #endif 539 540 /* GL_NV_fbo_color_attachments */ 541 #ifndef GL_NV_fbo_color_attachments 542 #define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 543 /* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 544 #endif 545 546 /* GL_NV_fence */ 547 #ifndef GL_NV_fence 548 #define GL_ALL_COMPLETED_NV 0x84F2 549 #define GL_FENCE_STATUS_NV 0x84F3 550 #define GL_FENCE_CONDITION_NV 0x84F4 551 #endif 552 553 /* GL_NV_read_buffer */ 554 #ifndef GL_NV_read_buffer 555 #define GL_READ_BUFFER_NV 0x0C02 556 #endif 557 558 /* GL_NV_read_buffer_front */ 559 /* No new tokens introduced by this extension. */ 560 561 /* GL_NV_read_depth */ 562 /* No new tokens introduced by this extension. */ 563 564 /* GL_NV_read_depth_stencil */ 565 /* No new tokens introduced by this extension. */ 566 567 /* GL_NV_read_stencil */ 568 /* No new tokens introduced by this extension. */ 569 570 /* GL_NV_texture_compression_s3tc_update */ 571 /* No new tokens introduced by this extension. */ 572 573 /* GL_NV_texture_npot_2D_mipmap */ 574 /* No new tokens introduced by this extension. */ 575 576 /*------------------------------------------------------------------------* 577 * QCOM extension tokens 578 *------------------------------------------------------------------------*/ 579 580 /* GL_QCOM_alpha_test */ 581 #ifndef GL_QCOM_alpha_test 582 #define GL_ALPHA_TEST_QCOM 0x0BC0 583 #define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 584 #define GL_ALPHA_TEST_REF_QCOM 0x0BC2 585 #endif 586 587 /* GL_QCOM_driver_control */ 588 /* No new tokens introduced by this extension. */ 589 590 /* GL_QCOM_extended_get */ 591 #ifndef GL_QCOM_extended_get 592 #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 593 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 594 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 595 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 596 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 597 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 598 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 599 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 600 #define GL_TEXTURE_TARGET_QCOM 0x8BDA 601 #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 602 #define GL_STATE_RESTORE 0x8BDC 603 #endif 604 605 /* GL_QCOM_extended_get2 */ 606 /* No new tokens introduced by this extension. */ 607 608 /* GL_QCOM_perfmon_global_mode */ 609 #ifndef GL_QCOM_perfmon_global_mode 610 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 611 #endif 612 613 /* GL_QCOM_writeonly_rendering */ 614 #ifndef GL_QCOM_writeonly_rendering 615 #define GL_WRITEONLY_RENDERING_QCOM 0x8823 616 #endif 617 618 /* GL_QCOM_tiled_rendering */ 619 #ifndef GL_QCOM_tiled_rendering 620 #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 621 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 622 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 623 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 624 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 625 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 626 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 627 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 628 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 629 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 630 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 631 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 632 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 633 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 634 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 635 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 636 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 637 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 638 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 639 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 640 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 641 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 642 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 643 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 644 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 645 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 646 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 647 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 648 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 649 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 650 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 651 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 652 #endif 653 654 /*------------------------------------------------------------------------* 655 * VIV extension tokens 656 *------------------------------------------------------------------------*/ 657 658 /* GL_VIV_shader_binary */ 659 #ifndef GL_VIV_shader_binary 660 #define GL_SHADER_BINARY_VIV 0x8FC4 661 #endif 662 663 /*------------------------------------------------------------------------* 664 * End of extension tokens, start of corresponding extension functions 665 *------------------------------------------------------------------------*/ 666 667 /*------------------------------------------------------------------------* 668 * OES extension functions 669 *------------------------------------------------------------------------*/ 670 671 /* GL_OES_compressed_ETC1_RGB8_texture */ 672 #ifndef GL_OES_compressed_ETC1_RGB8_texture 673 #define GL_OES_compressed_ETC1_RGB8_texture 1 674 #endif 675 676 /* GL_OES_compressed_paletted_texture */ 677 #ifndef GL_OES_compressed_paletted_texture 678 #define GL_OES_compressed_paletted_texture 1 679 #endif 680 681 /* GL_OES_depth24 */ 682 #ifndef GL_OES_depth24 683 #define GL_OES_depth24 1 684 #endif 685 686 /* GL_OES_depth32 */ 687 #ifndef GL_OES_depth32 688 #define GL_OES_depth32 1 689 #endif 690 691 /* GL_OES_depth_texture */ 692 #ifndef GL_OES_depth_texture 693 #define GL_OES_depth_texture 1 694 #endif 695 696 /* GL_OES_EGL_image */ 697 #ifndef GL_OES_EGL_image 698 #define GL_OES_EGL_image 1 699 #ifdef GL_GLEXT_PROTOTYPES 700 #define glEGLImageTargetTexture2DOES GLES2_GET_FUN(EGLImageTargetTexture2DOES) 701 #define glEGLImageTargetRenderbufferStorageOES GLES2_GET_FUN(EGLImageTargetRenderbufferStorageOES) 702 #if !defined(GLES2_USE_CPP_BINDINGS) 703 GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 704 GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 705 #endif 706 #endif 707 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 708 typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 709 #endif 710 711 /* GL_OES_EGL_image_external */ 712 #ifndef GL_OES_EGL_image_external 713 #define GL_OES_EGL_image_external 1 714 /* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 715 #endif 716 717 /* GL_OES_element_index_uint */ 718 #ifndef GL_OES_element_index_uint 719 #define GL_OES_element_index_uint 1 720 #endif 721 722 /* GL_OES_fbo_render_mipmap */ 723 #ifndef GL_OES_fbo_render_mipmap 724 #define GL_OES_fbo_render_mipmap 1 725 #endif 726 727 /* GL_OES_fragment_precision_high */ 728 #ifndef GL_OES_fragment_precision_high 729 #define GL_OES_fragment_precision_high 1 730 #endif 731 732 /* GL_OES_get_program_binary */ 733 #ifndef GL_OES_get_program_binary 734 #define GL_OES_get_program_binary 1 735 #ifdef GL_GLEXT_PROTOTYPES 736 #define glGetProgramBinaryOES GLES2_GET_FUN(GetProgramBinaryOES) 737 #define glProgramBinaryOES GLES2_GET_FUN(ProgramBinaryOES) 738 #if !defined(GLES2_USE_CPP_BINDINGS) 739 GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 740 GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 741 #endif 742 #endif 743 typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 744 typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 745 #endif 746 747 /* GL_OES_mapbuffer */ 748 #ifndef GL_OES_mapbuffer 749 #define GL_OES_mapbuffer 1 750 #ifdef GL_GLEXT_PROTOTYPES 751 #define glMapBufferOES GLES2_GET_FUN(MapBufferOES) 752 #define glUnmapBufferOES GLES2_GET_FUN(UnmapBufferOES) 753 #define glGetBufferPointervOES GLES2_GET_FUN(GetBufferPointervOES) 754 #if !defined(GLES2_USE_CPP_BINDINGS) 755 GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 756 GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 757 GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 758 #endif 759 #endif 760 typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 761 typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 762 typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 763 #endif 764 765 /* GL_OES_packed_depth_stencil */ 766 #ifndef GL_OES_packed_depth_stencil 767 #define GL_OES_packed_depth_stencil 1 768 #endif 769 770 /* GL_OES_rgb8_rgba8 */ 771 #ifndef GL_OES_rgb8_rgba8 772 #define GL_OES_rgb8_rgba8 1 773 #endif 774 775 /* GL_OES_standard_derivatives */ 776 #ifndef GL_OES_standard_derivatives 777 #define GL_OES_standard_derivatives 1 778 #endif 779 780 /* GL_OES_stencil1 */ 781 #ifndef GL_OES_stencil1 782 #define GL_OES_stencil1 1 783 #endif 784 785 /* GL_OES_stencil4 */ 786 #ifndef GL_OES_stencil4 787 #define GL_OES_stencil4 1 788 #endif 789 790 /* GL_OES_texture_3D */ 791 #ifndef GL_OES_texture_3D 792 #define GL_OES_texture_3D 1 793 #ifdef GL_GLEXT_PROTOTYPES 794 #define glTexImage3DOES GLES2_GET_FUN(TexImage3DOES) 795 #define glTexSubImage3DOES GLES2_GET_FUN(TexSubImage3DOES) 796 #define glCopyTexSubImage3DOES GLES2_GET_FUN(CopyTexSubImage3DOES) 797 #define glCompressedTexImage3DOES GLES2_GET_FUN(CompressedTexImage3DOES) 798 #define glCompressedTexSubImage3DOES GLES2_GET_FUN(CompressedTexSubImage3DOES) 799 #define glFramebufferTexture3DOES GLES2_GET_FUN(FramebufferTexture3DOES) 800 #if !defined(GLES2_USE_CPP_BINDINGS) 801 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); 802 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); 803 GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 804 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); 805 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); 806 GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 807 #endif 808 #endif 809 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); 810 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); 811 typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 812 typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 813 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); 814 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 815 #endif 816 817 /* GL_OES_texture_float */ 818 #ifndef GL_OES_texture_float 819 #define GL_OES_texture_float 1 820 #endif 821 822 /* GL_OES_texture_float_linear */ 823 #ifndef GL_OES_texture_float_linear 824 #define GL_OES_texture_float_linear 1 825 #endif 826 827 /* GL_OES_texture_half_float */ 828 #ifndef GL_OES_texture_half_float 829 #define GL_OES_texture_half_float 1 830 #endif 831 832 /* GL_OES_texture_half_float_linear */ 833 #ifndef GL_OES_texture_half_float_linear 834 #define GL_OES_texture_half_float_linear 1 835 #endif 836 837 /* GL_OES_texture_npot */ 838 #ifndef GL_OES_texture_npot 839 #define GL_OES_texture_npot 1 840 #endif 841 842 /* GL_OES_vertex_array_object */ 843 #ifndef GL_OES_vertex_array_object 844 #define GL_OES_vertex_array_object 1 845 #ifdef GL_GLEXT_PROTOTYPES 846 #define glBindVertexArrayOES GLES2_GET_FUN(BindVertexArrayOES) 847 #define glDeleteVertexArraysOES GLES2_GET_FUN(DeleteVertexArraysOES) 848 #define glGenVertexArraysOES GLES2_GET_FUN(GenVertexArraysOES) 849 #define glIsVertexArrayOES GLES2_GET_FUN(IsVertexArrayOES) 850 #if !defined(GLES2_USE_CPP_BINDINGS) 851 GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 852 GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 853 GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 854 GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 855 #endif 856 #endif 857 typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 858 typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 859 typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 860 typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 861 #endif 862 863 /* GL_OES_vertex_half_float */ 864 #ifndef GL_OES_vertex_half_float 865 #define GL_OES_vertex_half_float 1 866 #endif 867 868 /* GL_OES_vertex_type_10_10_10_2 */ 869 #ifndef GL_OES_vertex_type_10_10_10_2 870 #define GL_OES_vertex_type_10_10_10_2 1 871 #endif 872 873 /*------------------------------------------------------------------------* 874 * AMD extension functions 875 *------------------------------------------------------------------------*/ 876 877 /* GL_AMD_compressed_3DC_texture */ 878 #ifndef GL_AMD_compressed_3DC_texture 879 #define GL_AMD_compressed_3DC_texture 1 880 #endif 881 882 /* GL_AMD_compressed_ATC_texture */ 883 #ifndef GL_AMD_compressed_ATC_texture 884 #define GL_AMD_compressed_ATC_texture 1 885 #endif 886 887 /* AMD_performance_monitor */ 888 #ifndef GL_AMD_performance_monitor 889 #define GL_AMD_performance_monitor 1 890 #ifdef GL_GLEXT_PROTOTYPES 891 #define glGetPerfMonitorGroupsAMD GLES2_GET_FUN(GetPerfMonitorGroupsAMD) 892 #define glGetPerfMonitorCountersAMD GLES2_GET_FUN(GetPerfMonitorCountersAMD) 893 #define glGetPerfMonitorGroupStringAMD GLES2_GET_FUN(GetPerfMonitorGroupStringAMD) 894 #define glGetPerfMonitorCounterStringAMD GLES2_GET_FUN(GetPerfMonitorCounterStringAMD) 895 #define glGetPerfMonitorCounterInfoAMD GLES2_GET_FUN(GetPerfMonitorCounterInfoAMD) 896 #define glGenPerfMonitorsAMD GLES2_GET_FUN(GenPerfMonitorsAMD) 897 #define glDeletePerfMonitorsAMD GLES2_GET_FUN(DeletePerfMonitorsAMD) 898 #define glSelectPerfMonitorCountersAMD GLES2_GET_FUN(SelectPerfMonitorCountersAMD) 899 #define glBeginPerfMonitorAMD GLES2_GET_FUN(BeginPerfMonitorAMD) 900 #define glEndPerfMonitorAMD GLES2_GET_FUN(EndPerfMonitorAMD) 901 #define glGetPerfMonitorCounterDataAMD GLES2_GET_FUN(GetPerfMonitorCounterDataAMD) 902 903 #if !defined(GLES2_USE_CPP_BINDINGS) 904 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 905 GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 906 GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 907 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 908 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 909 GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 910 GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 911 GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 912 GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 913 GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 914 GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 915 #endif 916 #endif 917 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 918 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 919 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 920 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 921 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 922 typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 923 typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 924 typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 925 typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 926 typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 927 typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 928 #endif 929 930 /* GL_AMD_program_binary_Z400 */ 931 #ifndef GL_AMD_program_binary_Z400 932 #define GL_AMD_program_binary_Z400 1 933 #endif 934 935 /*------------------------------------------------------------------------* 936 * ANGLE extension functions 937 *------------------------------------------------------------------------*/ 938 939 /* GL_ANGLE_framebuffer_blit */ 940 #ifndef GL_ANGLE_framebuffer_blit 941 #define GL_ANGLE_framebuffer_blit 1 942 #ifdef GL_GLEXT_PROTOTYPES 943 #define glBlitFramebufferANGLE GLES2_GET_FUN(BlitFramebufferANGLE) 944 945 #if !defined(GLES2_USE_CPP_BINDINGS) 946 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); 947 #endif 948 #endif 949 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); 950 #endif 951 952 /* GL_ANGLE_framebuffer_multisample */ 953 #ifndef GL_ANGLE_framebuffer_multisample 954 #define GL_ANGLE_framebuffer_multisample 1 955 #ifdef GL_GLEXT_PROTOTYPES 956 #define glRenderbufferStorageMultisampleANGLE GLES2_GET_FUN(RenderbufferStorageMultisampleANGLE) 957 #if !defined(GLES2_USE_CPP_BINDINGS) 958 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 959 #endif 960 #endif 961 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 962 #endif 963 964 /* GL_ANGLE_instanced_arrays */ 965 #ifndef GL_ANGLE_instanced_arrays 966 #define GL_ANGLE_instanced_arrays 1 967 #ifdef GL_GLEXT_PROTOTYPES 968 GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor); 969 GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount); 970 GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 971 #endif 972 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 973 typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 974 typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 975 #endif 976 977 /*------------------------------------------------------------------------* 978 * APPLE extension functions 979 *------------------------------------------------------------------------*/ 980 981 /* GL_APPLE_rgb_422 */ 982 #ifndef GL_APPLE_rgb_422 983 #define GL_APPLE_rgb_422 1 984 #endif 985 986 /* GL_APPLE_framebuffer_multisample */ 987 #ifndef GL_APPLE_framebuffer_multisample 988 #define GL_APPLE_framebuffer_multisample 1 989 #ifdef GL_GLEXT_PROTOTYPES 990 #define glRenderbufferStorageMultisampleAPPLE GLES2_GET_FUN(RenderbufferStorageMultisampleAPPLE) 991 #define glResolveMultisampleFramebufferAPPLE GLES2_GET_FUN(ResolveMultisampleFramebufferAPPLE) 992 #if !defined(GLES2_USE_CPP_BINDINGS) 993 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 994 GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 995 #endif 996 #endif /* GL_GLEXT_PROTOTYPES */ 997 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 998 typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 999 #endif 1000 1001 /* GL_APPLE_texture_format_BGRA8888 */ 1002 #ifndef GL_APPLE_texture_format_BGRA8888 1003 #define GL_APPLE_texture_format_BGRA8888 1 1004 #endif 1005 1006 /* GL_APPLE_texture_max_level */ 1007 #ifndef GL_APPLE_texture_max_level 1008 #define GL_APPLE_texture_max_level 1 1009 #endif 1010 1011 /*------------------------------------------------------------------------* 1012 * ARM extension functions 1013 *------------------------------------------------------------------------*/ 1014 1015 /* GL_ARM_mali_shader_binary */ 1016 #ifndef GL_ARM_mali_shader_binary 1017 #define GL_ARM_mali_shader_binary 1 1018 #endif 1019 1020 /* GL_ARM_rgba8 */ 1021 #ifndef GL_ARM_rgba8 1022 #define GL_ARM_rgba8 1 1023 #endif 1024 1025 /*------------------------------------------------------------------------* 1026 * EXT extension functions 1027 *------------------------------------------------------------------------*/ 1028 1029 /* GL_EXT_blend_minmax */ 1030 #ifndef GL_EXT_blend_minmax 1031 #define GL_EXT_blend_minmax 1 1032 #endif 1033 1034 /* GL_EXT_color_buffer_half_float */ 1035 #ifndef GL_EXT_color_buffer_half_float 1036 #define GL_EXT_color_buffer_half_float 1 1037 #endif 1038 1039 /* GL_EXT_debug_label */ 1040 #ifndef GL_EXT_debug_label 1041 #define GL_EXT_debug_label 1 1042 #ifdef GL_GLEXT_PROTOTYPES 1043 #define glLabelObjectEXT GLES2_GET_FUN(LabelObjectEXT) 1044 #define glGetObjectLabelEXT GLES2_GET_FUN(GetObjectLabelEXT) 1045 #if !defined(GLES2_USE_CPP_BINDINGS) 1046 GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1047 GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1048 #endif 1049 #endif 1050 typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1051 typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1052 #endif 1053 1054 /* GL_EXT_debug_marker */ 1055 #ifndef GL_EXT_debug_marker 1056 #define GL_EXT_debug_marker 1 1057 #ifdef GL_GLEXT_PROTOTYPES 1058 #define glInsertEventMarkerEXT GLES2_GET_FUN(InsertEventMarkerEXT) 1059 #define glPushGroupMarkerEXT GLES2_GET_FUN(PushGroupMarkerEXT) 1060 #define glPopGroupMarkerEXT GLES2_GET_FUN(PopGroupMarkerEXT) 1061 #if !defined(GLES2_USE_CPP_BINDINGS) 1062 GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1063 GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1064 GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1065 #endif 1066 #endif 1067 typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1068 typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1069 typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1070 #endif 1071 1072 /* GL_EXT_discard_framebuffer */ 1073 #ifndef GL_EXT_discard_framebuffer 1074 #define GL_EXT_discard_framebuffer 1 1075 #ifdef GL_GLEXT_PROTOTYPES 1076 #define glDiscardFramebufferEXT GLES2_GET_FUN(DiscardFramebufferEXT) 1077 #if !defined(GLES2_USE_CPP_BINDINGS) 1078 GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1079 #endif 1080 #endif 1081 typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1082 #endif 1083 1084 /* GL_EXT_multisampled_render_to_texture */ 1085 #ifndef GL_EXT_multisampled_render_to_texture 1086 #define GL_EXT_multisampled_render_to_texture 1 1087 #ifdef GL_GLEXT_PROTOTYPES 1088 #define glRenderbufferStorageMultisampleEXT GLES2_GET_FUN(RenderbufferStorageMultisampleEXT) 1089 #define glFramebufferTexture2DMultisampleEXT GLES2_GET_FUN(FramebufferTexture2DMultisampleEXT) 1090 #if !defined(GLES2_USE_CPP_BINDINGS) 1091 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1092 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1093 #endif 1094 #endif 1095 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1096 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1097 #endif 1098 1099 #ifndef GL_EXT_multi_draw_arrays 1100 #define GL_EXT_multi_draw_arrays 1 1101 #ifdef GL_GLEXT_PROTOTYPES 1102 #define glMultiDrawArraysEXT GLES2_GET_FUN(MultiDrawArraysEXT) 1103 #define glMultiDrawElementsEXT GLES2_GET_FUN(MultiDrawElementsEXT) 1104 #if !defined(GLES2_USE_CPP_BINDINGS) 1105 GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 1106 GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1107 #endif 1108 #endif /* GL_GLEXT_PROTOTYPES */ 1109 typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1110 typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1111 #endif 1112 1113 /* GL_EXT_occlusion_query_boolean */ 1114 #ifndef GL_EXT_occlusion_query_boolean 1115 #define GL_EXT_occlusion_query_boolean 1 1116 #ifdef GL_GLEXT_PROTOTYPES 1117 #define glGenQueriesEXT GLES2_GET_FUN(GenQueriesEXT) 1118 #define glDeleteQueriesEXT GLES2_GET_FUN(DeleteQueriesEXT) 1119 #define glIsQueryEXT GLES2_GET_FUN(IsQueryEXT) 1120 #define glBeginQueryEXT GLES2_GET_FUN(BeginQueryEXT) 1121 #define glEndQueryEXT GLES2_GET_FUN(EndQueryEXT) 1122 #define glGetQueryivEXT GLES2_GET_FUN(GetQueryivEXT) 1123 #define glGetQueryObjectuivEXT GLES2_GET_FUN(GetQueryObjectuivEXT) 1124 1125 #if !defined(GLES2_USE_CPP_BINDINGS) 1126 GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1127 GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1128 GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1129 GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1130 GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1131 GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1132 GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1133 #endif 1134 #endif 1135 typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1136 typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1137 typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1138 typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1139 typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1140 typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1141 typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1142 #endif 1143 1144 /* GL_EXT_read_format_bgra */ 1145 #ifndef GL_EXT_read_format_bgra 1146 #define GL_EXT_read_format_bgra 1 1147 #endif 1148 1149 /* GL_EXT_robustness */ 1150 #ifndef GL_EXT_robustness 1151 #define GL_EXT_robustness 1 1152 #ifdef GL_GLEXT_PROTOTYPES 1153 #define glGetGraphicsResetStatusEXT GLES2_GET_FUN(GetGraphicsResetStatusEXT) 1154 #define glReadnPixelsEXT GLES2_GET_FUN(ReadnPixelsEXT) 1155 #define glGetnUniformfvEXT GLES2_GET_FUN(GetnUniformfvEXT) 1156 #define glGetnUniformivEXT GLES2_GET_FUN(GetnUniformivEXT) 1157 1158 #if !defined(GLES2_USE_CPP_BINDINGS) 1159 GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1160 GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1161 GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1162 GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1163 #endif 1164 #endif 1165 typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1166 typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1167 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1168 typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1169 #endif 1170 1171 /* GL_EXT_separate_shader_objects */ 1172 #ifndef GL_EXT_separate_shader_objects 1173 #define GL_EXT_separate_shader_objects 1 1174 #ifdef GL_GLEXT_PROTOTYPES 1175 #define glUseProgramStagesEXT GLES2_GET_FUN(UseProgramStagesEXT) 1176 #define glActiveShaderProgramEXT GLES2_GET_FUN(ActiveShaderProgramEXT) 1177 #define glCreateShaderProgramvEXT GLES2_GET_FUN(CreateShaderProgramvEXT) 1178 #define glBindProgramPipelineEXT GLES2_GET_FUN(BindProgramPipelineEXT) 1179 #define glDeleteProgramPipelinesEXT GLES2_GET_FUN(DeleteProgramPipelinesEXT) 1180 #define glGenProgramPipelinesEXT GLES2_GET_FUN(GenProgramPipelinesEXT) 1181 #define glIsProgramPipelineEXT GLES2_GET_FUN(IsProgramPipelineEXT) 1182 #define glProgramParameteriEXT GLES2_GET_FUN(ProgramParameteriEXT) 1183 #define glGetProgramPipelineivEXT GLES2_GET_FUN(GetProgramPipelineivEXT) 1184 #define glProgramUniform1iEXT GLES2_GET_FUN(ProgramUniform1iEXT) 1185 #define glProgramUniform2iEXT GLES2_GET_FUN(ProgramUniform2iEXT) 1186 #define glProgramUniform3iEXT GLES2_GET_FUN(ProgramUniform3iEXT) 1187 #define glProgramUniform4iEXT GLES2_GET_FUN(ProgramUniform4iEXT) 1188 #define glProgramUniform1fEXT GLES2_GET_FUN(ProgramUniform1fEXT) 1189 #define glProgramUniform2fEXT GLES2_GET_FUN(ProgramUniform2fEXT) 1190 #define glProgramUniform3fEXT GLES2_GET_FUN(ProgramUniform3fEXT) 1191 #define glProgramUniform4fEXT GLES2_GET_FUN(ProgramUniform4fEXT) 1192 #define glProgramUniform1ivEXT GLES2_GET_FUN(ProgramUniform1ivEXT) 1193 #define glProgramUniform2ivEXT GLES2_GET_FUN(ProgramUniform2ivEXT) 1194 #define glProgramUniform3ivEXT GLES2_GET_FUN(ProgramUniform3ivEXT) 1195 #define glProgramUniform4ivEXT GLES2_GET_FUN(ProgramUniform4ivEXT) 1196 #define glProgramUniform1fvEXT GLES2_GET_FUN(ProgramUniform1fvEXT) 1197 #define glProgramUniform2fvEXT GLES2_GET_FUN(ProgramUniform2fvEXT) 1198 #define glProgramUniform3fvEXT GLES2_GET_FUN(ProgramUniform3fvEXT) 1199 #define glProgramUniform4fvEXT GLES2_GET_FUN(ProgramUniform4fvEXT) 1200 #define glProgramUniformMatrix2fvEXT GLES2_GET_FUN(ProgramUniformMatrix2fvEXT) 1201 #define glProgramUniformMatrix3fvEXT GLES2_GET_FUN(ProgramUniformMatrix3fvEXT) 1202 #define glProgramUniformMatrix4fvEXT GLES2_GET_FUN(ProgramUniformMatrix4fvEXT) 1203 #define glValidateProgramPipelineEXT GLES2_GET_FUN(ValidateProgramPipelineEXT) 1204 #define glGetProgramPipelineInfoLogEXT GLES2_GET_FUN(GetProgramPipelineInfoLogEXT) 1205 1206 #if !defined(GLES2_USE_CPP_BINDINGS) 1207 GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1208 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1209 GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1210 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1211 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1212 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1213 GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1214 GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1215 GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1216 GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1217 GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1218 GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1219 GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1220 GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1221 GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1222 GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1223 GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1224 GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1225 GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1226 GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1227 GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1228 GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1229 GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1230 GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1231 GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1232 GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1233 GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1234 GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1235 GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1236 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1237 #endif 1238 #endif 1239 typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1240 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1241 typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1242 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1243 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1244 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1245 typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1246 typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1247 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1248 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1249 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1250 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1251 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1252 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1253 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1254 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1255 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1256 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1257 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1258 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1259 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1260 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1261 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1262 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1263 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1264 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1265 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1266 typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1267 typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1268 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1269 #endif 1270 1271 /* GL_EXT_shader_texture_lod */ 1272 #ifndef GL_EXT_shader_texture_lod 1273 #define GL_EXT_shader_texture_lod 1 1274 #endif 1275 1276 /* GL_EXT_shadow_samplers */ 1277 #ifndef GL_EXT_shadow_samplers 1278 #define GL_EXT_shadow_samplers 1 1279 #endif 1280 1281 /* GL_EXT_sRGB */ 1282 #ifndef GL_EXT_sRGB 1283 #define GL_EXT_sRGB 1 1284 #endif 1285 1286 /* GL_EXT_texture_compression_dxt1 */ 1287 #ifndef GL_EXT_texture_compression_dxt1 1288 #define GL_EXT_texture_compression_dxt1 1 1289 #endif 1290 1291 /* GL_EXT_texture_filter_anisotropic */ 1292 #ifndef GL_EXT_texture_filter_anisotropic 1293 #define GL_EXT_texture_filter_anisotropic 1 1294 #endif 1295 1296 /* GL_EXT_texture_format_BGRA8888 */ 1297 #ifndef GL_EXT_texture_format_BGRA8888 1298 #define GL_EXT_texture_format_BGRA8888 1 1299 #endif 1300 1301 /* GL_EXT_texture_rg */ 1302 #ifndef GL_EXT_texture_rg 1303 #define GL_EXT_texture_rg 1 1304 #endif 1305 1306 /* GL_EXT_texture_storage */ 1307 #ifndef GL_EXT_texture_storage 1308 #define GL_EXT_texture_storage 1 1309 #ifdef GL_GLEXT_PROTOTYPES 1310 #define glTexStorage1DEXT GLES2_GET_FUN(TexStorage1DEXT) 1311 #define glTexStorage2DEXT GLES2_GET_FUN(TexStorage2DEXT) 1312 #define glTexStorage3DEXT GLES2_GET_FUN(TexStorage3DEXT) 1313 #define glTextureStorage1DEXT GLES2_GET_FUN(TextureStorage1DEXT) 1314 #define glTextureStorage2DEXT GLES2_GET_FUN(TextureStorage2DEXT) 1315 #define glTextureStorage3DEXT GLES2_GET_FUN(TextureStorage3DEXT) 1316 1317 #if !defined(GLES2_USE_CPP_BINDINGS) 1318 GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1319 GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1320 GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1321 GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1322 GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1323 GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1324 #endif 1325 #endif 1326 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1327 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1328 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1329 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1330 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1331 typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1332 #endif 1333 1334 /* GL_EXT_texture_type_2_10_10_10_REV */ 1335 #ifndef GL_EXT_texture_type_2_10_10_10_REV 1336 #define GL_EXT_texture_type_2_10_10_10_REV 1 1337 #endif 1338 1339 /* GL_EXT_unpack_subimage */ 1340 #ifndef GL_EXT_unpack_subimage 1341 #define GL_EXT_unpack_subimage 1 1342 #endif 1343 1344 /*------------------------------------------------------------------------* 1345 * DMP extension functions 1346 *------------------------------------------------------------------------*/ 1347 1348 /* GL_DMP_shader_binary */ 1349 #ifndef GL_DMP_shader_binary 1350 #define GL_DMP_shader_binary 1 1351 #endif 1352 1353 /*------------------------------------------------------------------------* 1354 * IMG extension functions 1355 *------------------------------------------------------------------------*/ 1356 1357 /* GL_IMG_program_binary */ 1358 #ifndef GL_IMG_program_binary 1359 #define GL_IMG_program_binary 1 1360 #endif 1361 1362 /* GL_IMG_read_format */ 1363 #ifndef GL_IMG_read_format 1364 #define GL_IMG_read_format 1 1365 #endif 1366 1367 /* GL_IMG_shader_binary */ 1368 #ifndef GL_IMG_shader_binary 1369 #define GL_IMG_shader_binary 1 1370 #endif 1371 1372 /* GL_IMG_texture_compression_pvrtc */ 1373 #ifndef GL_IMG_texture_compression_pvrtc 1374 #define GL_IMG_texture_compression_pvrtc 1 1375 #endif 1376 1377 /* GL_IMG_multisampled_render_to_texture */ 1378 #ifndef GL_IMG_multisampled_render_to_texture 1379 #define GL_IMG_multisampled_render_to_texture 1 1380 #ifdef GL_GLEXT_PROTOTYPES 1381 #define glRenderbufferStorageMultisampleIMG GLES2_GET_FUN(RenderbufferStorageMultisampleIMG) 1382 #define glFramebufferTexture2DMultisampleIMG GLES2_GET_FUN(FramebufferTexture2DMultisampleIMG) 1383 1384 #if !defined(GLES2_USE_CPP_BINDINGS) 1385 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1386 GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1387 #endif 1388 #endif 1389 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1390 typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1391 #endif 1392 1393 /*------------------------------------------------------------------------* 1394 * NV extension functions 1395 *------------------------------------------------------------------------*/ 1396 1397 /* GL_NV_coverage_sample */ 1398 #ifndef GL_NV_coverage_sample 1399 #define GL_NV_coverage_sample 1 1400 #ifdef GL_GLEXT_PROTOTYPES 1401 #define glCoverageMaskNV GLES2_GET_FUN(CoverageMaskNV) 1402 #define glCoverageOperationNV GLES2_GET_FUN(CoverageOperationNV) 1403 1404 #if !defined(GLES2_USE_CPP_BINDINGS) 1405 GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1406 GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1407 #endif 1408 #endif 1409 typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1410 typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1411 #endif 1412 1413 /* GL_NV_depth_nonlinear */ 1414 #ifndef GL_NV_depth_nonlinear 1415 #define GL_NV_depth_nonlinear 1 1416 #endif 1417 1418 /* GL_NV_draw_buffers */ 1419 #ifndef GL_NV_draw_buffers 1420 #define GL_NV_draw_buffers 1 1421 #ifdef GL_GLEXT_PROTOTYPES 1422 #define glDrawBuffersNV GLES2_GET_FUN(DrawBuffersNV) 1423 #if !defined(GLES2_USE_CPP_BINDINGS) 1424 GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1425 #endif 1426 #endif 1427 typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1428 #endif 1429 1430 /* GL_NV_fbo_color_attachments */ 1431 #ifndef GL_NV_fbo_color_attachments 1432 #define GL_NV_fbo_color_attachments 1 1433 #endif 1434 1435 /* GL_NV_fence */ 1436 #ifndef GL_NV_fence 1437 #define GL_NV_fence 1 1438 #ifdef GL_GLEXT_PROTOTYPES 1439 #define glDeleteFencesNV GLES2_GET_FUN(DeleteFencesNV) 1440 #define glGenFencesNV GLES2_GET_FUN(GenFencesNV) 1441 #define glIsFenceNV GLES2_GET_FUN(IsFenceNV) 1442 #define glTestFenceNV GLES2_GET_FUN(TestFenceNV) 1443 #define glGetFenceivNV GLES2_GET_FUN(GetFenceivNV) 1444 #define glFinishFenceNV GLES2_GET_FUN(FinishFenceNV) 1445 #define glSetFenceNV GLES2_GET_FUN(SetFenceNV) 1446 1447 #if !defined(GLES2_USE_CPP_BINDINGS) 1448 GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1449 GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1450 GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1451 GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1452 GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1453 GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1454 GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1455 #endif 1456 #endif 1457 typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1458 typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1459 typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1460 typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1461 typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1462 typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1463 typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1464 #endif 1465 1466 /* GL_NV_read_buffer */ 1467 #ifndef GL_NV_read_buffer 1468 #define GL_NV_read_buffer 1 1469 #ifdef GL_GLEXT_PROTOTYPES 1470 #define glReadBufferNV GLES2_GET_FUN(ReadBufferNV) 1471 #if !defined(GLES2_USE_CPP_BINDINGS) 1472 GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1473 #endif 1474 #endif 1475 typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1476 #endif 1477 1478 /* GL_NV_read_buffer_front */ 1479 #ifndef GL_NV_read_buffer_front 1480 #define GL_NV_read_buffer_front 1 1481 #endif 1482 1483 /* GL_NV_read_depth */ 1484 #ifndef GL_NV_read_depth 1485 #define GL_NV_read_depth 1 1486 #endif 1487 1488 /* GL_NV_read_depth_stencil */ 1489 #ifndef GL_NV_read_depth_stencil 1490 #define GL_NV_read_depth_stencil 1 1491 #endif 1492 1493 /* GL_NV_read_stencil */ 1494 #ifndef GL_NV_read_stencil 1495 #define GL_NV_read_stencil 1 1496 #endif 1497 1498 /* GL_NV_texture_compression_s3tc_update */ 1499 #ifndef GL_NV_texture_compression_s3tc_update 1500 #define GL_NV_texture_compression_s3tc_update 1 1501 #endif 1502 1503 /* GL_NV_texture_npot_2D_mipmap */ 1504 #ifndef GL_NV_texture_npot_2D_mipmap 1505 #define GL_NV_texture_npot_2D_mipmap 1 1506 #endif 1507 1508 /*------------------------------------------------------------------------* 1509 * QCOM extension functions 1510 *------------------------------------------------------------------------*/ 1511 1512 /* GL_QCOM_alpha_test */ 1513 #ifndef GL_QCOM_alpha_test 1514 #define GL_QCOM_alpha_test 1 1515 #ifdef GL_GLEXT_PROTOTYPES 1516 #define glAlphaFuncQCOM GLES2_GET_FUN(AlphaFuncQCOM) 1517 #if !defined(GLES2_USE_CPP_BINDINGS) 1518 GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1519 #endif 1520 #endif 1521 typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1522 #endif 1523 1524 /* GL_QCOM_driver_control */ 1525 #ifndef GL_QCOM_driver_control 1526 #define GL_QCOM_driver_control 1 1527 #ifdef GL_GLEXT_PROTOTYPES 1528 #define glGetDriverControlsQCOM GLES2_GET_FUN(GetDriverControlsQCOM) 1529 #define glGetDriverControlStringQCOM GLES2_GET_FUN(GetDriverControlStringQCOM) 1530 #define glEnableDriverControlQCOM GLES2_GET_FUN(EnableDriverControlQCOM) 1531 #define glDisableDriverControlQCOM GLES2_GET_FUN(DisableDriverControlQCOM) 1532 1533 #if !defined(GLES2_USE_CPP_BINDINGS) 1534 GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1535 GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1536 GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1537 GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1538 #endif 1539 #endif 1540 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1541 typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1542 typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1543 typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1544 #endif 1545 1546 /* GL_QCOM_extended_get */ 1547 #ifndef GL_QCOM_extended_get 1548 #define GL_QCOM_extended_get 1 1549 #ifdef GL_GLEXT_PROTOTYPES 1550 #define glExtGetTexturesQCOM GLES2_GET_FUN(ExtGetTexturesQCOM) 1551 #define glExtGetBuffersQCOM GLES2_GET_FUN(ExtGetBuffersQCOM) 1552 #define glExtGetRenderbuffersQCOM GLES2_GET_FUN(ExtGetRenderbuffersQCOM) 1553 #define glExtGetFramebuffersQCOM GLES2_GET_FUN(ExtGetFramebuffersQCOM) 1554 #define glExtGetTexLevelParameterivQCOM GLES2_GET_FUN(ExtGetTexLevelParameterivQCOM) 1555 #define glExtTexObjectStateOverrideiQCOM GLES2_GET_FUN(ExtTexObjectStateOverrideiQCOM) 1556 #define glExtGetTexSubImageQCOM GLES2_GET_FUN(ExtGetTexSubImageQCOM) 1557 #define glExtGetBufferPointervQCOM GLES2_GET_FUN(ExtGetBufferPointervQCOM) 1558 1559 #if !defined(GLES2_USE_CPP_BINDINGS) 1560 GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1561 GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1562 GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1563 GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1564 GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1565 GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1566 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); 1567 GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1568 #endif 1569 #endif 1570 typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1571 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1572 typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1573 typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1574 typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1575 typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1576 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); 1577 typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1578 #endif 1579 1580 /* GL_QCOM_extended_get2 */ 1581 #ifndef GL_QCOM_extended_get2 1582 #define GL_QCOM_extended_get2 1 1583 #ifdef GL_GLEXT_PROTOTYPES 1584 #define glExtGetShadersQCOM GLES2_GET_FUN(ExtGetShadersQCOM) 1585 #define glExtGetProgramsQCOM GLES2_GET_FUN(ExtGetProgramsQCOM) 1586 #define glExtIsProgramBinaryQCOM GLES2_GET_FUN(ExtIsProgramBinaryQCOM) 1587 #define glExtGetProgramBinarySourceQCOM GLES2_GET_FUN(ExtGetProgramBinarySourceQCOM) 1588 1589 #if !defined(GLES2_USE_CPP_BINDINGS) 1590 GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1591 GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1592 GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1593 GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1594 #endif 1595 #endif 1596 typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1597 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1598 typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1599 typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1600 #endif 1601 1602 /* GL_QCOM_perfmon_global_mode */ 1603 #ifndef GL_QCOM_perfmon_global_mode 1604 #define GL_QCOM_perfmon_global_mode 1 1605 #endif 1606 1607 /* GL_QCOM_writeonly_rendering */ 1608 #ifndef GL_QCOM_writeonly_rendering 1609 #define GL_QCOM_writeonly_rendering 1 1610 #endif 1611 1612 /* GL_QCOM_tiled_rendering */ 1613 #ifndef GL_QCOM_tiled_rendering 1614 #define GL_QCOM_tiled_rendering 1 1615 #ifdef GL_GLEXT_PROTOTYPES 1616 #define glStartTilingQCOM GLES2_GET_FUN(StartTilingQCOM) 1617 #define glEndTilingQCOM GLES2_GET_FUN(EndTilingQCOM) 1618 1619 #if !defined(GLES2_USE_CPP_BINDINGS) 1620 GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1621 GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1622 #endif 1623 #endif 1624 typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1625 typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1626 #endif 1627 1628 /*------------------------------------------------------------------------* 1629 * VIV extension tokens 1630 *------------------------------------------------------------------------*/ 1631 1632 /* GL_VIV_shader_binary */ 1633 #ifndef GL_VIV_shader_binary 1634 #define GL_VIV_shader_binary 1 1635 #endif 1636 1637 /* GL_EXT_framebuffer_multisample */ 1638 #ifndef GL_EXT_framebuffer_multisample 1639 #define GL_EXT_framebuffer_multisample 1 1640 1641 #ifndef GL_DRAW_FRAMEBUFFER_BINDING 1642 #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 1643 #endif 1644 #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT 1645 #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING 1646 #endif 1647 #ifndef GL_FRAMEBUFFER_BINDING 1648 #define GL_FRAMEBUFFER_BINDING 0x8CA6 1649 #endif 1650 #ifndef GL_FRAMEBUFFER_BINDING_EXT 1651 #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING 1652 #endif 1653 #ifndef GL_RENDERBUFFER_BINDING 1654 #define GL_RENDERBUFFER_BINDING 0x8CA7 1655 #endif 1656 #ifndef GL_RENDERBUFFER_BINDING_EXT 1657 #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING 1658 #endif 1659 #ifndef GL_READ_FRAMEBUFFER 1660 #define GL_READ_FRAMEBUFFER 0x8CA8 1661 #endif 1662 #ifndef GL_READ_FRAMEBUFFER_EXT 1663 #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER 1664 #endif 1665 #ifndef GL_DRAW_FRAMEBUFFER 1666 #define GL_DRAW_FRAMEBUFFER 0x8CA9 1667 #endif 1668 #ifndef GL_DRAW_FRAMEBUFFER_EXT 1669 #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER 1670 #endif 1671 #ifndef GL_READ_FRAMEBUFFER_BINDING 1672 #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA 1673 #endif 1674 #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT 1675 #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING 1676 #endif 1677 #ifndef GL_RENDERBUFFER_SAMPLES 1678 #define GL_RENDERBUFFER_SAMPLES 0x8CAB 1679 #endif 1680 #ifndef GL_RENDERBUFFER_SAMPLES_EXT 1681 #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES 1682 #endif 1683 #ifndef GL_MAX_SAMPLES 1684 #define GL_MAX_SAMPLES 0x8D57 1685 #endif 1686 #ifndef GL_MAX_SAMPLES_EXT 1687 #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES 1688 #endif 1689 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 1690 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 1691 #endif 1692 #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 1693 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 1694 #endif 1695 1696 #if 0 // Defined in GL_EXT_multisampled_render_to_texture 1697 #ifdef GL_GLEXT_PROTOTYPES 1698 #define glRenderbufferStorageMultisampleEXT GLES2_GET_FUN(RenderbufferStorageMultisampleEXT) 1699 #if !defined(GLES2_USE_CPP_BINDINGS) 1700 GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1701 #endif 1702 #endif /* GL_GLEXT_PROTOTYPES */ 1703 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1704 #endif 1705 #endif 1706 1707 #ifndef GL_EXT_framebuffer_blit 1708 #define GL_EXT_framebuffer_blit 1 1709 #ifdef GL_GLEXT_PROTOTYPES 1710 #define glBlitFramebufferEXT GLES2_GET_FUN(BlitFramebufferEXT) 1711 #if !defined(GLES2_USE_CPP_BINDINGS) 1712 GL_APICALL void GL_APIENTRY glBlitFramebufferEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1713 #endif 1714 #endif /* GL_GLEXT_PROTOTYPES */ 1715 typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1716 #endif 1717 1718 /* GL_CHROMIUM_map_sub */ 1719 #ifndef GL_CHROMIUM_map_sub 1720 #define GL_CHROMIUM_map_sub 1 1721 #ifndef GL_READ_ONLY 1722 #define GL_READ_ONLY 0x88B8 1723 #endif 1724 #ifndef GL_WRITE_ONLY 1725 #define GL_WRITE_ONLY 0x88B9 1726 #endif 1727 #ifdef GL_GLEXT_PROTOTYPES 1728 #define glMapBufferSubDataCHROMIUM GLES2_GET_FUN(MapBufferSubDataCHROMIUM) 1729 #define glUnmapBufferSubDataCHROMIUM GLES2_GET_FUN(UnmapBufferSubDataCHROMIUM) 1730 #define glMapTexSubImage2DCHROMIUM GLES2_GET_FUN(MapTexSubImage2DCHROMIUM) 1731 #define glUnmapTexSubImage2DCHROMIUM GLES2_GET_FUN(UnmapTexSubImage2DCHROMIUM) 1732 #if !defined(GLES2_USE_CPP_BINDINGS) 1733 GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 1734 GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM (const void* mem); 1735 GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access); 1736 GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM (const void* mem); 1737 #endif 1738 #endif 1739 typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUM) (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 1740 typedef void (GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUM) (const void* mem); 1741 typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUM) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access); 1742 typedef void (GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUM) (const void* mem); 1743 #endif 1744 1745 /* GL_CHROMIUM_resize */ 1746 #ifndef GL_CHROMIUM_resize 1747 #define GL_CHROMIUM_resize 1 1748 #ifdef GL_GLEXT_PROTOTYPES 1749 #define glResizeCHROMIUM GLES2_GET_FUN(ResizeCHROMIUM) 1750 #if !defined(GLES2_USE_CPP_BINDINGS) 1751 GL_APICALL void GL_APIENTRY glResizeCHROMIUM ( 1752 GLuint width, GLuint height, GLfloat scale_factor); 1753 #endif 1754 #else 1755 typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUM) (GLuint width, GLuint height); 1756 #endif 1757 #endif 1758 1759 /* GL_CHROMIUM_request_extension */ 1760 /* 1761 * This extension allows other extensions to be turned on at run time. 1762 * 1763 * glGetRequestableExtensionsCHROMIUM returns a space-separated and 1764 * null-terminated string containing all of the extension names that 1765 * can be successfully requested on the current hardware. This may 1766 * include the names of extensions that have already been enabled. 1767 * 1768 * glRequestExtensionCHROMIUM requests that the given extension be 1769 * enabled. Call glGetString(GL_EXTENSIONS) to find out whether the 1770 * extension request succeeded. 1771 */ 1772 #ifndef GL_CHROMIUM_request_extension 1773 #define GL_CHROMIUM_request_extension 1 1774 #ifdef GL_GLEXT_PROTOTYPES 1775 #define glGetRequestableExtensionsCHROMIUM GLES2_GET_FUN(GetRequestableExtensionsCHROMIUM) 1776 #define glRequestExtensionCHROMIUM GLES2_GET_FUN(RequestExtensionCHROMIUM) 1777 #if !defined(GLES2_USE_CPP_BINDINGS) 1778 GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM (void); 1779 GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM (const GLchar *extension); 1780 #endif 1781 #else 1782 typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUM) (void); 1783 typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUM) (const GLchar *extension); 1784 #endif 1785 #endif 1786 1787 /* GL_CHROMIUM_rate_limit_offscreen_context */ 1788 /* 1789 * This extension will block if the calling context has gotten more than two 1790 * glRateLimit calls ahead of the GPU process. This keeps the client in sync 1791 * with the GPU without having to call swapbuffers, which has potentially 1792 * undesirable side effects. 1793 */ 1794 #ifndef GL_CHROMIUM_rate_limit_offscreen_context 1795 #define GL_CHROMIUM_rate_limit_offscreen_context 1 1796 #ifdef GL_GLEXT_PROTOTYPES 1797 #define glRateLimitOffscreenContextCHROMIUM GLES2_GET_FUN(RateLimitOffscreenContextCHROMIUM) 1798 #if !defined(GLES2_USE_CPP_BINDINGS) 1799 GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM (void); 1800 #endif 1801 #else 1802 typedef void (GL_APIENTRYP PFNGLRATELIMITOFFSCREENCONTEXTCHROMIUM) (); 1803 #endif 1804 #endif 1805 1806 /* GL_CHROMIUM_get_multiple */ 1807 /* 1808 * This extension provides functions for quering multiple GL state with a single 1809 * call. 1810 */ 1811 #ifndef GL_CHROMIUM_get_multiple 1812 #define GL_CHROMIUM_get_multiple 1 1813 #ifdef GL_GLEXT_PROTOTYPES 1814 #define glGetMultipleIntegervCHROMIUM GLES2_GET_FUN(GetMultipleIntegervCHROMIUM) 1815 #define glGetProgramInfoCHROMIUM GLES2_GET_FUN(GetProgramInfovCHROMIUM) 1816 #if !defined(GLES2_USE_CPP_BINDINGS) 1817 GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM (const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 1818 GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM (GLuint program, GLsizei bufsize, GLsizei* size, void* info); 1819 #endif 1820 #else 1821 typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUM) (); 1822 typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUM) (); 1823 #endif 1824 #endif 1825 1826 /* GL_CHROMIUM_flipy */ 1827 /* 1828 * This extension provides GL_UNPACK_FLIP_Y_CHROMIUM as a parameter to 1829 * glPixelStorei. When true images submitted to glTexImage2D and glTexSubImage2D 1830 * are flipped vertically. 1831 */ 1832 #ifndef GL_CHROMIUM_flipy 1833 #define GL_CHROMIUM_flipy 1 1834 #define GL_UNPACK_FLIP_Y_CHROMIUM 0x9240 1835 #endif 1836 1837 /* GL_CHROMIUM_texture_compression_dxt3 */ 1838 #ifndef GL_CHROMIUM_texture_compression_dxt3 1839 #define GL_CHROMIUM_texture_compression_dxt3 1 1840 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 1841 #endif 1842 1843 /* GL_CHROMIUM_texture_compression_dxt5 */ 1844 #ifndef GL_CHROMIUM_texture_compression_dxt5 1845 #define GL_CHROMIUM_texture_compression_dxt5 1 1846 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 1847 #endif 1848 1849 /* GL_CHROMIUM_enable_feature */ 1850 #ifndef GL_CHROMIUM_enable_feature 1851 #define GL_CHROMIUM_enable_feature 1 1852 #ifdef GL_GLEXT_PROTOTYPES 1853 #define glEnableFeatureCHROMIUM GLES2_GET_FUN(EnableFeatureCHROMIUM) 1854 #if !defined(GLES2_USE_CPP_BINDINGS) 1855 GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM (const GLchar *feature); 1856 #endif 1857 #else 1858 typedef void (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUM) (const GLchar *feature); 1859 #endif 1860 #endif 1861 1862 /* GL_CHROMIUM_post_sub_buffer */ 1863 /* This extension is modeled after EGL_NV_post_sub_buffer and 1864 * GLX_MESA_copy_sub_buffer. It's like a SwapBuffers, but it pushes a region 1865 * of the back buffer to the front buffer. 1866 */ 1867 #ifndef GL_CHROMIUM_post_sub_buffer 1868 #define GL_CHROMIUM_post_sub_buffer 1 1869 #ifdef GL_GLEXT_PROTOTYPES 1870 #define glPostSubBufferCHROMIUM GLES2_GET_FUN(PostSubBufferCHROMIUM) 1871 #if !defined(GLES2_USE_CPP_BINDINGS) 1872 GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM (GLint x, GLint y, GLint width, GLint height); 1873 #endif 1874 #else 1875 typedef void (GL_APIENTRYP PFNGLPOSTSUBBUFFERCHROMIUM) (GLint x, GLint y, GLint width, GLint height); 1876 #endif 1877 #endif 1878 1879 /* GL_ARB_robustness */ 1880 /* This extension is subsetted for the moment, incorporating only the 1881 * enums necessary to describe the reasons that we might encounter for 1882 * losing the context. The entry point querying the reset status is 1883 * not yet incorporated; to do so, a spec will be needed of a GLES2 1884 * subset of GL_ARB_robustness. 1885 */ 1886 #ifndef GL_ARB_robustness 1887 #define GL_ARB_robustness 1 1888 #ifndef GL_GUILTY_CONTEXT_RESET_ARB 1889 #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 1890 #endif 1891 #ifndef GL_INNOCENT_CONTEXT_RESET_ARB 1892 #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 1893 #endif 1894 #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB 1895 #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 1896 #endif 1897 #endif 1898 1899 /* GL_ANGLE_translated_shader_source */ 1900 #ifndef GL_ANGLE_translated_shader_source 1901 #define GL_ANGLE_translated_shader_source 1 1902 #ifndef GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 1903 #define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 1904 #endif 1905 #ifdef GL_GLEXT_PROTOTYPES 1906 #define glGetTranslatedShaderSourceANGLE GLES2_GET_FUN(GetTranslatedShaderSourceANGLE) 1907 #if !defined(GLES2_USE_CPP_BINDINGS) 1908 GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 1909 #endif 1910 #endif 1911 typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 1912 #endif 1913 1914 /* GL_ARB_texture_rectangle */ 1915 /* Exposes only the subset necessary to support GL_CHROMIUM_iosurface. 1916 */ 1917 #ifndef GL_ARB_texture_rectangle 1918 #define GL_ARB_texture_rectangle 1 1919 #ifndef GL_TEXTURE_RECTANGLE_ARB 1920 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5 1921 #endif 1922 #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB 1923 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 1924 #endif 1925 #ifndef GL_SAMPLER_2D_RECT_ARB 1926 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 1927 #endif 1928 #endif 1929 1930 /* GL_CHROMIUM_iosurface */ 1931 /* Exposes the Mac OS-specfic CGLTexImageIOSurface2D entry point as a 1932 * Chromium extension in the cross-platform API. Binds the IOSurface with 1933 * the given ID (an IOSurfaceID) to the texture bound to the given target. 1934 * To avoid needing to expose extraneous enums, assumes internal format 1935 * RGBA, format BGRA, and type UNSIGNED_INT_8_8_8_8_REV. 1936 */ 1937 #ifndef GL_CHROMIUM_iosurface 1938 #define GL_CHROMIUM_iosurface 1 1939 #ifdef GL_GLEXT_PROTOTYPES 1940 #define glTexImageIOSurface2DCHROMIUM GLES2_GET_FUN(TexImageIOSurface2DCHROMIUM) 1941 #if !defined(GLES2_USE_CPP_BINDINGS) 1942 GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM (GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, GLuint plane); 1943 #endif 1944 #else 1945 typedef void (GL_APIENTRYP PFNGLTEXIMAGEIOSURFACE2DCHROMIUM) (GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, GLuint plane); 1946 #endif 1947 #endif 1948 1949 /* GL_CHROMIUM_copy_texture */ 1950 #ifndef GL_CHROMIUM_copy_texture 1951 #ifndef GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 1952 #define GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM 0x9241 1953 #endif 1954 #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 1955 #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243 1956 #endif 1957 #ifdef GL_GLEXT_PROTOTYPES 1958 #define glCopyTextureCHROMIUM GLES2_GET_FUN(CopyTextureCHROMIUM) 1959 #if !defined(GLES2_USE_CPP_BINDINGS) 1960 GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM (GLenum target, GLenum source_id, GLenum dest_id, GLint level); 1961 #endif 1962 #else 1963 typedef void (GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUM) (GLenum target, GLenum source_id, GLenum dest_id, GLint level); 1964 #endif 1965 #endif 1966 1967 /* GL_CHROMIUM_command_buffer_query */ 1968 /* Exposes GL_CHROMIUM_command_buffer_query. 1969 */ 1970 #ifndef GL_CHROMIUM_command_buffer_query 1971 #define GL_CHROMIUM_command_buffer_query 1 1972 // TODO(gman): Get official numbers for these constants. 1973 #define GL_COMMANDS_ISSUED_CHROMIUM 0x84F2 1974 #endif 1975 1976 #ifdef __cplusplus 1977 } 1978 #endif 1979 1980 #endif /* __gl2ext_h_ */ 1981