1#ifndef __gl2ext_h_ 2#define __gl2ext_h_ 3 4/* $Revision: 19436 $ on $Date:: 2012-10-10 10:37:04 -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#ifndef GL_OES_required_internalformat 98#define GL_ALPHA8_OES 0x803C 99#define GL_DEPTH_COMPONENT16_OES 0x81A5 100/* reuse GL_DEPTH_COMPONENT24_OES */ 101/* reuse GL_DEPTH24_STENCIL8_OES */ 102/* reuse GL_DEPTH_COMPONENT32_OES */ 103#define GL_LUMINANCE4_ALPHA4_OES 0x8043 104#define GL_LUMINANCE8_ALPHA8_OES 0x8045 105#define GL_LUMINANCE8_OES 0x8040 106#define GL_RGBA4_OES 0x8056 107#define GL_RGB5_A1_OES 0x8057 108#define GL_RGB565_OES 0x8D62 109/* reuse GL_RGB8_OES */ 110/* reuse GL_RGBA8_OES */ 111/* reuse GL_RGB10_EXT */ 112/* reuse GL_RGB10_A2_EXT */ 113#endif 114 115/* GL_OES_rgb8_rgba8 */ 116#ifndef GL_OES_rgb8_rgba8 117#define GL_RGB8_OES 0x8051 118#define GL_RGBA8_OES 0x8058 119#endif 120 121/* GL_OES_standard_derivatives */ 122#ifndef GL_OES_standard_derivatives 123#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B 124#endif 125 126/* GL_OES_stencil1 */ 127#ifndef GL_OES_stencil1 128#define GL_STENCIL_INDEX1_OES 0x8D46 129#endif 130 131/* GL_OES_stencil4 */ 132#ifndef GL_OES_stencil4 133#define GL_STENCIL_INDEX4_OES 0x8D47 134#endif 135 136#ifndef GL_OES_surfaceless_context 137#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 138#endif 139 140/* GL_OES_texture_3D */ 141#ifndef GL_OES_texture_3D 142#define GL_TEXTURE_WRAP_R_OES 0x8072 143#define GL_TEXTURE_3D_OES 0x806F 144#define GL_TEXTURE_BINDING_3D_OES 0x806A 145#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 146#define GL_SAMPLER_3D_OES 0x8B5F 147#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 148#endif 149 150/* GL_OES_texture_float */ 151/* No new tokens introduced by this extension. */ 152 153/* GL_OES_texture_float_linear */ 154/* No new tokens introduced by this extension. */ 155 156/* GL_OES_texture_half_float */ 157#ifndef GL_OES_texture_half_float 158#define GL_HALF_FLOAT_OES 0x8D61 159#endif 160 161/* GL_OES_texture_half_float_linear */ 162/* No new tokens introduced by this extension. */ 163 164/* GL_OES_texture_npot */ 165/* No new tokens introduced by this extension. */ 166 167/* GL_OES_vertex_array_object */ 168#ifndef GL_OES_vertex_array_object 169#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 170#endif 171 172/* GL_OES_vertex_half_float */ 173/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ 174 175/* GL_OES_vertex_type_10_10_10_2 */ 176#ifndef GL_OES_vertex_type_10_10_10_2 177#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 178#define GL_INT_10_10_10_2_OES 0x8DF7 179#endif 180 181/*------------------------------------------------------------------------* 182 * KHR extension tokens 183 *------------------------------------------------------------------------*/ 184 185#ifndef GL_KHR_debug 186typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); 187#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 188#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 189#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 190#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 191#define GL_DEBUG_SOURCE_API 0x8246 192#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 193#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 194#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 195#define GL_DEBUG_SOURCE_APPLICATION 0x824A 196#define GL_DEBUG_SOURCE_OTHER 0x824B 197#define GL_DEBUG_TYPE_ERROR 0x824C 198#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D 199#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E 200#define GL_DEBUG_TYPE_PORTABILITY 0x824F 201#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 202#define GL_DEBUG_TYPE_OTHER 0x8251 203#define GL_DEBUG_TYPE_MARKER 0x8268 204#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 205#define GL_DEBUG_TYPE_POP_GROUP 0x826A 206#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B 207#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C 208#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D 209#define GL_BUFFER 0x82E0 210#define GL_SHADER 0x82E1 211#define GL_PROGRAM 0x82E2 212#define GL_QUERY 0x82E3 213/* PROGRAM_PIPELINE only in GL */ 214#define GL_SAMPLER 0x82E6 215/* DISPLAY_LIST only in GL */ 216#define GL_MAX_LABEL_LENGTH 0x82E8 217#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 218#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 219#define GL_DEBUG_LOGGED_MESSAGES 0x9145 220#define GL_DEBUG_SEVERITY_HIGH 0x9146 221#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 222#define GL_DEBUG_SEVERITY_LOW 0x9148 223#define GL_DEBUG_OUTPUT 0x92E0 224#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 225#define GL_STACK_OVERFLOW 0x0503 226#define GL_STACK_UNDERFLOW 0x0504 227#endif 228 229#ifndef GL_KHR_texture_compression_astc_ldr 230#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 231#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 232#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 233#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 234#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 235#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 236#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 237#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 238#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 239#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 240#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA 241#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB 242#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC 243#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD 244#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 245#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 246#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 247#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 248#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 249#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 250#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 251#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 252#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 253#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 254#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA 255#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB 256#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC 257#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD 258#endif 259 260/*------------------------------------------------------------------------* 261 * AMD extension tokens 262 *------------------------------------------------------------------------*/ 263 264/* GL_AMD_compressed_3DC_texture */ 265#ifndef GL_AMD_compressed_3DC_texture 266#define GL_3DC_X_AMD 0x87F9 267#define GL_3DC_XY_AMD 0x87FA 268#endif 269 270/* GL_AMD_compressed_ATC_texture */ 271#ifndef GL_AMD_compressed_ATC_texture 272#define GL_ATC_RGB_AMD 0x8C92 273#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 274#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE 275#endif 276 277/* GL_AMD_performance_monitor */ 278#ifndef GL_AMD_performance_monitor 279#define GL_COUNTER_TYPE_AMD 0x8BC0 280#define GL_COUNTER_RANGE_AMD 0x8BC1 281#define GL_UNSIGNED_INT64_AMD 0x8BC2 282#define GL_PERCENTAGE_AMD 0x8BC3 283#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 284#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 285#define GL_PERFMON_RESULT_AMD 0x8BC6 286#endif 287 288/* GL_AMD_program_binary_Z400 */ 289#ifndef GL_AMD_program_binary_Z400 290#define GL_Z400_BINARY_AMD 0x8740 291#endif 292 293/*------------------------------------------------------------------------* 294 * ANGLE extension tokens 295 *------------------------------------------------------------------------*/ 296 297/* GL_ANGLE_framebuffer_blit */ 298#ifndef GL_ANGLE_framebuffer_blit 299#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 300#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 301#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 302#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 303#endif 304 305/* GL_ANGLE_framebuffer_multisample */ 306#ifndef GL_ANGLE_framebuffer_multisample 307#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 308#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 309#define GL_MAX_SAMPLES_ANGLE 0x8D57 310#endif 311 312/* GL_ANGLE_instanced_arrays */ 313#ifndef GL_ANGLE_instanced_arrays 314#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 315#endif 316 317/* GL_ANGLE_pack_reverse_row_order */ 318#ifndef GL_ANGLE_pack_reverse_row_order 319#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 320#endif 321 322/* GL_ANGLE_texture_compression_dxt3 */ 323#ifndef GL_ANGLE_texture_compression_dxt3 324#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 325#endif 326 327/* GL_ANGLE_texture_compression_dxt5 */ 328#ifndef GL_ANGLE_texture_compression_dxt5 329#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 330#endif 331 332/* GL_ANGLE_texture_usage */ 333#ifndef GL_ANGLE_texture_usage 334#define GL_TEXTURE_USAGE_ANGLE 0x93A2 335#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 336#endif 337 338/* GL_ANGLE_translated_shader_source */ 339#ifndef GL_ANGLE_translated_shader_source 340#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 341#endif 342 343/*------------------------------------------------------------------------* 344 * APPLE extension tokens 345 *------------------------------------------------------------------------*/ 346 347/* GL_APPLE_copy_texture_levels */ 348/* No new tokens introduced by this extension. */ 349 350/* GL_APPLE_framebuffer_multisample */ 351#ifndef GL_APPLE_framebuffer_multisample 352#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 353#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 354#define GL_MAX_SAMPLES_APPLE 0x8D57 355#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 356#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 357#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 358#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 359#endif 360 361/* GL_APPLE_rgb_422 */ 362#ifndef GL_APPLE_rgb_422 363#define GL_RGB_422_APPLE 0x8A1F 364#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 365#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 366#endif 367 368/* GL_APPLE_sync */ 369#ifndef GL_APPLE_sync 370 371#ifndef __gl3_h_ 372/* These types are defined with reference to <inttypes.h> 373 * in the Apple extension spec, but here we use the Khronos 374 * portable types in khrplatform.h, and assume those types 375 * are always defined. 376 * If any other extensions using these types are defined, 377 * the typedefs must move out of this block and be shared. 378 */ 379typedef khronos_int64_t GLint64; 380typedef khronos_uint64_t GLuint64; 381typedef struct __GLsync *GLsync; 382#endif 383 384#define GL_SYNC_OBJECT_APPLE 0x8A53 385#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 386#define GL_OBJECT_TYPE_APPLE 0x9112 387#define GL_SYNC_CONDITION_APPLE 0x9113 388#define GL_SYNC_STATUS_APPLE 0x9114 389#define GL_SYNC_FLAGS_APPLE 0x9115 390#define GL_SYNC_FENCE_APPLE 0x9116 391#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 392#define GL_UNSIGNALED_APPLE 0x9118 393#define GL_SIGNALED_APPLE 0x9119 394#define GL_ALREADY_SIGNALED_APPLE 0x911A 395#define GL_TIMEOUT_EXPIRED_APPLE 0x911B 396#define GL_CONDITION_SATISFIED_APPLE 0x911C 397#define GL_WAIT_FAILED_APPLE 0x911D 398#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 399#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull 400#endif 401 402/* GL_APPLE_texture_format_BGRA8888 */ 403#ifndef GL_APPLE_texture_format_BGRA8888 404#define GL_BGRA_EXT 0x80E1 405#endif 406 407/* GL_APPLE_texture_max_level */ 408#ifndef GL_APPLE_texture_max_level 409#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 410#endif 411 412/*------------------------------------------------------------------------* 413 * ARM extension tokens 414 *------------------------------------------------------------------------*/ 415 416/* GL_ARM_mali_program_binary */ 417#ifndef GL_ARM_mali_program_binary 418#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 419#endif 420 421/* GL_ARM_mali_shader_binary */ 422#ifndef GL_ARM_mali_shader_binary 423#define GL_MALI_SHADER_BINARY_ARM 0x8F60 424#endif 425 426/* GL_ARM_rgba8 */ 427/* No new tokens introduced by this extension. */ 428 429/*------------------------------------------------------------------------* 430 * EXT extension tokens 431 *------------------------------------------------------------------------*/ 432 433/* GL_EXT_blend_minmax */ 434#ifndef GL_EXT_blend_minmax 435#define GL_MIN_EXT 0x8007 436#define GL_MAX_EXT 0x8008 437#endif 438 439/* GL_EXT_color_buffer_half_float */ 440#ifndef GL_EXT_color_buffer_half_float 441#define GL_RGBA16F_EXT 0x881A 442#define GL_RGB16F_EXT 0x881B 443#define GL_RG16F_EXT 0x822F 444#define GL_R16F_EXT 0x822D 445#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 446#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 447#endif 448 449/* GL_EXT_debug_label */ 450#ifndef GL_EXT_debug_label 451#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 452#define GL_PROGRAM_OBJECT_EXT 0x8B40 453#define GL_SHADER_OBJECT_EXT 0x8B48 454#define GL_BUFFER_OBJECT_EXT 0x9151 455#define GL_QUERY_OBJECT_EXT 0x9153 456#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 457#endif 458 459/* GL_EXT_debug_marker */ 460/* No new tokens introduced by this extension. */ 461 462/* GL_EXT_discard_framebuffer */ 463#ifndef GL_EXT_discard_framebuffer 464#define GL_COLOR_EXT 0x1800 465#define GL_DEPTH_EXT 0x1801 466#define GL_STENCIL_EXT 0x1802 467#endif 468 469/* GL_EXT_map_buffer_range */ 470#ifndef GL_EXT_map_buffer_range 471#define GL_MAP_READ_BIT_EXT 0x0001 472#define GL_MAP_WRITE_BIT_EXT 0x0002 473#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 474#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 475#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 476#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 477#endif 478 479/* GL_EXT_multisampled_render_to_texture */ 480#ifndef GL_EXT_multisampled_render_to_texture 481#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 482/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 483#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 484#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 485#define GL_MAX_SAMPLES_EXT 0x8D57 486#endif 487 488/* GL_EXT_multiview_draw_buffers */ 489#ifndef GL_EXT_multiview_draw_buffers 490#define GL_COLOR_ATTACHMENT_EXT 0x90F0 491#define GL_MULTIVIEW_EXT 0x90F1 492#define GL_DRAW_BUFFER_EXT 0x0C01 493#define GL_READ_BUFFER_EXT 0x0C02 494#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 495#endif 496 497/* GL_EXT_multi_draw_arrays */ 498/* No new tokens introduced by this extension. */ 499 500/* GL_EXT_occlusion_query_boolean */ 501#ifndef GL_EXT_occlusion_query_boolean 502#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 503#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 504#define GL_CURRENT_QUERY_EXT 0x8865 505#define GL_QUERY_RESULT_EXT 0x8866 506#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 507#endif 508 509/* GL_EXT_read_format_bgra */ 510#ifndef GL_EXT_read_format_bgra 511#define GL_BGRA_EXT 0x80E1 512#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 513#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 514#endif 515 516/* GL_EXT_robustness */ 517#ifndef GL_EXT_robustness 518/* reuse GL_NO_ERROR */ 519#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 520#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 521#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 522#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 523#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 524#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 525#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 526#endif 527 528/* GL_EXT_separate_shader_objects */ 529#ifndef GL_EXT_separate_shader_objects 530#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 531#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 532#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 533#define GL_PROGRAM_SEPARABLE_EXT 0x8258 534#define GL_ACTIVE_PROGRAM_EXT 0x8259 535#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 536#endif 537 538/* GL_EXT_shader_framebuffer_fetch */ 539#ifndef GL_EXT_shader_framebuffer_fetch 540#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 541#endif 542 543/* GL_EXT_shader_texture_lod */ 544/* No new tokens introduced by this extension. */ 545 546/* GL_EXT_shadow_samplers */ 547#ifndef GL_EXT_shadow_samplers 548#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 549#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 550#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 551#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 552#endif 553 554/* GL_EXT_sRGB */ 555#ifndef GL_EXT_sRGB 556#define GL_SRGB_EXT 0x8C40 557#define GL_SRGB_ALPHA_EXT 0x8C42 558#define GL_SRGB8_ALPHA8_EXT 0x8C43 559#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 560#endif 561 562/* GL_EXT_texture_compression_dxt1 */ 563#ifndef GL_EXT_texture_compression_dxt1 564#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 565#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 566#endif 567 568/* GL_EXT_texture_filter_anisotropic */ 569#ifndef GL_EXT_texture_filter_anisotropic 570#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 571#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 572#endif 573 574/* GL_EXT_texture_format_BGRA8888 */ 575#ifndef GL_EXT_texture_format_BGRA8888 576#define GL_BGRA_EXT 0x80E1 577#endif 578 579/* GL_EXT_texture_rg */ 580#ifndef GL_EXT_texture_rg 581#define GL_RED_EXT 0x1903 582#define GL_RG_EXT 0x8227 583#define GL_R8_EXT 0x8229 584#define GL_RG8_EXT 0x822B 585#endif 586 587/* GL_EXT_texture_storage */ 588#ifndef GL_EXT_texture_storage 589#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 590#define GL_ALPHA8_EXT 0x803C 591#define GL_LUMINANCE8_EXT 0x8040 592#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 593#define GL_RGBA32F_EXT 0x8814 594#define GL_RGB32F_EXT 0x8815 595#define GL_ALPHA32F_EXT 0x8816 596#define GL_LUMINANCE32F_EXT 0x8818 597#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 598/* reuse GL_RGBA16F_EXT */ 599/* reuse GL_RGB16F_EXT */ 600#define GL_ALPHA16F_EXT 0x881C 601#define GL_LUMINANCE16F_EXT 0x881E 602#define GL_LUMINANCE_ALPHA16F_EXT 0x881F 603#define GL_RGB10_A2_EXT 0x8059 604#define GL_RGB10_EXT 0x8052 605#define GL_BGRA8_EXT 0x93A1 606#define GL_R8_EXT 0x8229 607#define GL_RG8_EXT 0x822B 608#define GL_R32F_EXT 0x822E 609#define GL_RG32F_EXT 0x8230 610#define GL_R16F_EXT 0x822D 611#define GL_RG16F_EXT 0x822F 612#endif 613 614/* GL_EXT_texture_type_2_10_10_10_REV */ 615#ifndef GL_EXT_texture_type_2_10_10_10_REV 616#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 617#endif 618 619/* GL_EXT_unpack_subimage */ 620#ifndef GL_EXT_unpack_subimage 621#define GL_UNPACK_ROW_LENGTH 0x0CF2 622#define GL_UNPACK_SKIP_ROWS 0x0CF3 623#define GL_UNPACK_SKIP_PIXELS 0x0CF4 624#endif 625 626/*------------------------------------------------------------------------* 627 * DMP extension tokens 628 *------------------------------------------------------------------------*/ 629 630/* GL_DMP_shader_binary */ 631#ifndef GL_DMP_shader_binary 632#define GL_SHADER_BINARY_DMP 0x9250 633#endif 634 635/*------------------------------------------------------------------------* 636 * FJ extension tokens 637 *------------------------------------------------------------------------*/ 638 639/* GL_FJ_shader_binary_GCCSO */ 640#ifndef GL_FJ_shader_binary_GCCSO 641#define GCCSO_SHADER_BINARY_FJ 0x9260 642#endif 643 644/*------------------------------------------------------------------------* 645 * IMG extension tokens 646 *------------------------------------------------------------------------*/ 647 648/* GL_IMG_program_binary */ 649#ifndef GL_IMG_program_binary 650#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 651#endif 652 653/* GL_IMG_read_format */ 654#ifndef GL_IMG_read_format 655#define GL_BGRA_IMG 0x80E1 656#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 657#endif 658 659/* GL_IMG_shader_binary */ 660#ifndef GL_IMG_shader_binary 661#define GL_SGX_BINARY_IMG 0x8C0A 662#endif 663 664/* GL_IMG_texture_compression_pvrtc */ 665#ifndef GL_IMG_texture_compression_pvrtc 666#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 667#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 668#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 669#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 670#endif 671 672/* GL_IMG_multisampled_render_to_texture */ 673#ifndef GL_IMG_multisampled_render_to_texture 674#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 675#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 676#define GL_MAX_SAMPLES_IMG 0x9135 677#define GL_TEXTURE_SAMPLES_IMG 0x9136 678#endif 679 680/*------------------------------------------------------------------------* 681 * NV extension tokens 682 *------------------------------------------------------------------------*/ 683 684/* GL_NV_coverage_sample */ 685#ifndef GL_NV_coverage_sample 686#define GL_COVERAGE_COMPONENT_NV 0x8ED0 687#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 688#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 689#define GL_COVERAGE_BUFFERS_NV 0x8ED3 690#define GL_COVERAGE_SAMPLES_NV 0x8ED4 691#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 692#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 693#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 694#define GL_COVERAGE_BUFFER_BIT_NV 0x8000 695#endif 696 697/* GL_NV_depth_nonlinear */ 698#ifndef GL_NV_depth_nonlinear 699#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 700#endif 701 702/* GL_NV_draw_buffers */ 703#ifndef GL_NV_draw_buffers 704#define GL_MAX_DRAW_BUFFERS_NV 0x8824 705#define GL_DRAW_BUFFER0_NV 0x8825 706#define GL_DRAW_BUFFER1_NV 0x8826 707#define GL_DRAW_BUFFER2_NV 0x8827 708#define GL_DRAW_BUFFER3_NV 0x8828 709#define GL_DRAW_BUFFER4_NV 0x8829 710#define GL_DRAW_BUFFER5_NV 0x882A 711#define GL_DRAW_BUFFER6_NV 0x882B 712#define GL_DRAW_BUFFER7_NV 0x882C 713#define GL_DRAW_BUFFER8_NV 0x882D 714#define GL_DRAW_BUFFER9_NV 0x882E 715#define GL_DRAW_BUFFER10_NV 0x882F 716#define GL_DRAW_BUFFER11_NV 0x8830 717#define GL_DRAW_BUFFER12_NV 0x8831 718#define GL_DRAW_BUFFER13_NV 0x8832 719#define GL_DRAW_BUFFER14_NV 0x8833 720#define GL_DRAW_BUFFER15_NV 0x8834 721#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 722#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 723#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 724#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 725#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 726#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 727#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 728#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 729#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 730#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 731#define GL_COLOR_ATTACHMENT10_NV 0x8CEA 732#define GL_COLOR_ATTACHMENT11_NV 0x8CEB 733#define GL_COLOR_ATTACHMENT12_NV 0x8CEC 734#define GL_COLOR_ATTACHMENT13_NV 0x8CED 735#define GL_COLOR_ATTACHMENT14_NV 0x8CEE 736#define GL_COLOR_ATTACHMENT15_NV 0x8CEF 737#endif 738 739/* GL_NV_fbo_color_attachments */ 740#ifndef GL_NV_fbo_color_attachments 741#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 742/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 743#endif 744 745/* GL_NV_fence */ 746#ifndef GL_NV_fence 747#define GL_ALL_COMPLETED_NV 0x84F2 748#define GL_FENCE_STATUS_NV 0x84F3 749#define GL_FENCE_CONDITION_NV 0x84F4 750#endif 751 752/* GL_NV_read_buffer */ 753#ifndef GL_NV_read_buffer 754#define GL_READ_BUFFER_NV 0x0C02 755#endif 756 757/* GL_NV_read_buffer_front */ 758/* No new tokens introduced by this extension. */ 759 760/* GL_NV_read_depth */ 761/* No new tokens introduced by this extension. */ 762 763/* GL_NV_read_depth_stencil */ 764/* No new tokens introduced by this extension. */ 765 766/* GL_NV_read_stencil */ 767/* No new tokens introduced by this extension. */ 768 769/* GL_NV_texture_compression_s3tc_update */ 770/* No new tokens introduced by this extension. */ 771 772/* GL_NV_texture_npot_2D_mipmap */ 773/* No new tokens introduced by this extension. */ 774 775/*------------------------------------------------------------------------* 776 * QCOM extension tokens 777 *------------------------------------------------------------------------*/ 778 779/* GL_QCOM_alpha_test */ 780#ifndef GL_QCOM_alpha_test 781#define GL_ALPHA_TEST_QCOM 0x0BC0 782#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 783#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 784#endif 785 786/* GL_QCOM_binning_control */ 787#ifndef GL_QCOM_binning_control 788#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 789#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 790#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 791#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 792#endif 793 794/* GL_QCOM_driver_control */ 795/* No new tokens introduced by this extension. */ 796 797/* GL_QCOM_extended_get */ 798#ifndef GL_QCOM_extended_get 799#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 800#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 801#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 802#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 803#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 804#define GL_TEXTURE_TYPE_QCOM 0x8BD7 805#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 806#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 807#define GL_TEXTURE_TARGET_QCOM 0x8BDA 808#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 809#define GL_STATE_RESTORE 0x8BDC 810#endif 811 812/* GL_QCOM_extended_get2 */ 813/* No new tokens introduced by this extension. */ 814 815/* GL_QCOM_perfmon_global_mode */ 816#ifndef GL_QCOM_perfmon_global_mode 817#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 818#endif 819 820/* GL_QCOM_writeonly_rendering */ 821#ifndef GL_QCOM_writeonly_rendering 822#define GL_WRITEONLY_RENDERING_QCOM 0x8823 823#endif 824 825/* GL_QCOM_tiled_rendering */ 826#ifndef GL_QCOM_tiled_rendering 827#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 828#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 829#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 830#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 831#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 832#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 833#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 834#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 835#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 836#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 837#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 838#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 839#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 840#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 841#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 842#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 843#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 844#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 845#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 846#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 847#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 848#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 849#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 850#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 851#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 852#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 853#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 854#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 855#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 856#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 857#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 858#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 859#endif 860 861/*------------------------------------------------------------------------* 862 * VIV extension tokens 863 *------------------------------------------------------------------------*/ 864 865/* GL_VIV_shader_binary */ 866#ifndef GL_VIV_shader_binary 867#define GL_SHADER_BINARY_VIV 0x8FC4 868#endif 869 870/*------------------------------------------------------------------------* 871 * End of extension tokens, start of corresponding extension functions 872 *------------------------------------------------------------------------*/ 873 874/*------------------------------------------------------------------------* 875 * OES extension functions 876 *------------------------------------------------------------------------*/ 877 878/* GL_OES_compressed_ETC1_RGB8_texture */ 879#ifndef GL_OES_compressed_ETC1_RGB8_texture 880#define GL_OES_compressed_ETC1_RGB8_texture 1 881#endif 882 883/* GL_OES_compressed_paletted_texture */ 884#ifndef GL_OES_compressed_paletted_texture 885#define GL_OES_compressed_paletted_texture 1 886#endif 887 888/* GL_OES_depth24 */ 889#ifndef GL_OES_depth24 890#define GL_OES_depth24 1 891#endif 892 893/* GL_OES_depth32 */ 894#ifndef GL_OES_depth32 895#define GL_OES_depth32 1 896#endif 897 898/* GL_OES_depth_texture */ 899#ifndef GL_OES_depth_texture 900#define GL_OES_depth_texture 1 901#endif 902 903/* GL_OES_EGL_image */ 904#ifndef GL_OES_EGL_image 905#define GL_OES_EGL_image 1 906#ifdef GL_GLEXT_PROTOTYPES 907GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 908GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 909#endif 910typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 911typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 912#endif 913 914/* GL_OES_EGL_image_external */ 915#ifndef GL_OES_EGL_image_external 916#define GL_OES_EGL_image_external 1 917/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 918#endif 919 920/* GL_OES_element_index_uint */ 921#ifndef GL_OES_element_index_uint 922#define GL_OES_element_index_uint 1 923#endif 924 925/* GL_OES_fbo_render_mipmap */ 926#ifndef GL_OES_fbo_render_mipmap 927#define GL_OES_fbo_render_mipmap 1 928#endif 929 930/* GL_OES_fragment_precision_high */ 931#ifndef GL_OES_fragment_precision_high 932#define GL_OES_fragment_precision_high 1 933#endif 934 935/* GL_OES_get_program_binary */ 936#ifndef GL_OES_get_program_binary 937#define GL_OES_get_program_binary 1 938#ifdef GL_GLEXT_PROTOTYPES 939GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 940GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 941#endif 942typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 943typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 944#endif 945 946/* GL_OES_mapbuffer */ 947#ifndef GL_OES_mapbuffer 948#define GL_OES_mapbuffer 1 949#ifdef GL_GLEXT_PROTOTYPES 950GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 951GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 952GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 953#endif 954typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 955typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 956typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 957#endif 958 959/* GL_OES_packed_depth_stencil */ 960#ifndef GL_OES_packed_depth_stencil 961#define GL_OES_packed_depth_stencil 1 962#endif 963 964/* GL_OES_required_internalformat */ 965#ifndef GL_OES_required_internalformat 966#define GL_OES_required_internalformat 1 967#endif 968 969/* GL_OES_rgb8_rgba8 */ 970#ifndef GL_OES_rgb8_rgba8 971#define GL_OES_rgb8_rgba8 1 972#endif 973 974/* GL_OES_standard_derivatives */ 975#ifndef GL_OES_standard_derivatives 976#define GL_OES_standard_derivatives 1 977#endif 978 979/* GL_OES_stencil1 */ 980#ifndef GL_OES_stencil1 981#define GL_OES_stencil1 1 982#endif 983 984/* GL_OES_stencil4 */ 985#ifndef GL_OES_stencil4 986#define GL_OES_stencil4 1 987#endif 988 989#ifndef GL_OES_surfaceless_context 990#define GL_OES_surfaceless_context 1 991#endif 992 993/* GL_OES_texture_3D */ 994#ifndef GL_OES_texture_3D 995#define GL_OES_texture_3D 1 996#ifdef GL_GLEXT_PROTOTYPES 997GL_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); 998GL_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); 999GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1000GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1001GL_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); 1002GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1003#endif 1004typedef 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); 1005typedef 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); 1006typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1007typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1008typedef 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); 1009typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1010#endif 1011 1012/* GL_OES_texture_float */ 1013#ifndef GL_OES_texture_float 1014#define GL_OES_texture_float 1 1015#endif 1016 1017/* GL_OES_texture_float_linear */ 1018#ifndef GL_OES_texture_float_linear 1019#define GL_OES_texture_float_linear 1 1020#endif 1021 1022/* GL_OES_texture_half_float */ 1023#ifndef GL_OES_texture_half_float 1024#define GL_OES_texture_half_float 1 1025#endif 1026 1027/* GL_OES_texture_half_float_linear */ 1028#ifndef GL_OES_texture_half_float_linear 1029#define GL_OES_texture_half_float_linear 1 1030#endif 1031 1032/* GL_OES_texture_npot */ 1033#ifndef GL_OES_texture_npot 1034#define GL_OES_texture_npot 1 1035#endif 1036 1037/* GL_OES_vertex_array_object */ 1038#ifndef GL_OES_vertex_array_object 1039#define GL_OES_vertex_array_object 1 1040#ifdef GL_GLEXT_PROTOTYPES 1041GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 1042GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 1043GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 1044GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 1045#endif 1046typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 1047typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 1048typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 1049typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 1050#endif 1051 1052/* GL_OES_vertex_half_float */ 1053#ifndef GL_OES_vertex_half_float 1054#define GL_OES_vertex_half_float 1 1055#endif 1056 1057/* GL_OES_vertex_type_10_10_10_2 */ 1058#ifndef GL_OES_vertex_type_10_10_10_2 1059#define GL_OES_vertex_type_10_10_10_2 1 1060#endif 1061 1062/*------------------------------------------------------------------------* 1063 * KHR extension functions 1064 *------------------------------------------------------------------------*/ 1065 1066#ifndef GL_KHR_debug 1067#define GL_KHR_debug 1 1068#ifdef GL_GLEXT_PROTOTYPES 1069GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1070GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1071GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); 1072GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1073GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1074GL_APICALL void GL_APIENTRY glPopDebugGroup (void); 1075GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1076GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1077GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); 1078GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1079GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); 1080#endif 1081typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1082typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1083typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); 1084typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1085typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1086typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); 1087typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1088typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1089typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); 1090typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1091typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); 1092#endif 1093 1094#ifndef GL_KHR_texture_compression_astc_ldr 1095#define GL_KHR_texture_compression_astc_ldr 1 1096#endif 1097 1098 1099/*------------------------------------------------------------------------* 1100 * AMD extension functions 1101 *------------------------------------------------------------------------*/ 1102 1103/* GL_AMD_compressed_3DC_texture */ 1104#ifndef GL_AMD_compressed_3DC_texture 1105#define GL_AMD_compressed_3DC_texture 1 1106#endif 1107 1108/* GL_AMD_compressed_ATC_texture */ 1109#ifndef GL_AMD_compressed_ATC_texture 1110#define GL_AMD_compressed_ATC_texture 1 1111#endif 1112 1113/* AMD_performance_monitor */ 1114#ifndef GL_AMD_performance_monitor 1115#define GL_AMD_performance_monitor 1 1116#ifdef GL_GLEXT_PROTOTYPES 1117GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1118GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1119GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1120GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1121GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1122GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 1123GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 1124GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1125GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 1126GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 1127GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1128#endif 1129typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1130typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1131typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1132typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1133typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1134typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1135typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1136typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1137typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 1138typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 1139typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1140#endif 1141 1142/* GL_AMD_program_binary_Z400 */ 1143#ifndef GL_AMD_program_binary_Z400 1144#define GL_AMD_program_binary_Z400 1 1145#endif 1146 1147/*------------------------------------------------------------------------* 1148 * ANGLE extension functions 1149 *------------------------------------------------------------------------*/ 1150 1151/* GL_ANGLE_framebuffer_blit */ 1152#ifndef GL_ANGLE_framebuffer_blit 1153#define GL_ANGLE_framebuffer_blit 1 1154#ifdef GL_GLEXT_PROTOTYPES 1155GL_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); 1156#endif 1157typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1158#endif 1159 1160/* GL_ANGLE_framebuffer_multisample */ 1161#ifndef GL_ANGLE_framebuffer_multisample 1162#define GL_ANGLE_framebuffer_multisample 1 1163#ifdef GL_GLEXT_PROTOTYPES 1164GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1165#endif 1166typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1167#endif 1168 1169/* GL_ANGLE_instances_arrays */ 1170#ifndef GL_ANGLE_instanced_arrays 1171#define GL_ANGLE_instanced_arrays 1 1172#ifdef GL_GLEXT_PROTOTYPES 1173GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1174GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1175GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 1176#endif 1177typedef void (GL_APIENTRYP PFLGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1178typedef void (GL_APIENTRYP PFLGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1179typedef void (GL_APIENTRYP PFLGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 1180#endif 1181 1182/* GL_ANGLE_pack_reverse_row_order */ 1183#ifndef GL_ANGLE_pack_reverse_row_order 1184#define GL_ANGLE_pack_reverse_row_order 1 1185#endif 1186 1187/* GL_ANGLE_texture_compression_dxt3 */ 1188#ifndef GL_ANGLE_texture_compression_dxt3 1189#define GL_ANGLE_texture_compression_dxt3 1 1190#endif 1191 1192/* GL_ANGLE_texture_compression_dxt5 */ 1193#ifndef GL_ANGLE_texture_compression_dxt5 1194#define GL_ANGLE_texture_compression_dxt5 1 1195#endif 1196 1197/* GL_ANGLE_texture_usage */ 1198#ifndef GL_ANGLE_texture_usage 1199#define GL_ANGLE_texture_usage 1 1200#endif 1201 1202#ifndef GL_ANGLE_translated_shader_source 1203#define GL_ANGLE_translated_shader_source 1 1204#ifdef GL_GLEXT_PROTOTYPES 1205GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1206#endif 1207typedef void (GL_APIENTRYP PFLGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1208#endif 1209 1210/*------------------------------------------------------------------------* 1211 * APPLE extension functions 1212 *------------------------------------------------------------------------*/ 1213 1214/* GL_APPLE_copy_texture_levels */ 1215#ifndef GL_APPLE_copy_texture_levels 1216#define GL_APPLE_copy_texture_levels 1 1217#ifdef GL_GLEXT_PROTOTYPES 1218GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1219#endif 1220typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1221#endif 1222 1223/* GL_APPLE_framebuffer_multisample */ 1224#ifndef GL_APPLE_framebuffer_multisample 1225#define GL_APPLE_framebuffer_multisample 1 1226#ifdef GL_GLEXT_PROTOTYPES 1227GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1228GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 1229#endif /* GL_GLEXT_PROTOTYPES */ 1230typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1231typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 1232#endif 1233 1234/* GL_APPLE_rgb_422 */ 1235#ifndef GL_APPLE_rgb_422 1236#define GL_APPLE_rgb_422 1 1237#endif 1238 1239/* GL_APPLE_sync */ 1240#ifndef GL_APPLE_sync 1241#define GL_APPLE_sync 1 1242#ifdef GL_GLEXT_PROTOTYPES 1243GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); 1244GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); 1245GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); 1246GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1247GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1248GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); 1249GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1250#endif 1251typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); 1252typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); 1253typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); 1254typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1255typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1256typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); 1257typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1258#endif 1259 1260/* GL_APPLE_texture_format_BGRA8888 */ 1261#ifndef GL_APPLE_texture_format_BGRA8888 1262#define GL_APPLE_texture_format_BGRA8888 1 1263#endif 1264 1265/* GL_APPLE_texture_max_level */ 1266#ifndef GL_APPLE_texture_max_level 1267#define GL_APPLE_texture_max_level 1 1268#endif 1269 1270/*------------------------------------------------------------------------* 1271 * ARM extension functions 1272 *------------------------------------------------------------------------*/ 1273 1274/* GL_ARM_mali_program_binary */ 1275#ifndef GL_ARM_mali_program_binary 1276#define GL_ARM_mali_program_binary 1 1277#endif 1278 1279/* GL_ARM_mali_shader_binary */ 1280#ifndef GL_ARM_mali_shader_binary 1281#define GL_ARM_mali_shader_binary 1 1282#endif 1283 1284/* GL_ARM_rgba8 */ 1285#ifndef GL_ARM_rgba8 1286#define GL_ARM_rgba8 1 1287#endif 1288 1289/*------------------------------------------------------------------------* 1290 * EXT extension functions 1291 *------------------------------------------------------------------------*/ 1292 1293/* GL_EXT_blend_minmax */ 1294#ifndef GL_EXT_blend_minmax 1295#define GL_EXT_blend_minmax 1 1296#endif 1297 1298/* GL_EXT_color_buffer_half_float */ 1299#ifndef GL_EXT_color_buffer_half_float 1300#define GL_EXT_color_buffer_half_float 1 1301#endif 1302 1303/* GL_EXT_debug_label */ 1304#ifndef GL_EXT_debug_label 1305#define GL_EXT_debug_label 1 1306#ifdef GL_GLEXT_PROTOTYPES 1307GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1308GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1309#endif 1310typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1311typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1312#endif 1313 1314/* GL_EXT_debug_marker */ 1315#ifndef GL_EXT_debug_marker 1316#define GL_EXT_debug_marker 1 1317#ifdef GL_GLEXT_PROTOTYPES 1318GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1319GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1320GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1321#endif 1322typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1323typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1324typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1325#endif 1326 1327/* GL_EXT_discard_framebuffer */ 1328#ifndef GL_EXT_discard_framebuffer 1329#define GL_EXT_discard_framebuffer 1 1330#ifdef GL_GLEXT_PROTOTYPES 1331GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1332#endif 1333typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1334#endif 1335 1336/* GL_EXT_map_buffer_range */ 1337#ifndef GL_EXT_map_buffer_range 1338#define GL_EXT_map_buffer_range 1 1339#ifdef GL_GLEXT_PROTOTYPES 1340GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1341GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); 1342#endif 1343typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1344typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 1345#endif 1346 1347/* GL_EXT_multisampled_render_to_texture */ 1348#ifndef GL_EXT_multisampled_render_to_texture 1349#define GL_EXT_multisampled_render_to_texture 1 1350#ifdef GL_GLEXT_PROTOTYPES 1351GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1352GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1353#endif 1354typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1355typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1356#endif 1357 1358/* GL_EXT_multiview_draw_buffers */ 1359#ifndef GL_EXT_multiview_draw_buffers 1360#define GL_EXT_multiview_draw_buffers 1 1361#ifdef GL_GLEXT_PROTOTYPES 1362GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); 1363GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); 1364GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); 1365#endif 1366typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); 1367typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); 1368typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); 1369#endif 1370 1371#ifndef GL_EXT_multi_draw_arrays 1372#define GL_EXT_multi_draw_arrays 1 1373#ifdef GL_GLEXT_PROTOTYPES 1374GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); 1375GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1376#endif /* GL_GLEXT_PROTOTYPES */ 1377typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1378typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1379#endif 1380 1381/* GL_EXT_occlusion_query_boolean */ 1382#ifndef GL_EXT_occlusion_query_boolean 1383#define GL_EXT_occlusion_query_boolean 1 1384#ifdef GL_GLEXT_PROTOTYPES 1385GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1386GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1387GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1388GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1389GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1390GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1391GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1392#endif 1393typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1394typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1395typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1396typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1397typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1398typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1399typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1400#endif 1401 1402/* GL_EXT_read_format_bgra */ 1403#ifndef GL_EXT_read_format_bgra 1404#define GL_EXT_read_format_bgra 1 1405#endif 1406 1407/* GL_EXT_robustness */ 1408#ifndef GL_EXT_robustness 1409#define GL_EXT_robustness 1 1410#ifdef GL_GLEXT_PROTOTYPES 1411GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1412GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1413GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1414GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1415#endif 1416typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1417typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1418typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1419typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1420#endif 1421 1422/* GL_EXT_separate_shader_objects */ 1423#ifndef GL_EXT_separate_shader_objects 1424#define GL_EXT_separate_shader_objects 1 1425#ifdef GL_GLEXT_PROTOTYPES 1426GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1427GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1428GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1429GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1430GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1431GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1432GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1433GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1434GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1435GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1436GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1437GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1438GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1439GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1440GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1441GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1442GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1443GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1444GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1445GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1446GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1447GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1448GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1449GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1450GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1451GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1452GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1453GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1454GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1455GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1456#endif 1457typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1458typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1459typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1460typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1461typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1462typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1463typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1464typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1465typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1466typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1467typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1468typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1469typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1470typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1471typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1472typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1473typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1474typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1475typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1476typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1477typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1478typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1479typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1480typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1481typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1482typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1483typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1484typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1485typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1486typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1487#endif 1488 1489/* GL_EXT_shader_framebuffer_fetch */ 1490#ifndef GL_EXT_shader_framebuffer_fetch 1491#define GL_EXT_shader_framebuffer_fetch 1 1492#endif 1493 1494/* GL_EXT_shader_texture_lod */ 1495#ifndef GL_EXT_shader_texture_lod 1496#define GL_EXT_shader_texture_lod 1 1497#endif 1498 1499/* GL_EXT_shadow_samplers */ 1500#ifndef GL_EXT_shadow_samplers 1501#define GL_EXT_shadow_samplers 1 1502#endif 1503 1504/* GL_EXT_sRGB */ 1505#ifndef GL_EXT_sRGB 1506#define GL_EXT_sRGB 1 1507#endif 1508 1509/* GL_EXT_texture_compression_dxt1 */ 1510#ifndef GL_EXT_texture_compression_dxt1 1511#define GL_EXT_texture_compression_dxt1 1 1512#endif 1513 1514/* GL_EXT_texture_filter_anisotropic */ 1515#ifndef GL_EXT_texture_filter_anisotropic 1516#define GL_EXT_texture_filter_anisotropic 1 1517#endif 1518 1519/* GL_EXT_texture_format_BGRA8888 */ 1520#ifndef GL_EXT_texture_format_BGRA8888 1521#define GL_EXT_texture_format_BGRA8888 1 1522#endif 1523 1524/* GL_EXT_texture_rg */ 1525#ifndef GL_EXT_texture_rg 1526#define GL_EXT_texture_rg 1 1527#endif 1528 1529/* GL_EXT_texture_storage */ 1530#ifndef GL_EXT_texture_storage 1531#define GL_EXT_texture_storage 1 1532#ifdef GL_GLEXT_PROTOTYPES 1533GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1534GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1535GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1536GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1537GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1538GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1539#endif 1540typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1541typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1542typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1543typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1544typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1545typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1546#endif 1547 1548/* GL_EXT_texture_type_2_10_10_10_REV */ 1549#ifndef GL_EXT_texture_type_2_10_10_10_REV 1550#define GL_EXT_texture_type_2_10_10_10_REV 1 1551#endif 1552 1553/* GL_EXT_unpack_subimage */ 1554#ifndef GL_EXT_unpack_subimage 1555#define GL_EXT_unpack_subimage 1 1556#endif 1557 1558/*------------------------------------------------------------------------* 1559 * DMP extension functions 1560 *------------------------------------------------------------------------*/ 1561 1562/* GL_DMP_shader_binary */ 1563#ifndef GL_DMP_shader_binary 1564#define GL_DMP_shader_binary 1 1565#endif 1566 1567/*------------------------------------------------------------------------* 1568 * FJ extension functions 1569 *------------------------------------------------------------------------*/ 1570 1571/* GL_FJ_shader_binary_GCCSO */ 1572#ifndef GL_FJ_shader_binary_GCCSO 1573#define GL_FJ_shader_binary_GCCSO 1 1574#endif 1575 1576/*------------------------------------------------------------------------* 1577 * IMG extension functions 1578 *------------------------------------------------------------------------*/ 1579 1580/* GL_IMG_program_binary */ 1581#ifndef GL_IMG_program_binary 1582#define GL_IMG_program_binary 1 1583#endif 1584 1585/* GL_IMG_read_format */ 1586#ifndef GL_IMG_read_format 1587#define GL_IMG_read_format 1 1588#endif 1589 1590/* GL_IMG_shader_binary */ 1591#ifndef GL_IMG_shader_binary 1592#define GL_IMG_shader_binary 1 1593#endif 1594 1595/* GL_IMG_texture_compression_pvrtc */ 1596#ifndef GL_IMG_texture_compression_pvrtc 1597#define GL_IMG_texture_compression_pvrtc 1 1598#endif 1599 1600/* GL_IMG_multisampled_render_to_texture */ 1601#ifndef GL_IMG_multisampled_render_to_texture 1602#define GL_IMG_multisampled_render_to_texture 1 1603#ifdef GL_GLEXT_PROTOTYPES 1604GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1605GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1606#endif 1607typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1608typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1609#endif 1610 1611/*------------------------------------------------------------------------* 1612 * NV extension functions 1613 *------------------------------------------------------------------------*/ 1614 1615/* GL_NV_coverage_sample */ 1616#ifndef GL_NV_coverage_sample 1617#define GL_NV_coverage_sample 1 1618#ifdef GL_GLEXT_PROTOTYPES 1619GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1620GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1621#endif 1622typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1623typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1624#endif 1625 1626/* GL_NV_depth_nonlinear */ 1627#ifndef GL_NV_depth_nonlinear 1628#define GL_NV_depth_nonlinear 1 1629#endif 1630 1631/* GL_NV_draw_buffers */ 1632#ifndef GL_NV_draw_buffers 1633#define GL_NV_draw_buffers 1 1634#ifdef GL_GLEXT_PROTOTYPES 1635GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1636#endif 1637typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1638#endif 1639 1640/* GL_NV_fbo_color_attachments */ 1641#ifndef GL_NV_fbo_color_attachments 1642#define GL_NV_fbo_color_attachments 1 1643#endif 1644 1645/* GL_NV_fence */ 1646#ifndef GL_NV_fence 1647#define GL_NV_fence 1 1648#ifdef GL_GLEXT_PROTOTYPES 1649GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1650GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1651GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1652GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1653GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1654GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1655GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1656#endif 1657typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1658typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1659typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1660typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1661typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1662typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1663typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1664#endif 1665 1666/* GL_NV_read_buffer */ 1667#ifndef GL_NV_read_buffer 1668#define GL_NV_read_buffer 1 1669#ifdef GL_GLEXT_PROTOTYPES 1670GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1671#endif 1672typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1673#endif 1674 1675/* GL_NV_read_buffer_front */ 1676#ifndef GL_NV_read_buffer_front 1677#define GL_NV_read_buffer_front 1 1678#endif 1679 1680/* GL_NV_read_depth */ 1681#ifndef GL_NV_read_depth 1682#define GL_NV_read_depth 1 1683#endif 1684 1685/* GL_NV_read_depth_stencil */ 1686#ifndef GL_NV_read_depth_stencil 1687#define GL_NV_read_depth_stencil 1 1688#endif 1689 1690/* GL_NV_read_stencil */ 1691#ifndef GL_NV_read_stencil 1692#define GL_NV_read_stencil 1 1693#endif 1694 1695/* GL_NV_texture_compression_s3tc_update */ 1696#ifndef GL_NV_texture_compression_s3tc_update 1697#define GL_NV_texture_compression_s3tc_update 1 1698#endif 1699 1700/* GL_NV_texture_npot_2D_mipmap */ 1701#ifndef GL_NV_texture_npot_2D_mipmap 1702#define GL_NV_texture_npot_2D_mipmap 1 1703#endif 1704 1705/*------------------------------------------------------------------------* 1706 * QCOM extension functions 1707 *------------------------------------------------------------------------*/ 1708 1709/* GL_QCOM_alpha_test */ 1710#ifndef GL_QCOM_alpha_test 1711#define GL_QCOM_alpha_test 1 1712#ifdef GL_GLEXT_PROTOTYPES 1713GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1714#endif 1715typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1716#endif 1717 1718/* GL_QCOM_binning_control */ 1719#ifndef GL_QCOM_binning_control 1720#define GL_QCOM_binning_control 1 1721#endif 1722 1723/* GL_QCOM_driver_control */ 1724#ifndef GL_QCOM_driver_control 1725#define GL_QCOM_driver_control 1 1726#ifdef GL_GLEXT_PROTOTYPES 1727GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1728GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1729GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1730GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1731#endif 1732typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1733typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1734typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1735typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1736#endif 1737 1738/* GL_QCOM_extended_get */ 1739#ifndef GL_QCOM_extended_get 1740#define GL_QCOM_extended_get 1 1741#ifdef GL_GLEXT_PROTOTYPES 1742GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1743GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1744GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1745GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1746GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1747GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1748GL_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); 1749GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1750#endif 1751typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1752typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1753typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1754typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1755typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1756typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1757typedef 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); 1758typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1759#endif 1760 1761/* GL_QCOM_extended_get2 */ 1762#ifndef GL_QCOM_extended_get2 1763#define GL_QCOM_extended_get2 1 1764#ifdef GL_GLEXT_PROTOTYPES 1765GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1766GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1767GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1768GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1769#endif 1770typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1771typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1772typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1773typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1774#endif 1775 1776/* GL_QCOM_perfmon_global_mode */ 1777#ifndef GL_QCOM_perfmon_global_mode 1778#define GL_QCOM_perfmon_global_mode 1 1779#endif 1780 1781/* GL_QCOM_writeonly_rendering */ 1782#ifndef GL_QCOM_writeonly_rendering 1783#define GL_QCOM_writeonly_rendering 1 1784#endif 1785 1786/* GL_QCOM_tiled_rendering */ 1787#ifndef GL_QCOM_tiled_rendering 1788#define GL_QCOM_tiled_rendering 1 1789#ifdef GL_GLEXT_PROTOTYPES 1790GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1791GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1792#endif 1793typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1794typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1795#endif 1796 1797/*------------------------------------------------------------------------* 1798 * VIV extension tokens 1799 *------------------------------------------------------------------------*/ 1800 1801/* GL_VIV_shader_binary */ 1802#ifndef GL_VIV_shader_binary 1803#define GL_VIV_shader_binary 1 1804#endif 1805 1806#ifdef __cplusplus 1807} 1808#endif 1809 1810#endif /* __gl2ext_h_ */ 1811