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 7extern "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 57typedef 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) 703GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 704GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 705#endif 706#endif 707typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 708typedef 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) 739GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 740GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 741#endif 742#endif 743typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 744typedef 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) 755GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 756GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 757GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 758#endif 759#endif 760typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 761typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 762typedef 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) 801GL_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); 802GL_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); 803GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 804GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 805GL_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); 806GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 807#endif 808#endif 809typedef 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); 810typedef 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); 811typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 812typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 813typedef 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); 814typedef 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) 851GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 852GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 853GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 854GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 855#endif 856#endif 857typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 858typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 859typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 860typedef 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) 904GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 905GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 906GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 907GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 908GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 909GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 910GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 911GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 912GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 913GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 914GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 915#endif 916#endif 917typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 918typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 919typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 920typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 921typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 922typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 923typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 924typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 925typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 926typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 927typedef 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) 946GL_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 949typedef 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) 958GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 959#endif 960#endif 961typedef 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 968GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor); 969GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount); 970GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 971#endif 972typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 973typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 974typedef 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) 993GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 994GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 995#endif 996#endif /* GL_GLEXT_PROTOTYPES */ 997typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 998typedef 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) 1046GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1047GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1048#endif 1049#endif 1050typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1051typedef 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) 1062GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1063GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1064GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1065#endif 1066#endif 1067typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1068typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1069typedef 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) 1078GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1079#endif 1080#endif 1081typedef 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) 1091GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1092GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1093#endif 1094#endif 1095typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1096typedef 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) 1105GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 1106GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1107#endif 1108#endif /* GL_GLEXT_PROTOTYPES */ 1109typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1110typedef 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) 1126GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1127GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1128GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1129GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1130GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1131GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1132GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1133#endif 1134#endif 1135typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1136typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1137typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1138typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1139typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1140typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1141typedef 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) 1159GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1160GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1161GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1162GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1163#endif 1164#endif 1165typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1166typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1167typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1168typedef 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) 1207GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1208GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1209GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1210GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1211GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1212GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1213GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1214GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1215GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1216GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1217GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1218GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1219GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1220GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1221GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1222GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1223GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1224GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1225GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1226GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1227GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1228GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1229GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1230GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1231GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1232GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1233GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1234GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1235GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1236GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1237#endif 1238#endif 1239typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1240typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1241typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1242typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1243typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1244typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1245typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1246typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1247typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1248typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1249typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1250typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1251typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1252typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1253typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1254typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1255typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1256typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1257typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1258typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1259typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1260typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1261typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1262typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1263typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1264typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1265typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1266typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1267typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1268typedef 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) 1318GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1319GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1320GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1321GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1322GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1323GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1324#endif 1325#endif 1326typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1327typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1328typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1329typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1330typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1331typedef 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) 1385GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1386GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1387#endif 1388#endif 1389typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1390typedef 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) 1405GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1406GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1407#endif 1408#endif 1409typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1410typedef 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) 1424GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1425#endif 1426#endif 1427typedef 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) 1448GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1449GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1450GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1451GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1452GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1453GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1454GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1455#endif 1456#endif 1457typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1458typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1459typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1460typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1461typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1462typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1463typedef 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) 1472GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1473#endif 1474#endif 1475typedef 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) 1518GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1519#endif 1520#endif 1521typedef 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) 1534GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1535GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1536GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1537GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1538#endif 1539#endif 1540typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1541typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1542typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1543typedef 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) 1560GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1561GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1562GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1563GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1564GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1565GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1566GL_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); 1567GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1568#endif 1569#endif 1570typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1571typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1572typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1573typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1574typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1575typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1576typedef 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); 1577typedef 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) 1590GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1591GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1592GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1593GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1594#endif 1595#endif 1596typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1597typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1598typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1599typedef 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) 1620GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1621GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1622#endif 1623#endif 1624typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1625typedef 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) 1700GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1701#endif 1702#endif /* GL_GLEXT_PROTOTYPES */ 1703typedef 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) 1712GL_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 */ 1715typedef 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) 1733GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 1734GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM (const void* mem); 1735GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access); 1736GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM (const void* mem); 1737#endif 1738#endif 1739typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUM) (GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); 1740typedef void (GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUM) (const void* mem); 1741typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUM) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access); 1742typedef 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) 1751GL_APICALL void GL_APIENTRY glResizeCHROMIUM ( 1752 GLuint width, GLuint height, GLfloat scale_factor); 1753#endif 1754#else 1755typedef 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) 1778GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM (void); 1779GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM (const GLchar *extension); 1780#endif 1781#else 1782typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUM) (void); 1783typedef 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) 1799GL_APICALL void GL_APIENTRY glRateLimitOffscreenContextCHROMIUM (void); 1800#endif 1801#else 1802typedef 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) 1817GL_APICALL void GL_APIENTRY glGetMultipleIntegervCHROMIUM (const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); 1818GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM (GLuint program, GLsizei bufsize, GLsizei* size, void* info); 1819#endif 1820#else 1821typedef void (GL_APIENTRYP PFNGLGETMULTIPLEINTEGERVCHROMIUM) (); 1822typedef 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) 1855GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM (const GLchar *feature); 1856#endif 1857#else 1858typedef 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) 1872GL_APICALL void GL_APIENTRY glPostSubBufferCHROMIUM (GLint x, GLint y, GLint width, GLint height); 1873#endif 1874#else 1875typedef 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) 1908GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); 1909#endif 1910#endif 1911typedef 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) 1942GL_APICALL void GL_APIENTRY glTexImageIOSurface2DCHROMIUM (GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, GLuint plane); 1943#endif 1944#else 1945typedef 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) 1960GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM (GLenum target, GLenum source_id, GLenum dest_id, GLint level); 1961#endif 1962#else 1963typedef 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