1#ifndef __gl2ext_h_ 2#define __gl2ext_h_ 3 4/* $Revision: 18099 $ on $Date:: 2012-06-06 09:16:19 -0700 #$ */ 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_required_internalformat */ 97/* No new tokens introduced by this extension. */ 98 99/* GL_OES_rgb8_rgba8 */ 100#ifndef GL_OES_rgb8_rgba8 101#define GL_RGB8_OES 0x8051 102#define GL_RGBA8_OES 0x8058 103#endif 104 105/* GL_OES_standard_derivatives */ 106#ifndef GL_OES_standard_derivatives 107#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 108#endif 109 110/* GL_OES_stencil1 */ 111#ifndef GL_OES_stencil1 112#define GL_STENCIL_INDEX1_OES 0x8D46 113#endif 114 115/* GL_OES_stencil4 */ 116#ifndef GL_OES_stencil4 117#define GL_STENCIL_INDEX4_OES 0x8D47 118#endif 119 120/* GL_OES_texture_3D */ 121#ifndef GL_OES_texture_3D 122#define GL_TEXTURE_WRAP_R_OES 0x8072 123#define GL_TEXTURE_3D_OES 0x806F 124#define GL_TEXTURE_BINDING_3D_OES 0x806A 125#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 126#define GL_SAMPLER_3D_OES 0x8B5F 127#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 128#endif 129 130/* GL_OES_texture_float */ 131/* No new tokens introduced by this extension. */ 132 133/* GL_OES_texture_float_linear */ 134/* No new tokens introduced by this extension. */ 135 136/* GL_OES_texture_half_float */ 137#ifndef GL_OES_texture_half_float 138#define GL_HALF_FLOAT_OES 0x8D61 139#endif 140 141/* GL_OES_texture_half_float_linear */ 142/* No new tokens introduced by this extension. */ 143 144/* GL_OES_texture_npot */ 145/* No new tokens introduced by this extension. */ 146 147/* GL_OES_vertex_array_object */ 148#ifndef GL_OES_vertex_array_object 149#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 150#endif 151 152/* GL_OES_vertex_half_float */ 153/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 154 155/* GL_OES_vertex_type_10_10_10_2 */ 156#ifndef GL_OES_vertex_type_10_10_10_2 157#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 158#define GL_INT_10_10_10_2_OES 0x8DF7 159#endif 160 161/*------------------------------------------------------------------------* 162 * AMD extension tokens 163 *------------------------------------------------------------------------*/ 164 165/* GL_AMD_compressed_3DC_texture */ 166#ifndef GL_AMD_compressed_3DC_texture 167#define GL_3DC_X_AMD 0x87F9 168#define GL_3DC_XY_AMD 0x87FA 169#endif 170 171/* GL_AMD_compressed_ATC_texture */ 172#ifndef GL_AMD_compressed_ATC_texture 173#define GL_ATC_RGB_AMD 0x8C92 174#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 175#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 176#endif 177 178/* GL_AMD_performance_monitor */ 179#ifndef GL_AMD_performance_monitor 180#define GL_COUNTER_TYPE_AMD 0x8BC0 181#define GL_COUNTER_RANGE_AMD 0x8BC1 182#define GL_UNSIGNED_INT64_AMD 0x8BC2 183#define GL_PERCENTAGE_AMD 0x8BC3 184#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 185#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 186#define GL_PERFMON_RESULT_AMD 0x8BC6 187#endif 188 189/* GL_AMD_program_binary_Z400 */ 190#ifndef GL_AMD_program_binary_Z400 191#define GL_Z400_BINARY_AMD 0x8740 192#endif 193 194/*------------------------------------------------------------------------* 195 * ANGLE extension tokens 196 *------------------------------------------------------------------------*/ 197 198/* GL_ANGLE_framebuffer_blit */ 199#ifndef GL_ANGLE_framebuffer_blit 200#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 201#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 202#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 203#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 204#endif 205 206/* GL_ANGLE_framebuffer_multisample */ 207#ifndef GL_ANGLE_framebuffer_multisample 208#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 209#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 210#define GL_MAX_SAMPLES_ANGLE 0x8D57 211#endif 212 213/* GL_ANGLE_instanced_arrays */ 214#ifndef GL_ANGLE_instanced_arrays 215#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 216#endif 217 218/* GL_ANGLE_pack_reverse_row_order */ 219#ifndef GL_ANGLE_pack_reverse_row_order 220#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 221#endif 222 223/* GL_ANGLE_texture_compression_dxt3 */ 224#ifndef GL_ANGLE_texture_compression_dxt3 225#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 226#endif 227 228/* GL_ANGLE_texture_compression_dxt5 */ 229#ifndef GL_ANGLE_texture_compression_dxt5 230#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 231#endif 232 233/* GL_ANGLE_texture_usage */ 234#ifndef GL_ANGLE_texture_usage 235#define GL_TEXTURE_USAGE_ANGLE 0x93A2 236#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 237#endif 238 239/* GL_ANGLE_translated_shader_source */ 240#ifndef GL_ANGLE_translated_shader_source 241#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 242#endif 243 244/*------------------------------------------------------------------------* 245 * APPLE extension tokens 246 *------------------------------------------------------------------------*/ 247 248/* GL_APPLE_rgb_422 */ 249#ifndef GL_APPLE_rgb_422 250#define GL_RGB_422_APPLE 0x8A1F 251#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 252#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 253#endif 254 255/* GL_APPLE_framebuffer_multisample */ 256#ifndef GL_APPLE_framebuffer_multisample 257#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 258#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 259#define GL_MAX_SAMPLES_APPLE 0x8D57 260#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 261#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 262#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 263#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 264#endif 265 266/* GL_APPLE_texture_format_BGRA8888 */ 267#ifndef GL_APPLE_texture_format_BGRA8888 268#define GL_BGRA_EXT 0x80E1 269#endif 270 271/* GL_APPLE_texture_max_level */ 272#ifndef GL_APPLE_texture_max_level 273#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 274#endif 275 276/*------------------------------------------------------------------------* 277 * ARM extension tokens 278 *------------------------------------------------------------------------*/ 279 280/* GL_ARM_mali_shader_binary */ 281#ifndef GL_ARM_mali_shader_binary 282#define GL_MALI_SHADER_BINARY_ARM 0x8F60 283#endif 284 285/* GL_ARM_rgba8 */ 286/* No new tokens introduced by this extension. */ 287 288/*------------------------------------------------------------------------* 289 * EXT extension tokens 290 *------------------------------------------------------------------------*/ 291 292/* GL_EXT_blend_minmax */ 293#ifndef GL_EXT_blend_minmax 294#define GL_MIN_EXT 0x8007 295#define GL_MAX_EXT 0x8008 296#endif 297 298/* GL_EXT_color_buffer_half_float */ 299#ifndef GL_EXT_color_buffer_half_float 300#define GL_RGBA16F_EXT 0x881A 301#define GL_RGB16F_EXT 0x881B 302#define GL_RG16F_EXT 0x822F 303#define GL_R16F_EXT 0x822D 304#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 305#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 306#endif 307 308/* GL_EXT_debug_label */ 309#ifndef GL_EXT_debug_label 310#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 311#define GL_PROGRAM_OBJECT_EXT 0x8B40 312#define GL_SHADER_OBJECT_EXT 0x8B48 313#define GL_BUFFER_OBJECT_EXT 0x9151 314#define GL_QUERY_OBJECT_EXT 0x9153 315#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 316#endif 317 318/* GL_EXT_debug_marker */ 319/* No new tokens introduced by this extension. */ 320 321/* GL_EXT_discard_framebuffer */ 322#ifndef GL_EXT_discard_framebuffer 323#define GL_COLOR_EXT 0x1800 324#define GL_DEPTH_EXT 0x1801 325#define GL_STENCIL_EXT 0x1802 326#endif 327 328/* GL_EXT_multisampled_render_to_texture */ 329#ifndef GL_EXT_multisampled_render_to_texture 330#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 331#define GL_RENDERBUFFER_SAMPLES_EXT 0x9133 332#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x9134 333#define GL_MAX_SAMPLES_EXT 0x9135 334#endif 335 336/* GL_EXT_multi_draw_arrays */ 337/* No new tokens introduced by this extension. */ 338 339/* GL_EXT_occlusion_query_boolean */ 340#ifndef GL_EXT_occlusion_query_boolean 341#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 342#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 343#define GL_CURRENT_QUERY_EXT 0x8865 344#define GL_QUERY_RESULT_EXT 0x8866 345#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 346#endif 347 348/* GL_EXT_read_format_bgra */ 349#ifndef GL_EXT_read_format_bgra 350#define GL_BGRA_EXT 0x80E1 351#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 352#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 353#endif 354 355/* GL_EXT_robustness */ 356#ifndef GL_EXT_robustness 357/* reuse GL_NO_ERROR */ 358#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 359#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 360#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 361#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 362#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 363#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 364#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 365#endif 366 367/* GL_EXT_separate_shader_objects */ 368#ifndef GL_EXT_separate_shader_objects 369#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 370#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 371#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 372#define GL_PROGRAM_SEPARABLE_EXT 0x8258 373#define GL_ACTIVE_PROGRAM_EXT 0x8259 374#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 375#endif 376 377/* GL_EXT_shader_texture_lod */ 378/* No new tokens introduced by this extension. */ 379 380/* GL_EXT_shadow_samplers */ 381#ifndef GL_EXT_shadow_samplers 382#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 383#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 384#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 385#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 386#endif 387 388/* GL_EXT_sRGB */ 389#ifndef GL_EXT_sRGB 390#define GL_SRGB_EXT 0x8C40 391#define GL_SRGB_ALPHA_EXT 0x8C42 392#define GL_SRGB8_ALPHA8_EXT 0x8C43 393#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 394#endif 395 396/* GL_EXT_texture_compression_dxt1 */ 397#ifndef GL_EXT_texture_compression_dxt1 398#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 399#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 400#endif 401 402/* GL_EXT_texture_filter_anisotropic */ 403#ifndef GL_EXT_texture_filter_anisotropic 404#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 405#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 406#endif 407 408/* GL_EXT_texture_format_BGRA8888 */ 409#ifndef GL_EXT_texture_format_BGRA8888 410#define GL_BGRA_EXT 0x80E1 411#endif 412 413/* GL_EXT_texture_rg */ 414#ifndef GL_EXT_texture_rg 415#define GL_RED_EXT 0x1903 416#define GL_RG_EXT 0x8227 417#define GL_R8_EXT 0x8229 418#define GL_RG8_EXT 0x822B 419#endif 420 421/* GL_EXT_texture_storage */ 422#ifndef GL_EXT_texture_storage 423#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 424#define GL_ALPHA8_EXT 0x803C 425#define GL_LUMINANCE8_EXT 0x8040 426#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 427#define GL_RGBA32F_EXT 0x8814 428#define GL_RGB32F_EXT 0x8815 429#define GL_ALPHA32F_EXT 0x8816 430#define GL_LUMINANCE32F_EXT 0x8818 431#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 432/* reuse GL_RGBA16F_EXT */ 433/* reuse GL_RGB16F_EXT */ 434#define GL_ALPHA16F_EXT 0x881C 435#define GL_LUMINANCE16F_EXT 0x881E 436#define GL_LUMINANCE_ALPHA16F_EXT 0x881F 437#define GL_RGB10_A2_EXT 0x8059 438#define GL_RGB10_EXT 0x8052 439#define GL_BGRA8_EXT 0x93A1 440#define GL_R8_EXT 0x8229 441#define GL_RG8_EXT 0x822B 442#define GL_R32F_EXT 0x822E 443#define GL_RG32F_EXT 0x8230 444#define GL_R16F_EXT 0x822D 445#define GL_RG16F_EXT 0x822F 446#endif 447 448/* GL_EXT_texture_type_2_10_10_10_REV */ 449#ifndef GL_EXT_texture_type_2_10_10_10_REV 450#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 451#endif 452 453/* GL_EXT_unpack_subimage */ 454#ifndef GL_EXT_unpack_subimage 455#define GL_UNPACK_ROW_LENGTH 0x0CF2 456#define GL_UNPACK_SKIP_ROWS 0x0CF3 457#define GL_UNPACK_SKIP_PIXELS 0x0CF4 458#endif 459 460/*------------------------------------------------------------------------* 461 * DMP extension tokens 462 *------------------------------------------------------------------------*/ 463 464/* GL_DMP_shader_binary */ 465#ifndef GL_DMP_shader_binary 466#define GL_SHADER_BINARY_DMP 0x9250 467#endif 468 469/*------------------------------------------------------------------------* 470 * FJ extension tokens 471 *------------------------------------------------------------------------*/ 472 473/* GL_FJ_shader_binary_GCCSO */ 474#ifndef GL_FJ_shader_binary_GCCSO 475#define GCCSO_SHADER_BINARY_FJ 0x9260 476#endif 477 478/*------------------------------------------------------------------------* 479 * IMG extension tokens 480 *------------------------------------------------------------------------*/ 481 482/* GL_IMG_program_binary */ 483#ifndef GL_IMG_program_binary 484#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 485#endif 486 487/* GL_IMG_read_format */ 488#ifndef GL_IMG_read_format 489#define GL_BGRA_IMG 0x80E1 490#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 491#endif 492 493/* GL_IMG_shader_binary */ 494#ifndef GL_IMG_shader_binary 495#define GL_SGX_BINARY_IMG 0x8C0A 496#endif 497 498/* GL_IMG_texture_compression_pvrtc */ 499#ifndef GL_IMG_texture_compression_pvrtc 500#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 501#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 502#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 503#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 504#endif 505 506/* GL_IMG_multisampled_render_to_texture */ 507#ifndef GL_IMG_multisampled_render_to_texture 508#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 509#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 510#define GL_MAX_SAMPLES_IMG 0x9135 511#define GL_TEXTURE_SAMPLES_IMG 0x9136 512#endif 513 514/*------------------------------------------------------------------------* 515 * NV extension tokens 516 *------------------------------------------------------------------------*/ 517 518/* GL_NV_coverage_sample */ 519#ifndef GL_NV_coverage_sample 520#define GL_COVERAGE_COMPONENT_NV 0x8ED0 521#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 522#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 523#define GL_COVERAGE_BUFFERS_NV 0x8ED3 524#define GL_COVERAGE_SAMPLES_NV 0x8ED4 525#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 526#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 527#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 528#define GL_COVERAGE_BUFFER_BIT_NV 0x8000 529#endif 530 531/* GL_NV_depth_nonlinear */ 532#ifndef GL_NV_depth_nonlinear 533#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 534#endif 535 536/* GL_NV_draw_buffers */ 537#ifndef GL_NV_draw_buffers 538#define GL_MAX_DRAW_BUFFERS_NV 0x8824 539#define GL_DRAW_BUFFER0_NV 0x8825 540#define GL_DRAW_BUFFER1_NV 0x8826 541#define GL_DRAW_BUFFER2_NV 0x8827 542#define GL_DRAW_BUFFER3_NV 0x8828 543#define GL_DRAW_BUFFER4_NV 0x8829 544#define GL_DRAW_BUFFER5_NV 0x882A 545#define GL_DRAW_BUFFER6_NV 0x882B 546#define GL_DRAW_BUFFER7_NV 0x882C 547#define GL_DRAW_BUFFER8_NV 0x882D 548#define GL_DRAW_BUFFER9_NV 0x882E 549#define GL_DRAW_BUFFER10_NV 0x882F 550#define GL_DRAW_BUFFER11_NV 0x8830 551#define GL_DRAW_BUFFER12_NV 0x8831 552#define GL_DRAW_BUFFER13_NV 0x8832 553#define GL_DRAW_BUFFER14_NV 0x8833 554#define GL_DRAW_BUFFER15_NV 0x8834 555#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 556#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 557#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 558#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 559#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 560#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 561#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 562#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 563#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 564#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 565#define GL_COLOR_ATTACHMENT10_NV 0x8CEA 566#define GL_COLOR_ATTACHMENT11_NV 0x8CEB 567#define GL_COLOR_ATTACHMENT12_NV 0x8CEC 568#define GL_COLOR_ATTACHMENT13_NV 0x8CED 569#define GL_COLOR_ATTACHMENT14_NV 0x8CEE 570#define GL_COLOR_ATTACHMENT15_NV 0x8CEF 571#endif 572 573/* GL_NV_fbo_color_attachments */ 574#ifndef GL_NV_fbo_color_attachments 575#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 576/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 577#endif 578 579/* GL_NV_fence */ 580#ifndef GL_NV_fence 581#define GL_ALL_COMPLETED_NV 0x84F2 582#define GL_FENCE_STATUS_NV 0x84F3 583#define GL_FENCE_CONDITION_NV 0x84F4 584#endif 585 586/* GL_NV_read_buffer */ 587#ifndef GL_NV_read_buffer 588#define GL_READ_BUFFER_NV 0x0C02 589#endif 590 591/* GL_NV_read_buffer_front */ 592/* No new tokens introduced by this extension. */ 593 594/* GL_NV_read_depth */ 595/* No new tokens introduced by this extension. */ 596 597/* GL_NV_read_depth_stencil */ 598/* No new tokens introduced by this extension. */ 599 600/* GL_NV_read_stencil */ 601/* No new tokens introduced by this extension. */ 602 603/* GL_NV_texture_compression_s3tc_update */ 604/* No new tokens introduced by this extension. */ 605 606/* GL_NV_texture_npot_2D_mipmap */ 607/* No new tokens introduced by this extension. */ 608 609/*------------------------------------------------------------------------* 610 * QCOM extension tokens 611 *------------------------------------------------------------------------*/ 612 613/* GL_QCOM_alpha_test */ 614#ifndef GL_QCOM_alpha_test 615#define GL_ALPHA_TEST_QCOM 0x0BC0 616#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 617#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 618#endif 619 620/* GL_QCOM_driver_control */ 621/* No new tokens introduced by this extension. */ 622 623/* GL_QCOM_extended_get */ 624#ifndef GL_QCOM_extended_get 625#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 626#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 627#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 628#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 629#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 630#define GL_TEXTURE_TYPE_QCOM 0x8BD7 631#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 632#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 633#define GL_TEXTURE_TARGET_QCOM 0x8BDA 634#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 635#define GL_STATE_RESTORE 0x8BDC 636#endif 637 638/* GL_QCOM_extended_get2 */ 639/* No new tokens introduced by this extension. */ 640 641/* GL_QCOM_perfmon_global_mode */ 642#ifndef GL_QCOM_perfmon_global_mode 643#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 644#endif 645 646/* GL_QCOM_writeonly_rendering */ 647#ifndef GL_QCOM_writeonly_rendering 648#define GL_WRITEONLY_RENDERING_QCOM 0x8823 649#endif 650 651/* GL_QCOM_tiled_rendering */ 652#ifndef GL_QCOM_tiled_rendering 653#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 654#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 655#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 656#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 657#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 658#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 659#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 660#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 661#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 662#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 663#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 664#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 665#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 666#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 667#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 668#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 669#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 670#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 671#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 672#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 673#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 674#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 675#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 676#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 677#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 678#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 679#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 680#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 681#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 682#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 683#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 684#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 685#endif 686 687/*------------------------------------------------------------------------* 688 * VIV extension tokens 689 *------------------------------------------------------------------------*/ 690 691/* GL_VIV_shader_binary */ 692#ifndef GL_VIV_shader_binary 693#define GL_SHADER_BINARY_VIV 0x8FC4 694#endif 695 696/*------------------------------------------------------------------------* 697 * End of extension tokens, start of corresponding extension functions 698 *------------------------------------------------------------------------*/ 699 700/*------------------------------------------------------------------------* 701 * OES extension functions 702 *------------------------------------------------------------------------*/ 703 704/* GL_OES_compressed_ETC1_RGB8_texture */ 705#ifndef GL_OES_compressed_ETC1_RGB8_texture 706#define GL_OES_compressed_ETC1_RGB8_texture 1 707#endif 708 709/* GL_OES_compressed_paletted_texture */ 710#ifndef GL_OES_compressed_paletted_texture 711#define GL_OES_compressed_paletted_texture 1 712#endif 713 714/* GL_OES_depth24 */ 715#ifndef GL_OES_depth24 716#define GL_OES_depth24 1 717#endif 718 719/* GL_OES_depth32 */ 720#ifndef GL_OES_depth32 721#define GL_OES_depth32 1 722#endif 723 724/* GL_OES_depth_texture */ 725#ifndef GL_OES_depth_texture 726#define GL_OES_depth_texture 1 727#endif 728 729/* GL_OES_EGL_image */ 730#ifndef GL_OES_EGL_image 731#define GL_OES_EGL_image 1 732#ifdef GL_GLEXT_PROTOTYPES 733GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 734GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 735#endif 736typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 737typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 738#endif 739 740/* GL_OES_EGL_image_external */ 741#ifndef GL_OES_EGL_image_external 742#define GL_OES_EGL_image_external 1 743/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 744#endif 745 746/* GL_OES_element_index_uint */ 747#ifndef GL_OES_element_index_uint 748#define GL_OES_element_index_uint 1 749#endif 750 751/* GL_OES_fbo_render_mipmap */ 752#ifndef GL_OES_fbo_render_mipmap 753#define GL_OES_fbo_render_mipmap 1 754#endif 755 756/* GL_OES_fragment_precision_high */ 757#ifndef GL_OES_fragment_precision_high 758#define GL_OES_fragment_precision_high 1 759#endif 760 761/* GL_OES_get_program_binary */ 762#ifndef GL_OES_get_program_binary 763#define GL_OES_get_program_binary 1 764#ifdef GL_GLEXT_PROTOTYPES 765GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 766GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 767#endif 768typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 769typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 770#endif 771 772/* GL_OES_mapbuffer */ 773#ifndef GL_OES_mapbuffer 774#define GL_OES_mapbuffer 1 775#ifdef GL_GLEXT_PROTOTYPES 776GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 777GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 778GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 779#endif 780typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 781typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 782typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 783#endif 784 785/* GL_OES_packed_depth_stencil */ 786#ifndef GL_OES_packed_depth_stencil 787#define GL_OES_packed_depth_stencil 1 788#endif 789 790/* GL_OES_required_internalformat */ 791#ifndef GL_OES_required_internalformat 792#define GL_OES_required_internalformat 1 793#endif 794 795/* GL_OES_rgb8_rgba8 */ 796#ifndef GL_OES_rgb8_rgba8 797#define GL_OES_rgb8_rgba8 1 798#endif 799 800/* GL_OES_standard_derivatives */ 801#ifndef GL_OES_standard_derivatives 802#define GL_OES_standard_derivatives 1 803#endif 804 805/* GL_OES_stencil1 */ 806#ifndef GL_OES_stencil1 807#define GL_OES_stencil1 1 808#endif 809 810/* GL_OES_stencil4 */ 811#ifndef GL_OES_stencil4 812#define GL_OES_stencil4 1 813#endif 814 815/* GL_OES_texture_3D */ 816#ifndef GL_OES_texture_3D 817#define GL_OES_texture_3D 1 818#ifdef GL_GLEXT_PROTOTYPES 819GL_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); 820GL_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); 821GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 822GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 823GL_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); 824GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 825#endif 826typedef 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); 827typedef 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); 828typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 829typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 830typedef 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); 831typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 832#endif 833 834/* GL_OES_texture_float */ 835#ifndef GL_OES_texture_float 836#define GL_OES_texture_float 1 837#endif 838 839/* GL_OES_texture_float_linear */ 840#ifndef GL_OES_texture_float_linear 841#define GL_OES_texture_float_linear 1 842#endif 843 844/* GL_OES_texture_half_float */ 845#ifndef GL_OES_texture_half_float 846#define GL_OES_texture_half_float 1 847#endif 848 849/* GL_OES_texture_half_float_linear */ 850#ifndef GL_OES_texture_half_float_linear 851#define GL_OES_texture_half_float_linear 1 852#endif 853 854/* GL_OES_texture_npot */ 855#ifndef GL_OES_texture_npot 856#define GL_OES_texture_npot 1 857#endif 858 859/* GL_OES_vertex_array_object */ 860#ifndef GL_OES_vertex_array_object 861#define GL_OES_vertex_array_object 1 862#ifdef GL_GLEXT_PROTOTYPES 863GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 864GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 865GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 866GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 867#endif 868typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 869typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 870typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 871typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 872#endif 873 874/* GL_OES_vertex_half_float */ 875#ifndef GL_OES_vertex_half_float 876#define GL_OES_vertex_half_float 1 877#endif 878 879/* GL_OES_vertex_type_10_10_10_2 */ 880#ifndef GL_OES_vertex_type_10_10_10_2 881#define GL_OES_vertex_type_10_10_10_2 1 882#endif 883 884/*------------------------------------------------------------------------* 885 * AMD extension functions 886 *------------------------------------------------------------------------*/ 887 888/* GL_AMD_compressed_3DC_texture */ 889#ifndef GL_AMD_compressed_3DC_texture 890#define GL_AMD_compressed_3DC_texture 1 891#endif 892 893/* GL_AMD_compressed_ATC_texture */ 894#ifndef GL_AMD_compressed_ATC_texture 895#define GL_AMD_compressed_ATC_texture 1 896#endif 897 898/* AMD_performance_monitor */ 899#ifndef GL_AMD_performance_monitor 900#define GL_AMD_performance_monitor 1 901#ifdef GL_GLEXT_PROTOTYPES 902GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 903GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 904GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 905GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 906GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 907GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 908GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 909GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 910GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 911GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 912GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 913#endif 914typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 915typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 916typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 917typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 918typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 919typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 920typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 921typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 922typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 923typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 924typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 925#endif 926 927/* GL_AMD_program_binary_Z400 */ 928#ifndef GL_AMD_program_binary_Z400 929#define GL_AMD_program_binary_Z400 1 930#endif 931 932/*------------------------------------------------------------------------* 933 * ANGLE extension functions 934 *------------------------------------------------------------------------*/ 935 936/* GL_ANGLE_framebuffer_blit */ 937#ifndef GL_ANGLE_framebuffer_blit 938#define GL_ANGLE_framebuffer_blit 1 939#ifdef GL_GLEXT_PROTOTYPES 940GL_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); 941#endif 942typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 943#endif 944 945/* GL_ANGLE_framebuffer_multisample */ 946#ifndef GL_ANGLE_framebuffer_multisample 947#define GL_ANGLE_framebuffer_multisample 1 948#ifdef GL_GLEXT_PROTOTYPES 949GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 950#endif 951typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 952#endif 953 954#ifndef GL_ANGLE_instanced_arrays 955#ifdef GL_GLEXT_PROTOTYPES 956GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 957GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 958GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 959#endif 960typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 961typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 962typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 963#endif 964 965/* GL_ANGLE_pack_reverse_row_order */ 966#ifndef GL_ANGLE_pack_reverse_row_order 967#define GL_ANGLE_pack_reverse_row_order 1 968#endif 969 970/* GL_ANGLE_texture_compression_dxt3 */ 971#ifndef GL_ANGLE_texture_compression_dxt3 972#define GL_ANGLE_texture_compression_dxt3 1 973#endif 974 975/* GL_ANGLE_texture_compression_dxt5 */ 976#ifndef GL_ANGLE_texture_compression_dxt5 977#define GL_ANGLE_texture_compression_dxt5 1 978#endif 979 980/* GL_ANGLE_texture_usage */ 981#ifndef GL_ANGLE_texture_usage 982#define GL_ANGLE_texture_usage 1 983#endif 984 985#ifndef GL_ANGLE_translated_shader_source 986#define GL_ANGLE_translated_shader_source 1 987#ifdef GL_GLEXT_PROTOTYPES 988GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 989#endif 990typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 991#endif 992 993/*------------------------------------------------------------------------* 994 * APPLE extension functions 995 *------------------------------------------------------------------------*/ 996 997/* GL_APPLE_rgb_422 */ 998#ifndef GL_APPLE_rgb_422 999#define GL_APPLE_rgb_422 1 1000#endif 1001 1002/* GL_APPLE_framebuffer_multisample */ 1003#ifndef GL_APPLE_framebuffer_multisample 1004#define GL_APPLE_framebuffer_multisample 1 1005#ifdef GL_GLEXT_PROTOTYPES 1006GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1007GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 1008#endif /* GL_GLEXT_PROTOTYPES */ 1009typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1010typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 1011#endif 1012 1013/* GL_APPLE_texture_format_BGRA8888 */ 1014#ifndef GL_APPLE_texture_format_BGRA8888 1015#define GL_APPLE_texture_format_BGRA8888 1 1016#endif 1017 1018/* GL_APPLE_texture_max_level */ 1019#ifndef GL_APPLE_texture_max_level 1020#define GL_APPLE_texture_max_level 1 1021#endif 1022 1023/*------------------------------------------------------------------------* 1024 * ARM extension functions 1025 *------------------------------------------------------------------------*/ 1026 1027/* GL_ARM_mali_shader_binary */ 1028#ifndef GL_ARM_mali_shader_binary 1029#define GL_ARM_mali_shader_binary 1 1030#endif 1031 1032/* GL_ARM_rgba8 */ 1033#ifndef GL_ARM_rgba8 1034#define GL_ARM_rgba8 1 1035#endif 1036 1037/*------------------------------------------------------------------------* 1038 * EXT extension functions 1039 *------------------------------------------------------------------------*/ 1040 1041/* GL_EXT_blend_minmax */ 1042#ifndef GL_EXT_blend_minmax 1043#define GL_EXT_blend_minmax 1 1044#endif 1045 1046/* GL_EXT_color_buffer_half_float */ 1047#ifndef GL_EXT_color_buffer_half_float 1048#define GL_EXT_color_buffer_half_float 1 1049#endif 1050 1051/* GL_EXT_debug_label */ 1052#ifndef GL_EXT_debug_label 1053#define GL_EXT_debug_label 1 1054#ifdef GL_GLEXT_PROTOTYPES 1055GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1056GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1057#endif 1058typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1059typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1060#endif 1061 1062/* GL_EXT_debug_marker */ 1063#ifndef GL_EXT_debug_marker 1064#define GL_EXT_debug_marker 1 1065#ifdef GL_GLEXT_PROTOTYPES 1066GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1067GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1068GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1069#endif 1070typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1071typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1072typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1073#endif 1074 1075/* GL_EXT_discard_framebuffer */ 1076#ifndef GL_EXT_discard_framebuffer 1077#define GL_EXT_discard_framebuffer 1 1078#ifdef GL_GLEXT_PROTOTYPES 1079GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 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 1088GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1089GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1090#endif 1091typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1092typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1093#endif 1094 1095#ifndef GL_EXT_multi_draw_arrays 1096#define GL_EXT_multi_draw_arrays 1 1097#ifdef GL_GLEXT_PROTOTYPES 1098GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 1099GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1100#endif /* GL_GLEXT_PROTOTYPES */ 1101typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1102typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1103#endif 1104 1105/* GL_EXT_occlusion_query_boolean */ 1106#ifndef GL_EXT_occlusion_query_boolean 1107#define GL_EXT_occlusion_query_boolean 1 1108#ifdef GL_GLEXT_PROTOTYPES 1109GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1110GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1111GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1112GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1113GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1114GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1115GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1116#endif 1117typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1118typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1119typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1120typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1121typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1122typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1123typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1124#endif 1125 1126/* GL_EXT_read_format_bgra */ 1127#ifndef GL_EXT_read_format_bgra 1128#define GL_EXT_read_format_bgra 1 1129#endif 1130 1131/* GL_EXT_robustness */ 1132#ifndef GL_EXT_robustness 1133#define GL_EXT_robustness 1 1134#ifdef GL_GLEXT_PROTOTYPES 1135GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1136GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1137GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1138GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1139#endif 1140typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1141typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1142typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1143typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1144#endif 1145 1146/* GL_EXT_separate_shader_objects */ 1147#ifndef GL_EXT_separate_shader_objects 1148#define GL_EXT_separate_shader_objects 1 1149#ifdef GL_GLEXT_PROTOTYPES 1150GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1151GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1152GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1153GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1154GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1155GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1156GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1157GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1158GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1159GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1160GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1161GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1162GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1163GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1164GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1165GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1166GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1167GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1168GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1169GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1170GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1171GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1172GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1173GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1174GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1175GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1176GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1177GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1178GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1179GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1180#endif 1181typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1182typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1183typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1184typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1185typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1186typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1187typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1188typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1189typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1190typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1191typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1192typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1193typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1194typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1195typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1196typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1197typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1198typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1199typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1200typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1201typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1202typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1203typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1204typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1205typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1206typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1207typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1208typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1209typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1210typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1211#endif 1212 1213/* GL_EXT_shader_texture_lod */ 1214#ifndef GL_EXT_shader_texture_lod 1215#define GL_EXT_shader_texture_lod 1 1216#endif 1217 1218/* GL_EXT_shadow_samplers */ 1219#ifndef GL_EXT_shadow_samplers 1220#define GL_EXT_shadow_samplers 1 1221#endif 1222 1223/* GL_EXT_sRGB */ 1224#ifndef GL_EXT_sRGB 1225#define GL_EXT_sRGB 1 1226#endif 1227 1228/* GL_EXT_texture_compression_dxt1 */ 1229#ifndef GL_EXT_texture_compression_dxt1 1230#define GL_EXT_texture_compression_dxt1 1 1231#endif 1232 1233/* GL_EXT_texture_filter_anisotropic */ 1234#ifndef GL_EXT_texture_filter_anisotropic 1235#define GL_EXT_texture_filter_anisotropic 1 1236#endif 1237 1238/* GL_EXT_texture_format_BGRA8888 */ 1239#ifndef GL_EXT_texture_format_BGRA8888 1240#define GL_EXT_texture_format_BGRA8888 1 1241#endif 1242 1243/* GL_EXT_texture_rg */ 1244#ifndef GL_EXT_texture_rg 1245#define GL_EXT_texture_rg 1 1246#endif 1247 1248/* GL_EXT_texture_storage */ 1249#ifndef GL_EXT_texture_storage 1250#define GL_EXT_texture_storage 1 1251#ifdef GL_GLEXT_PROTOTYPES 1252GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1253GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1254GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1255GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1256GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1257GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1258#endif 1259typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1260typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1261typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1262typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1263typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1264typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1265#endif 1266 1267/* GL_EXT_texture_type_2_10_10_10_REV */ 1268#ifndef GL_EXT_texture_type_2_10_10_10_REV 1269#define GL_EXT_texture_type_2_10_10_10_REV 1 1270#endif 1271 1272/* GL_EXT_unpack_subimage */ 1273#ifndef GL_EXT_unpack_subimage 1274#define GL_EXT_unpack_subimage 1 1275#endif 1276 1277/*------------------------------------------------------------------------* 1278 * DMP extension functions 1279 *------------------------------------------------------------------------*/ 1280 1281/* GL_DMP_shader_binary */ 1282#ifndef GL_DMP_shader_binary 1283#define GL_DMP_shader_binary 1 1284#endif 1285 1286/*------------------------------------------------------------------------* 1287 * FJ extension functions 1288 *------------------------------------------------------------------------*/ 1289 1290/* GL_FJ_shader_binary_GCCSO */ 1291#ifndef GL_FJ_shader_binary_GCCSO 1292#define GL_FJ_shader_binary_GCCSO 1 1293#endif 1294 1295/*------------------------------------------------------------------------* 1296 * IMG extension functions 1297 *------------------------------------------------------------------------*/ 1298 1299/* GL_IMG_program_binary */ 1300#ifndef GL_IMG_program_binary 1301#define GL_IMG_program_binary 1 1302#endif 1303 1304/* GL_IMG_read_format */ 1305#ifndef GL_IMG_read_format 1306#define GL_IMG_read_format 1 1307#endif 1308 1309/* GL_IMG_shader_binary */ 1310#ifndef GL_IMG_shader_binary 1311#define GL_IMG_shader_binary 1 1312#endif 1313 1314/* GL_IMG_texture_compression_pvrtc */ 1315#ifndef GL_IMG_texture_compression_pvrtc 1316#define GL_IMG_texture_compression_pvrtc 1 1317#endif 1318 1319/* GL_IMG_multisampled_render_to_texture */ 1320#ifndef GL_IMG_multisampled_render_to_texture 1321#define GL_IMG_multisampled_render_to_texture 1 1322#ifdef GL_GLEXT_PROTOTYPES 1323GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1324GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1325#endif 1326typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1327typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1328#endif 1329 1330/*------------------------------------------------------------------------* 1331 * NV extension functions 1332 *------------------------------------------------------------------------*/ 1333 1334/* GL_NV_coverage_sample */ 1335#ifndef GL_NV_coverage_sample 1336#define GL_NV_coverage_sample 1 1337#ifdef GL_GLEXT_PROTOTYPES 1338GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1339GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1340#endif 1341typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1342typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1343#endif 1344 1345/* GL_NV_depth_nonlinear */ 1346#ifndef GL_NV_depth_nonlinear 1347#define GL_NV_depth_nonlinear 1 1348#endif 1349 1350/* GL_NV_draw_buffers */ 1351#ifndef GL_NV_draw_buffers 1352#define GL_NV_draw_buffers 1 1353#ifdef GL_GLEXT_PROTOTYPES 1354GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1355#endif 1356typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1357#endif 1358 1359/* GL_NV_fbo_color_attachments */ 1360#ifndef GL_NV_fbo_color_attachments 1361#define GL_NV_fbo_color_attachments 1 1362#endif 1363 1364/* GL_NV_fence */ 1365#ifndef GL_NV_fence 1366#define GL_NV_fence 1 1367#ifdef GL_GLEXT_PROTOTYPES 1368GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1369GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1370GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1371GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1372GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1373GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1374GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1375#endif 1376typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1377typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1378typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1379typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1380typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1381typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1382typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1383#endif 1384 1385/* GL_NV_read_buffer */ 1386#ifndef GL_NV_read_buffer 1387#define GL_NV_read_buffer 1 1388#ifdef GL_GLEXT_PROTOTYPES 1389GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1390#endif 1391typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1392#endif 1393 1394/* GL_NV_read_buffer_front */ 1395#ifndef GL_NV_read_buffer_front 1396#define GL_NV_read_buffer_front 1 1397#endif 1398 1399/* GL_NV_read_depth */ 1400#ifndef GL_NV_read_depth 1401#define GL_NV_read_depth 1 1402#endif 1403 1404/* GL_NV_read_depth_stencil */ 1405#ifndef GL_NV_read_depth_stencil 1406#define GL_NV_read_depth_stencil 1 1407#endif 1408 1409/* GL_NV_read_stencil */ 1410#ifndef GL_NV_read_stencil 1411#define GL_NV_read_stencil 1 1412#endif 1413 1414/* GL_NV_texture_compression_s3tc_update */ 1415#ifndef GL_NV_texture_compression_s3tc_update 1416#define GL_NV_texture_compression_s3tc_update 1 1417#endif 1418 1419/* GL_NV_texture_npot_2D_mipmap */ 1420#ifndef GL_NV_texture_npot_2D_mipmap 1421#define GL_NV_texture_npot_2D_mipmap 1 1422#endif 1423 1424/*------------------------------------------------------------------------* 1425 * QCOM extension functions 1426 *------------------------------------------------------------------------*/ 1427 1428/* GL_QCOM_alpha_test */ 1429#ifndef GL_QCOM_alpha_test 1430#define GL_QCOM_alpha_test 1 1431#ifdef GL_GLEXT_PROTOTYPES 1432GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1433#endif 1434typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1435#endif 1436 1437/* GL_QCOM_driver_control */ 1438#ifndef GL_QCOM_driver_control 1439#define GL_QCOM_driver_control 1 1440#ifdef GL_GLEXT_PROTOTYPES 1441GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1442GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1443GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1444GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1445#endif 1446typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1447typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1448typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1449typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1450#endif 1451 1452/* GL_QCOM_extended_get */ 1453#ifndef GL_QCOM_extended_get 1454#define GL_QCOM_extended_get 1 1455#ifdef GL_GLEXT_PROTOTYPES 1456GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1457GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1458GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1459GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1460GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1461GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1462GL_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); 1463GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1464#endif 1465typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1466typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1467typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1468typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1469typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1470typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1471typedef 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); 1472typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1473#endif 1474 1475/* GL_QCOM_extended_get2 */ 1476#ifndef GL_QCOM_extended_get2 1477#define GL_QCOM_extended_get2 1 1478#ifdef GL_GLEXT_PROTOTYPES 1479GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1480GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1481GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1482GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1483#endif 1484typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1485typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1486typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1487typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1488#endif 1489 1490/* GL_QCOM_perfmon_global_mode */ 1491#ifndef GL_QCOM_perfmon_global_mode 1492#define GL_QCOM_perfmon_global_mode 1 1493#endif 1494 1495/* GL_QCOM_writeonly_rendering */ 1496#ifndef GL_QCOM_writeonly_rendering 1497#define GL_QCOM_writeonly_rendering 1 1498#endif 1499 1500/* GL_QCOM_tiled_rendering */ 1501#ifndef GL_QCOM_tiled_rendering 1502#define GL_QCOM_tiled_rendering 1 1503#ifdef GL_GLEXT_PROTOTYPES 1504GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1505GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1506#endif 1507typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1508typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1509#endif 1510 1511/*------------------------------------------------------------------------* 1512 * VIV extension tokens 1513 *------------------------------------------------------------------------*/ 1514 1515/* GL_VIV_shader_binary */ 1516#ifndef GL_VIV_shader_binary 1517#define GL_VIV_shader_binary 1 1518#endif 1519 1520#ifdef __cplusplus 1521} 1522#endif 1523 1524#endif /* __gl2ext_h_ */ 1525