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