1#ifndef __gl2ext_h_ 2#define __gl2ext_h_ 3 4/* $Revision: 20795 $ on $Date:: 2013-03-07 01:01:58 -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_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_depth_texture */ 298#ifndef GL_ANGLE_depth_texture 299#define GL_DEPTH_COMPONENT 0x1902 300#define GL_DEPTH_STENCIL_OES 0x84F9 301#define GL_UNSIGNED_SHORT 0x1403 302#define GL_UNSIGNED_INT 0x1405 303#define GL_UNSIGNED_INT_24_8_OES 0x84FA 304#define GL_DEPTH_COMPONENT16 0x81A5 305#define GL_DEPTH_COMPONENT32_OES 0x81A7 306#define GL_DEPTH24_STENCIL8_OES 0x88F0 307#endif 308 309/* GL_ANGLE_framebuffer_blit */ 310#ifndef GL_ANGLE_framebuffer_blit 311#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 312#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 313#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 314#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA 315#endif 316 317/* GL_ANGLE_framebuffer_multisample */ 318#ifndef GL_ANGLE_framebuffer_multisample 319#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB 320#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 321#define GL_MAX_SAMPLES_ANGLE 0x8D57 322#endif 323 324/* GL_ANGLE_instanced_arrays */ 325#ifndef GL_ANGLE_instanced_arrays 326#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE 327#endif 328 329/* GL_ANGLE_pack_reverse_row_order */ 330#ifndef GL_ANGLE_pack_reverse_row_order 331#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 332#endif 333 334/* GL_ANGLE_program_binary */ 335#ifndef GL_ANGLE_program_binary 336#define GL_PROGRAM_BINARY_ANGLE 0x93A6 337#endif 338 339/* GL_ANGLE_texture_compression_dxt3 */ 340#ifndef GL_ANGLE_texture_compression_dxt3 341#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 342#endif 343 344/* GL_ANGLE_texture_compression_dxt5 */ 345#ifndef GL_ANGLE_texture_compression_dxt5 346#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 347#endif 348 349/* GL_ANGLE_texture_usage */ 350#ifndef GL_ANGLE_texture_usage 351#define GL_TEXTURE_USAGE_ANGLE 0x93A2 352#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 353#endif 354 355/* GL_ANGLE_translated_shader_source */ 356#ifndef GL_ANGLE_translated_shader_source 357#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 358#endif 359 360/*------------------------------------------------------------------------* 361 * APPLE extension tokens 362 *------------------------------------------------------------------------*/ 363 364/* GL_APPLE_copy_texture_levels */ 365/* No new tokens introduced by this extension. */ 366 367/* GL_APPLE_framebuffer_multisample */ 368#ifndef GL_APPLE_framebuffer_multisample 369#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB 370#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 371#define GL_MAX_SAMPLES_APPLE 0x8D57 372#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 373#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 374#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 375#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA 376#endif 377 378/* GL_APPLE_rgb_422 */ 379#ifndef GL_APPLE_rgb_422 380#define GL_RGB_422_APPLE 0x8A1F 381#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA 382#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB 383#endif 384 385/* GL_APPLE_sync */ 386#ifndef GL_APPLE_sync 387 388#ifndef __gl3_h_ 389/* These types are defined with reference to <inttypes.h> 390 * in the Apple extension spec, but here we use the Khronos 391 * portable types in khrplatform.h, and assume those types 392 * are always defined. 393 * If any other extensions using these types are defined, 394 * the typedefs must move out of this block and be shared. 395 */ 396typedef khronos_int64_t GLint64; 397typedef khronos_uint64_t GLuint64; 398typedef struct __GLsync *GLsync; 399#endif 400 401#define GL_SYNC_OBJECT_APPLE 0x8A53 402#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 403#define GL_OBJECT_TYPE_APPLE 0x9112 404#define GL_SYNC_CONDITION_APPLE 0x9113 405#define GL_SYNC_STATUS_APPLE 0x9114 406#define GL_SYNC_FLAGS_APPLE 0x9115 407#define GL_SYNC_FENCE_APPLE 0x9116 408#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 409#define GL_UNSIGNALED_APPLE 0x9118 410#define GL_SIGNALED_APPLE 0x9119 411#define GL_ALREADY_SIGNALED_APPLE 0x911A 412#define GL_TIMEOUT_EXPIRED_APPLE 0x911B 413#define GL_CONDITION_SATISFIED_APPLE 0x911C 414#define GL_WAIT_FAILED_APPLE 0x911D 415#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 416#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull 417#endif 418 419/* GL_APPLE_texture_format_BGRA8888 */ 420#ifndef GL_APPLE_texture_format_BGRA8888 421#define GL_BGRA_EXT 0x80E1 422#endif 423 424/* GL_APPLE_texture_max_level */ 425#ifndef GL_APPLE_texture_max_level 426#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D 427#endif 428 429/*------------------------------------------------------------------------* 430 * ARM extension tokens 431 *------------------------------------------------------------------------*/ 432 433/* GL_ARM_mali_program_binary */ 434#ifndef GL_ARM_mali_program_binary 435#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 436#endif 437 438/* GL_ARM_mali_shader_binary */ 439#ifndef GL_ARM_mali_shader_binary 440#define GL_MALI_SHADER_BINARY_ARM 0x8F60 441#endif 442 443/* GL_ARM_rgba8 */ 444/* No new tokens introduced by this extension. */ 445 446/*------------------------------------------------------------------------* 447 * EXT extension tokens 448 *------------------------------------------------------------------------*/ 449 450/* GL_EXT_blend_minmax */ 451#ifndef GL_EXT_blend_minmax 452#define GL_MIN_EXT 0x8007 453#define GL_MAX_EXT 0x8008 454#endif 455 456/* GL_EXT_color_buffer_half_float */ 457#ifndef GL_EXT_color_buffer_half_float 458#define GL_RGBA16F_EXT 0x881A 459#define GL_RGB16F_EXT 0x881B 460#define GL_RG16F_EXT 0x822F 461#define GL_R16F_EXT 0x822D 462#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 463#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 464#endif 465 466/* GL_EXT_debug_label */ 467#ifndef GL_EXT_debug_label 468#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F 469#define GL_PROGRAM_OBJECT_EXT 0x8B40 470#define GL_SHADER_OBJECT_EXT 0x8B48 471#define GL_BUFFER_OBJECT_EXT 0x9151 472#define GL_QUERY_OBJECT_EXT 0x9153 473#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 474#endif 475 476/* GL_EXT_debug_marker */ 477/* No new tokens introduced by this extension. */ 478 479/* GL_EXT_discard_framebuffer */ 480#ifndef GL_EXT_discard_framebuffer 481#define GL_COLOR_EXT 0x1800 482#define GL_DEPTH_EXT 0x1801 483#define GL_STENCIL_EXT 0x1802 484#endif 485 486/* GL_EXT_map_buffer_range */ 487#ifndef GL_EXT_map_buffer_range 488#define GL_MAP_READ_BIT_EXT 0x0001 489#define GL_MAP_WRITE_BIT_EXT 0x0002 490#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 491#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 492#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 493#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 494#endif 495 496/* GL_EXT_multisampled_render_to_texture */ 497#ifndef GL_EXT_multisampled_render_to_texture 498#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C 499/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ 500#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 501#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 502#define GL_MAX_SAMPLES_EXT 0x8D57 503#endif 504 505/* GL_EXT_multiview_draw_buffers */ 506#ifndef GL_EXT_multiview_draw_buffers 507#define GL_COLOR_ATTACHMENT_EXT 0x90F0 508#define GL_MULTIVIEW_EXT 0x90F1 509#define GL_DRAW_BUFFER_EXT 0x0C01 510#define GL_READ_BUFFER_EXT 0x0C02 511#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 512#endif 513 514/* GL_EXT_multi_draw_arrays */ 515/* No new tokens introduced by this extension. */ 516 517/* GL_EXT_occlusion_query_boolean */ 518#ifndef GL_EXT_occlusion_query_boolean 519#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F 520#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A 521#define GL_CURRENT_QUERY_EXT 0x8865 522#define GL_QUERY_RESULT_EXT 0x8866 523#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 524#endif 525 526/* GL_EXT_read_format_bgra */ 527#ifndef GL_EXT_read_format_bgra 528#define GL_BGRA_EXT 0x80E1 529#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 530#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 531#endif 532 533/* GL_EXT_robustness */ 534#ifndef GL_EXT_robustness 535/* reuse GL_NO_ERROR */ 536#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 537#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 538#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 539#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 540#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 541#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 542#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 543#endif 544 545/* GL_EXT_separate_shader_objects */ 546#ifndef GL_EXT_separate_shader_objects 547#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 548#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 549#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF 550#define GL_PROGRAM_SEPARABLE_EXT 0x8258 551#define GL_ACTIVE_PROGRAM_EXT 0x8259 552#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 553#endif 554 555/* GL_EXT_shader_framebuffer_fetch */ 556#ifndef GL_EXT_shader_framebuffer_fetch 557#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 558#endif 559 560/* GL_EXT_shader_texture_lod */ 561/* No new tokens introduced by this extension. */ 562 563/* GL_EXT_shadow_samplers */ 564#ifndef GL_EXT_shadow_samplers 565#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C 566#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D 567#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E 568#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 569#endif 570 571/* GL_EXT_sRGB */ 572#ifndef GL_EXT_sRGB 573#define GL_SRGB_EXT 0x8C40 574#define GL_SRGB_ALPHA_EXT 0x8C42 575#define GL_SRGB8_ALPHA8_EXT 0x8C43 576#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 577#endif 578 579/* GL_EXT_texture_compression_dxt1 */ 580#ifndef GL_EXT_texture_compression_dxt1 581#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 582#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 583#endif 584 585/* GL_EXT_texture_filter_anisotropic */ 586#ifndef GL_EXT_texture_filter_anisotropic 587#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 588#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 589#endif 590 591/* GL_EXT_texture_format_BGRA8888 */ 592#ifndef GL_EXT_texture_format_BGRA8888 593#define GL_BGRA_EXT 0x80E1 594#endif 595 596/* GL_EXT_texture_rg */ 597#ifndef GL_EXT_texture_rg 598#define GL_RED_EXT 0x1903 599#define GL_RG_EXT 0x8227 600#define GL_R8_EXT 0x8229 601#define GL_RG8_EXT 0x822B 602#endif 603 604/* GL_EXT_texture_storage */ 605#ifndef GL_EXT_texture_storage 606#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F 607#define GL_ALPHA8_EXT 0x803C 608#define GL_LUMINANCE8_EXT 0x8040 609#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 610#define GL_RGBA32F_EXT 0x8814 611#define GL_RGB32F_EXT 0x8815 612#define GL_ALPHA32F_EXT 0x8816 613#define GL_LUMINANCE32F_EXT 0x8818 614#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 615/* reuse GL_RGBA16F_EXT */ 616/* reuse GL_RGB16F_EXT */ 617#define GL_ALPHA16F_EXT 0x881C 618#define GL_LUMINANCE16F_EXT 0x881E 619#define GL_LUMINANCE_ALPHA16F_EXT 0x881F 620#define GL_RGB10_A2_EXT 0x8059 621#define GL_RGB10_EXT 0x8052 622#define GL_BGRA8_EXT 0x93A1 623#define GL_R8_EXT 0x8229 624#define GL_RG8_EXT 0x822B 625#define GL_R32F_EXT 0x822E 626#define GL_RG32F_EXT 0x8230 627#define GL_R16F_EXT 0x822D 628#define GL_RG16F_EXT 0x822F 629#endif 630 631/* GL_EXT_texture_type_2_10_10_10_REV */ 632#ifndef GL_EXT_texture_type_2_10_10_10_REV 633#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 634#endif 635 636/* GL_EXT_unpack_subimage */ 637#ifndef GL_EXT_unpack_subimage 638#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 639#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 640#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 641#endif 642 643/*------------------------------------------------------------------------* 644 * DMP extension tokens 645 *------------------------------------------------------------------------*/ 646 647/* GL_DMP_shader_binary */ 648#ifndef GL_DMP_shader_binary 649#define GL_SHADER_BINARY_DMP 0x9250 650#endif 651 652/*------------------------------------------------------------------------* 653 * FJ extension tokens 654 *------------------------------------------------------------------------*/ 655 656/* GL_FJ_shader_binary_GCCSO */ 657#ifndef GL_FJ_shader_binary_GCCSO 658#define GL_GCCSO_SHADER_BINARY_F 0x9260 659#endif 660 661/*------------------------------------------------------------------------* 662 * IMG extension tokens 663 *------------------------------------------------------------------------*/ 664 665/* GL_IMG_program_binary */ 666#ifndef GL_IMG_program_binary 667#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 668#endif 669 670/* GL_IMG_read_format */ 671#ifndef GL_IMG_read_format 672#define GL_BGRA_IMG 0x80E1 673#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 674#endif 675 676/* GL_IMG_shader_binary */ 677#ifndef GL_IMG_shader_binary 678#define GL_SGX_BINARY_IMG 0x8C0A 679#endif 680 681/* GL_IMG_texture_compression_pvrtc */ 682#ifndef GL_IMG_texture_compression_pvrtc 683#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 684#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 685#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 686#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 687#endif 688 689/* GL_IMG_texture_compression_pvrtc2 */ 690#ifndef GL_IMG_texture_compression_pvrtc2 691#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 692#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 693#endif 694 695/* GL_IMG_multisampled_render_to_texture */ 696#ifndef GL_IMG_multisampled_render_to_texture 697#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 698#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 699#define GL_MAX_SAMPLES_IMG 0x9135 700#define GL_TEXTURE_SAMPLES_IMG 0x9136 701#endif 702 703/*------------------------------------------------------------------------* 704 * NV extension tokens 705 *------------------------------------------------------------------------*/ 706 707/* GL_NV_coverage_sample */ 708#ifndef GL_NV_coverage_sample 709#define GL_COVERAGE_COMPONENT_NV 0x8ED0 710#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 711#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 712#define GL_COVERAGE_BUFFERS_NV 0x8ED3 713#define GL_COVERAGE_SAMPLES_NV 0x8ED4 714#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 715#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 716#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 717#define GL_COVERAGE_BUFFER_BIT_NV 0x8000 718#endif 719 720/* GL_NV_depth_nonlinear */ 721#ifndef GL_NV_depth_nonlinear 722#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C 723#endif 724 725/* GL_NV_draw_buffers */ 726#ifndef GL_NV_draw_buffers 727#define GL_MAX_DRAW_BUFFERS_NV 0x8824 728#define GL_DRAW_BUFFER0_NV 0x8825 729#define GL_DRAW_BUFFER1_NV 0x8826 730#define GL_DRAW_BUFFER2_NV 0x8827 731#define GL_DRAW_BUFFER3_NV 0x8828 732#define GL_DRAW_BUFFER4_NV 0x8829 733#define GL_DRAW_BUFFER5_NV 0x882A 734#define GL_DRAW_BUFFER6_NV 0x882B 735#define GL_DRAW_BUFFER7_NV 0x882C 736#define GL_DRAW_BUFFER8_NV 0x882D 737#define GL_DRAW_BUFFER9_NV 0x882E 738#define GL_DRAW_BUFFER10_NV 0x882F 739#define GL_DRAW_BUFFER11_NV 0x8830 740#define GL_DRAW_BUFFER12_NV 0x8831 741#define GL_DRAW_BUFFER13_NV 0x8832 742#define GL_DRAW_BUFFER14_NV 0x8833 743#define GL_DRAW_BUFFER15_NV 0x8834 744#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 745#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 746#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 747#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 748#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 749#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 750#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 751#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 752#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 753#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 754#define GL_COLOR_ATTACHMENT10_NV 0x8CEA 755#define GL_COLOR_ATTACHMENT11_NV 0x8CEB 756#define GL_COLOR_ATTACHMENT12_NV 0x8CEC 757#define GL_COLOR_ATTACHMENT13_NV 0x8CED 758#define GL_COLOR_ATTACHMENT14_NV 0x8CEE 759#define GL_COLOR_ATTACHMENT15_NV 0x8CEF 760#endif 761 762/* GL_EXT_draw_buffers */ 763#ifndef GL_EXT_draw_buffers 764#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 765#define GL_DRAW_BUFFER0_EXT 0x8825 766#define GL_DRAW_BUFFER1_EXT 0x8826 767#define GL_DRAW_BUFFER2_EXT 0x8827 768#define GL_DRAW_BUFFER3_EXT 0x8828 769#define GL_DRAW_BUFFER4_EXT 0x8829 770#define GL_DRAW_BUFFER5_EXT 0x882A 771#define GL_DRAW_BUFFER6_EXT 0x882B 772#define GL_DRAW_BUFFER7_EXT 0x882C 773#define GL_DRAW_BUFFER8_EXT 0x882D 774#define GL_DRAW_BUFFER9_EXT 0x882E 775#define GL_DRAW_BUFFER10_EXT 0x882F 776#define GL_DRAW_BUFFER11_EXT 0x8830 777#define GL_DRAW_BUFFER12_EXT 0x8831 778#define GL_DRAW_BUFFER13_EXT 0x8832 779#define GL_DRAW_BUFFER14_EXT 0x8833 780#define GL_DRAW_BUFFER15_EXT 0x8834 781#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 782#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 783#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 784#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 785#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 786#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 787#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 788#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 789#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 790#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 791#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA 792#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB 793#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC 794#define GL_COLOR_ATTACHMENT13_EXT 0x8CED 795#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE 796#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF 797#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF 798#endif 799 800/* GL_NV_draw_instanced */ 801/* No new tokens introduced by this extension. */ 802 803/* GL_NV_fbo_color_attachments */ 804#ifndef GL_NV_fbo_color_attachments 805#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF 806/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ 807#endif 808 809/* GL_NV_fence */ 810#ifndef GL_NV_fence 811#define GL_ALL_COMPLETED_NV 0x84F2 812#define GL_FENCE_STATUS_NV 0x84F3 813#define GL_FENCE_CONDITION_NV 0x84F4 814#endif 815 816/* GL_NV_framebuffer_blit */ 817#ifndef GL_NV_framebuffer_blit 818#define GL_READ_FRAMEBUFFER_NV 0x8CA8 819#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 820#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 821#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA 822#endif 823 824/* GL_NV_framebuffer_multisample */ 825#ifndef GL_NV_framebuffer_multisample 826#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB 827#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 828#define GL_MAX_SAMPLES_NV 0x8D57 829#endif 830 831/* GL_NV_generate_mipmap_sRGB */ 832/* No new tokens introduced by this extension. */ 833 834/* GL_NV_instanced_arrays */ 835#ifndef GL_NV_instanced_arrays 836#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE 837#endif 838 839/* GL_NV_read_buffer */ 840#ifndef GL_NV_read_buffer 841#define GL_READ_BUFFER_NV 0x0C02 842#endif 843 844/* GL_NV_read_buffer_front */ 845/* No new tokens introduced by this extension. */ 846 847/* GL_NV_read_depth */ 848/* No new tokens introduced by this extension. */ 849 850/* GL_NV_read_depth_stencil */ 851/* No new tokens introduced by this extension. */ 852 853/* GL_NV_read_stencil */ 854/* No new tokens introduced by this extension. */ 855 856/* GL_NV_shadow_samplers_array */ 857#ifndef GL_NV_shadow_samplers_array 858#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 859#endif 860 861/* GL_NV_shadow_samplers_cube */ 862#ifndef GL_NV_shadow_samplers_cube 863#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 864#endif 865 866/* GL_NV_sRGB_formats */ 867#ifndef GL_NV_sRGB_formats 868#define GL_SLUMINANCE_NV 0x8C46 869#define GL_SLUMINANCE_ALPHA_NV 0x8C44 870#define GL_SRGB8_NV 0x8C41 871#define GL_SLUMINANCE8_NV 0x8C47 872#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 873#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C 874#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D 875#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E 876#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F 877#define GL_ETC1_SRGB8_NV 0x88EE 878#endif 879 880/* GL_NV_texture_border_clamp */ 881#ifndef GL_NV_texture_border_clamp 882#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 883#define GL_CLAMP_TO_BORDER_NV 0x812D 884#endif 885 886/* GL_NV_texture_compression_s3tc_update */ 887/* No new tokens introduced by this extension. */ 888 889/* GL_NV_texture_npot_2D_mipmap */ 890/* No new tokens introduced by this extension. */ 891 892/*------------------------------------------------------------------------* 893 * QCOM extension tokens 894 *------------------------------------------------------------------------*/ 895 896/* GL_QCOM_alpha_test */ 897#ifndef GL_QCOM_alpha_test 898#define GL_ALPHA_TEST_QCOM 0x0BC0 899#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 900#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 901#endif 902 903/* GL_QCOM_binning_control */ 904#ifndef GL_QCOM_binning_control 905#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 906#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 907#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 908#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 909#endif 910 911/* GL_QCOM_driver_control */ 912/* No new tokens introduced by this extension. */ 913 914/* GL_QCOM_extended_get */ 915#ifndef GL_QCOM_extended_get 916#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 917#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 918#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 919#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 920#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 921#define GL_TEXTURE_TYPE_QCOM 0x8BD7 922#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 923#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 924#define GL_TEXTURE_TARGET_QCOM 0x8BDA 925#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB 926#define GL_STATE_RESTORE 0x8BDC 927#endif 928 929/* GL_QCOM_extended_get2 */ 930/* No new tokens introduced by this extension. */ 931 932/* GL_QCOM_perfmon_global_mode */ 933#ifndef GL_QCOM_perfmon_global_mode 934#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 935#endif 936 937/* GL_QCOM_writeonly_rendering */ 938#ifndef GL_QCOM_writeonly_rendering 939#define GL_WRITEONLY_RENDERING_QCOM 0x8823 940#endif 941 942/* GL_QCOM_tiled_rendering */ 943#ifndef GL_QCOM_tiled_rendering 944#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 945#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 946#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 947#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 948#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 949#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 950#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 951#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 952#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 953#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 954#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 955#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 956#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 957#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 958#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 959#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 960#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 961#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 962#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 963#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 964#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 965#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 966#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 967#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 968#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 969#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 970#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 971#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 972#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 973#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 974#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 975#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 976#endif 977 978/*------------------------------------------------------------------------* 979 * VIV extension tokens 980 *------------------------------------------------------------------------*/ 981 982/* GL_VIV_shader_binary */ 983#ifndef GL_VIV_shader_binary 984#define GL_SHADER_BINARY_VIV 0x8FC4 985#endif 986 987/*------------------------------------------------------------------------* 988 * End of extension tokens, start of corresponding extension functions 989 *------------------------------------------------------------------------*/ 990 991/*------------------------------------------------------------------------* 992 * OES extension functions 993 *------------------------------------------------------------------------*/ 994 995/* GL_OES_compressed_ETC1_RGB8_texture */ 996#ifndef GL_OES_compressed_ETC1_RGB8_texture 997#define GL_OES_compressed_ETC1_RGB8_texture 1 998#endif 999 1000/* GL_OES_compressed_paletted_texture */ 1001#ifndef GL_OES_compressed_paletted_texture 1002#define GL_OES_compressed_paletted_texture 1 1003#endif 1004 1005/* GL_OES_depth24 */ 1006#ifndef GL_OES_depth24 1007#define GL_OES_depth24 1 1008#endif 1009 1010/* GL_OES_depth32 */ 1011#ifndef GL_OES_depth32 1012#define GL_OES_depth32 1 1013#endif 1014 1015/* GL_OES_depth_texture */ 1016#ifndef GL_OES_depth_texture 1017#define GL_OES_depth_texture 1 1018#endif 1019 1020/* GL_OES_EGL_image */ 1021#ifndef GL_OES_EGL_image 1022#define GL_OES_EGL_image 1 1023#ifdef GL_GLEXT_PROTOTYPES 1024GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); 1025GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); 1026#endif 1027typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); 1028typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); 1029#endif 1030 1031/* GL_OES_EGL_image_external */ 1032#ifndef GL_OES_EGL_image_external 1033#define GL_OES_EGL_image_external 1 1034/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ 1035#endif 1036 1037/* GL_OES_element_index_uint */ 1038#ifndef GL_OES_element_index_uint 1039#define GL_OES_element_index_uint 1 1040#endif 1041 1042/* GL_OES_fbo_render_mipmap */ 1043#ifndef GL_OES_fbo_render_mipmap 1044#define GL_OES_fbo_render_mipmap 1 1045#endif 1046 1047/* GL_OES_fragment_precision_high */ 1048#ifndef GL_OES_fragment_precision_high 1049#define GL_OES_fragment_precision_high 1 1050#endif 1051 1052/* GL_OES_get_program_binary */ 1053#ifndef GL_OES_get_program_binary 1054#define GL_OES_get_program_binary 1 1055#ifdef GL_GLEXT_PROTOTYPES 1056GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 1057GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 1058#endif 1059typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); 1060typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); 1061#endif 1062 1063/* GL_OES_mapbuffer */ 1064#ifndef GL_OES_mapbuffer 1065#define GL_OES_mapbuffer 1 1066#ifdef GL_GLEXT_PROTOTYPES 1067GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); 1068GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); 1069GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); 1070#endif 1071typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); 1072typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); 1073typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); 1074#endif 1075 1076/* GL_OES_packed_depth_stencil */ 1077#ifndef GL_OES_packed_depth_stencil 1078#define GL_OES_packed_depth_stencil 1 1079#endif 1080 1081/* GL_OES_required_internalformat */ 1082#ifndef GL_OES_required_internalformat 1083#define GL_OES_required_internalformat 1 1084#endif 1085 1086/* GL_OES_rgb8_rgba8 */ 1087#ifndef GL_OES_rgb8_rgba8 1088#define GL_OES_rgb8_rgba8 1 1089#endif 1090 1091/* GL_OES_standard_derivatives */ 1092#ifndef GL_OES_standard_derivatives 1093#define GL_OES_standard_derivatives 1 1094#endif 1095 1096/* GL_OES_stencil1 */ 1097#ifndef GL_OES_stencil1 1098#define GL_OES_stencil1 1 1099#endif 1100 1101/* GL_OES_stencil4 */ 1102#ifndef GL_OES_stencil4 1103#define GL_OES_stencil4 1 1104#endif 1105 1106#ifndef GL_OES_surfaceless_context 1107#define GL_OES_surfaceless_context 1 1108#endif 1109 1110/* GL_OES_texture_3D */ 1111#ifndef GL_OES_texture_3D 1112#define GL_OES_texture_3D 1 1113#ifdef GL_GLEXT_PROTOTYPES 1114GL_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); 1115GL_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); 1116GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1117GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1118GL_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); 1119GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1120#endif 1121typedef 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); 1122typedef 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); 1123typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); 1124typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); 1125typedef 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); 1126typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 1127#endif 1128 1129/* GL_OES_texture_float */ 1130#ifndef GL_OES_texture_float 1131#define GL_OES_texture_float 1 1132#endif 1133 1134/* GL_OES_texture_float_linear */ 1135#ifndef GL_OES_texture_float_linear 1136#define GL_OES_texture_float_linear 1 1137#endif 1138 1139/* GL_OES_texture_half_float */ 1140#ifndef GL_OES_texture_half_float 1141#define GL_OES_texture_half_float 1 1142#endif 1143 1144/* GL_OES_texture_half_float_linear */ 1145#ifndef GL_OES_texture_half_float_linear 1146#define GL_OES_texture_half_float_linear 1 1147#endif 1148 1149/* GL_OES_texture_npot */ 1150#ifndef GL_OES_texture_npot 1151#define GL_OES_texture_npot 1 1152#endif 1153 1154/* GL_OES_vertex_array_object */ 1155#ifndef GL_OES_vertex_array_object 1156#define GL_OES_vertex_array_object 1 1157#ifdef GL_GLEXT_PROTOTYPES 1158GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); 1159GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); 1160GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); 1161GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); 1162#endif 1163typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); 1164typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); 1165typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); 1166typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); 1167#endif 1168 1169/* GL_OES_vertex_half_float */ 1170#ifndef GL_OES_vertex_half_float 1171#define GL_OES_vertex_half_float 1 1172#endif 1173 1174/* GL_OES_vertex_type_10_10_10_2 */ 1175#ifndef GL_OES_vertex_type_10_10_10_2 1176#define GL_OES_vertex_type_10_10_10_2 1 1177#endif 1178 1179/*------------------------------------------------------------------------* 1180 * KHR extension functions 1181 *------------------------------------------------------------------------*/ 1182 1183#ifndef GL_KHR_debug 1184#define GL_KHR_debug 1 1185#ifdef GL_GLEXT_PROTOTYPES 1186GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1187GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1188GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); 1189GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1190GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1191GL_APICALL void GL_APIENTRY glPopDebugGroup (void); 1192GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1193GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1194GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); 1195GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1196GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); 1197#endif 1198typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); 1199typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); 1200typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); 1201typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); 1202typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); 1203typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); 1204typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); 1205typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); 1206typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); 1207typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); 1208typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); 1209#endif 1210 1211#ifndef GL_KHR_texture_compression_astc_ldr 1212#define GL_KHR_texture_compression_astc_ldr 1 1213#endif 1214 1215 1216/*------------------------------------------------------------------------* 1217 * AMD extension functions 1218 *------------------------------------------------------------------------*/ 1219 1220/* GL_AMD_compressed_3DC_texture */ 1221#ifndef GL_AMD_compressed_3DC_texture 1222#define GL_AMD_compressed_3DC_texture 1 1223#endif 1224 1225/* GL_AMD_compressed_ATC_texture */ 1226#ifndef GL_AMD_compressed_ATC_texture 1227#define GL_AMD_compressed_ATC_texture 1 1228#endif 1229 1230/* AMD_performance_monitor */ 1231#ifndef GL_AMD_performance_monitor 1232#define GL_AMD_performance_monitor 1 1233#ifdef GL_GLEXT_PROTOTYPES 1234GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1235GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1236GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1237GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1238GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1239GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); 1240GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); 1241GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1242GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); 1243GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); 1244GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1245#endif 1246typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); 1247typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); 1248typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); 1249typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); 1250typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); 1251typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1252typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); 1253typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); 1254typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); 1255typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); 1256typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); 1257#endif 1258 1259/* GL_AMD_program_binary_Z400 */ 1260#ifndef GL_AMD_program_binary_Z400 1261#define GL_AMD_program_binary_Z400 1 1262#endif 1263 1264/*------------------------------------------------------------------------* 1265 * ANGLE extension functions 1266 *------------------------------------------------------------------------*/ 1267 1268/* GL_ANGLE_depth_texture */ 1269#ifndef GL_ANGLE_depth_texture 1270#define GL_ANGLE_depth_texture 1 1271#endif 1272 1273/* GL_ANGLE_framebuffer_blit */ 1274#ifndef GL_ANGLE_framebuffer_blit 1275#define GL_ANGLE_framebuffer_blit 1 1276#ifdef GL_GLEXT_PROTOTYPES 1277GL_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); 1278#endif 1279typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1280#endif 1281 1282/* GL_ANGLE_framebuffer_multisample */ 1283#ifndef GL_ANGLE_framebuffer_multisample 1284#define GL_ANGLE_framebuffer_multisample 1 1285#ifdef GL_GLEXT_PROTOTYPES 1286GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1287#endif 1288typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1289#endif 1290 1291#ifndef GL_ANGLE_instanced_arrays 1292#define GL_ANGLE_instanced_arrays 1 1293#ifdef GL_GLEXT_PROTOTYPES 1294GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1295GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1296GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); 1297#endif 1298typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1299typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); 1300typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); 1301#endif 1302 1303/* GL_ANGLE_pack_reverse_row_order */ 1304#ifndef GL_ANGLE_pack_reverse_row_order 1305#define GL_ANGLE_pack_reverse_row_order 1 1306#endif 1307 1308/* GL_ANGLE_program_binary */ 1309#ifndef GL_ANGLE_program_binary 1310#define GL_ANGLE_program_binary 1 1311#endif 1312 1313/* GL_ANGLE_texture_compression_dxt3 */ 1314#ifndef GL_ANGLE_texture_compression_dxt3 1315#define GL_ANGLE_texture_compression_dxt3 1 1316#endif 1317 1318/* GL_ANGLE_texture_compression_dxt5 */ 1319#ifndef GL_ANGLE_texture_compression_dxt5 1320#define GL_ANGLE_texture_compression_dxt5 1 1321#endif 1322 1323/* GL_ANGLE_texture_usage */ 1324#ifndef GL_ANGLE_texture_usage 1325#define GL_ANGLE_texture_usage 1 1326#endif 1327 1328#ifndef GL_ANGLE_translated_shader_source 1329#define GL_ANGLE_translated_shader_source 1 1330#ifdef GL_GLEXT_PROTOTYPES 1331GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1332#endif 1333typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); 1334#endif 1335 1336/*------------------------------------------------------------------------* 1337 * APPLE extension functions 1338 *------------------------------------------------------------------------*/ 1339 1340/* GL_APPLE_copy_texture_levels */ 1341#ifndef GL_APPLE_copy_texture_levels 1342#define GL_APPLE_copy_texture_levels 1 1343#ifdef GL_GLEXT_PROTOTYPES 1344GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1345#endif 1346typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); 1347#endif 1348 1349/* GL_APPLE_framebuffer_multisample */ 1350#ifndef GL_APPLE_framebuffer_multisample 1351#define GL_APPLE_framebuffer_multisample 1 1352#ifdef GL_GLEXT_PROTOTYPES 1353GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1354GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); 1355#endif /* GL_GLEXT_PROTOTYPES */ 1356typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1357typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); 1358#endif 1359 1360/* GL_APPLE_rgb_422 */ 1361#ifndef GL_APPLE_rgb_422 1362#define GL_APPLE_rgb_422 1 1363#endif 1364 1365/* GL_APPLE_sync */ 1366#ifndef GL_APPLE_sync 1367#define GL_APPLE_sync 1 1368#ifdef GL_GLEXT_PROTOTYPES 1369GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); 1370GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); 1371GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); 1372GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1373GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); 1374GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); 1375GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1376#endif 1377typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); 1378typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); 1379typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); 1380typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1381typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); 1382typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); 1383typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); 1384#endif 1385 1386/* GL_APPLE_texture_format_BGRA8888 */ 1387#ifndef GL_APPLE_texture_format_BGRA8888 1388#define GL_APPLE_texture_format_BGRA8888 1 1389#endif 1390 1391/* GL_APPLE_texture_max_level */ 1392#ifndef GL_APPLE_texture_max_level 1393#define GL_APPLE_texture_max_level 1 1394#endif 1395 1396/*------------------------------------------------------------------------* 1397 * ARM extension functions 1398 *------------------------------------------------------------------------*/ 1399 1400/* GL_ARM_mali_program_binary */ 1401#ifndef GL_ARM_mali_program_binary 1402#define GL_ARM_mali_program_binary 1 1403#endif 1404 1405/* GL_ARM_mali_shader_binary */ 1406#ifndef GL_ARM_mali_shader_binary 1407#define GL_ARM_mali_shader_binary 1 1408#endif 1409 1410/* GL_ARM_rgba8 */ 1411#ifndef GL_ARM_rgba8 1412#define GL_ARM_rgba8 1 1413#endif 1414 1415/*------------------------------------------------------------------------* 1416 * EXT extension functions 1417 *------------------------------------------------------------------------*/ 1418 1419/* GL_EXT_blend_minmax */ 1420#ifndef GL_EXT_blend_minmax 1421#define GL_EXT_blend_minmax 1 1422#endif 1423 1424/* GL_EXT_color_buffer_half_float */ 1425#ifndef GL_EXT_color_buffer_half_float 1426#define GL_EXT_color_buffer_half_float 1 1427#endif 1428 1429/* GL_EXT_debug_label */ 1430#ifndef GL_EXT_debug_label 1431#define GL_EXT_debug_label 1 1432#ifdef GL_GLEXT_PROTOTYPES 1433GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1434GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1435#endif 1436typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); 1437typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); 1438#endif 1439 1440/* GL_EXT_debug_marker */ 1441#ifndef GL_EXT_debug_marker 1442#define GL_EXT_debug_marker 1 1443#ifdef GL_GLEXT_PROTOTYPES 1444GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); 1445GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); 1446GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); 1447#endif 1448typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1449typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); 1450typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); 1451#endif 1452 1453/* GL_EXT_discard_framebuffer */ 1454#ifndef GL_EXT_discard_framebuffer 1455#define GL_EXT_discard_framebuffer 1 1456#ifdef GL_GLEXT_PROTOTYPES 1457GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1458#endif 1459typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); 1460#endif 1461 1462/* GL_EXT_map_buffer_range */ 1463#ifndef GL_EXT_map_buffer_range 1464#define GL_EXT_map_buffer_range 1 1465#ifdef GL_GLEXT_PROTOTYPES 1466GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1467GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); 1468#endif 1469typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); 1470typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); 1471#endif 1472 1473/* GL_EXT_multisampled_render_to_texture */ 1474#ifndef GL_EXT_multisampled_render_to_texture 1475#define GL_EXT_multisampled_render_to_texture 1 1476#ifdef GL_GLEXT_PROTOTYPES 1477GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1478GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1479#endif 1480typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1481typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1482#endif 1483 1484/* GL_EXT_multiview_draw_buffers */ 1485#ifndef GL_EXT_multiview_draw_buffers 1486#define GL_EXT_multiview_draw_buffers 1 1487#ifdef GL_GLEXT_PROTOTYPES 1488GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); 1489GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); 1490GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); 1491#endif 1492typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); 1493typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); 1494typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); 1495#endif 1496 1497#ifndef GL_EXT_multi_draw_arrays 1498#define GL_EXT_multi_draw_arrays 1 1499#ifdef GL_GLEXT_PROTOTYPES 1500GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei); 1501GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); 1502#endif /* GL_GLEXT_PROTOTYPES */ 1503typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 1504typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); 1505#endif 1506 1507/* GL_EXT_occlusion_query_boolean */ 1508#ifndef GL_EXT_occlusion_query_boolean 1509#define GL_EXT_occlusion_query_boolean 1 1510#ifdef GL_GLEXT_PROTOTYPES 1511GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); 1512GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); 1513GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); 1514GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); 1515GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); 1516GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); 1517GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); 1518#endif 1519typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); 1520typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); 1521typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); 1522typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); 1523typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); 1524typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 1525typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); 1526#endif 1527 1528/* GL_EXT_read_format_bgra */ 1529#ifndef GL_EXT_read_format_bgra 1530#define GL_EXT_read_format_bgra 1 1531#endif 1532 1533/* GL_EXT_robustness */ 1534#ifndef GL_EXT_robustness 1535#define GL_EXT_robustness 1 1536#ifdef GL_GLEXT_PROTOTYPES 1537GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); 1538GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1539GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); 1540GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1541#endif 1542typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); 1543typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); 1544typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); 1545typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); 1546#endif 1547 1548/* GL_EXT_separate_shader_objects */ 1549#ifndef GL_EXT_separate_shader_objects 1550#define GL_EXT_separate_shader_objects 1 1551#ifdef GL_GLEXT_PROTOTYPES 1552GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); 1553GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1554GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1555GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1556GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1557GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1558GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); 1559GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); 1560GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); 1561GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); 1562GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); 1563GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); 1564GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1565GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); 1566GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); 1567GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1568GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1569GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1570GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1571GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1572GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); 1573GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1574GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1575GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1576GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1577GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1578GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1579GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1580GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); 1581GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1582#endif 1583typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); 1584typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1585typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1586typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1587typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1588typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1589typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1590typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 1591typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); 1592typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); 1593typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); 1594typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); 1595typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); 1596typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); 1597typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); 1598typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); 1599typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1600typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1601typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1602typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1603typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); 1604typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1605typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1606typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1607typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); 1608typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1609typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1610typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 1611typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1612typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); 1613#endif 1614 1615/* GL_EXT_shader_framebuffer_fetch */ 1616#ifndef GL_EXT_shader_framebuffer_fetch 1617#define GL_EXT_shader_framebuffer_fetch 1 1618#endif 1619 1620/* GL_EXT_shader_texture_lod */ 1621#ifndef GL_EXT_shader_texture_lod 1622#define GL_EXT_shader_texture_lod 1 1623#endif 1624 1625/* GL_EXT_shadow_samplers */ 1626#ifndef GL_EXT_shadow_samplers 1627#define GL_EXT_shadow_samplers 1 1628#endif 1629 1630/* GL_EXT_sRGB */ 1631#ifndef GL_EXT_sRGB 1632#define GL_EXT_sRGB 1 1633#endif 1634 1635/* GL_EXT_texture_compression_dxt1 */ 1636#ifndef GL_EXT_texture_compression_dxt1 1637#define GL_EXT_texture_compression_dxt1 1 1638#endif 1639 1640/* GL_EXT_texture_filter_anisotropic */ 1641#ifndef GL_EXT_texture_filter_anisotropic 1642#define GL_EXT_texture_filter_anisotropic 1 1643#endif 1644 1645/* GL_EXT_texture_format_BGRA8888 */ 1646#ifndef GL_EXT_texture_format_BGRA8888 1647#define GL_EXT_texture_format_BGRA8888 1 1648#endif 1649 1650/* GL_EXT_texture_rg */ 1651#ifndef GL_EXT_texture_rg 1652#define GL_EXT_texture_rg 1 1653#endif 1654 1655/* GL_EXT_texture_storage */ 1656#ifndef GL_EXT_texture_storage 1657#define GL_EXT_texture_storage 1 1658#ifdef GL_GLEXT_PROTOTYPES 1659GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1660GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1661GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1662GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1663GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1664GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1665#endif 1666typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1667typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1668typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1669typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); 1670typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); 1671typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); 1672#endif 1673 1674/* GL_EXT_texture_type_2_10_10_10_REV */ 1675#ifndef GL_EXT_texture_type_2_10_10_10_REV 1676#define GL_EXT_texture_type_2_10_10_10_REV 1 1677#endif 1678 1679/* GL_EXT_unpack_subimage */ 1680#ifndef GL_EXT_unpack_subimage 1681#define GL_EXT_unpack_subimage 1 1682#endif 1683 1684/*------------------------------------------------------------------------* 1685 * DMP extension functions 1686 *------------------------------------------------------------------------*/ 1687 1688/* GL_DMP_shader_binary */ 1689#ifndef GL_DMP_shader_binary 1690#define GL_DMP_shader_binary 1 1691#endif 1692 1693/*------------------------------------------------------------------------* 1694 * FJ extension functions 1695 *------------------------------------------------------------------------*/ 1696 1697/* GL_FJ_shader_binary_GCCSO */ 1698#ifndef GL_FJ_shader_binary_GCCSO 1699#define GL_FJ_shader_binary_GCCSO 1 1700#endif 1701 1702/*------------------------------------------------------------------------* 1703 * IMG extension functions 1704 *------------------------------------------------------------------------*/ 1705 1706/* GL_IMG_program_binary */ 1707#ifndef GL_IMG_program_binary 1708#define GL_IMG_program_binary 1 1709#endif 1710 1711/* GL_IMG_read_format */ 1712#ifndef GL_IMG_read_format 1713#define GL_IMG_read_format 1 1714#endif 1715 1716/* GL_IMG_shader_binary */ 1717#ifndef GL_IMG_shader_binary 1718#define GL_IMG_shader_binary 1 1719#endif 1720 1721/* GL_IMG_texture_compression_pvrtc */ 1722#ifndef GL_IMG_texture_compression_pvrtc 1723#define GL_IMG_texture_compression_pvrtc 1 1724#endif 1725 1726/* GL_IMG_texture_compression_pvrtc2 */ 1727#ifndef GL_IMG_texture_compression_pvrtc2 1728#define GL_IMG_texture_compression_pvrtc2 1 1729#endif 1730 1731/* GL_IMG_multisampled_render_to_texture */ 1732#ifndef GL_IMG_multisampled_render_to_texture 1733#define GL_IMG_multisampled_render_to_texture 1 1734#ifdef GL_GLEXT_PROTOTYPES 1735GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); 1736GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); 1737#endif 1738typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1739typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); 1740#endif 1741 1742/*------------------------------------------------------------------------* 1743 * NV extension functions 1744 *------------------------------------------------------------------------*/ 1745 1746/* GL_NV_coverage_sample */ 1747#ifndef GL_NV_coverage_sample 1748#define GL_NV_coverage_sample 1 1749#ifdef GL_GLEXT_PROTOTYPES 1750GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); 1751GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); 1752#endif 1753typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); 1754typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); 1755#endif 1756 1757/* GL_NV_depth_nonlinear */ 1758#ifndef GL_NV_depth_nonlinear 1759#define GL_NV_depth_nonlinear 1 1760#endif 1761 1762/* GL_NV_draw_buffers */ 1763#ifndef GL_NV_draw_buffers 1764#define GL_NV_draw_buffers 1 1765#ifdef GL_GLEXT_PROTOTYPES 1766GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); 1767#endif 1768typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); 1769#endif 1770 1771/* GL_EXT_draw_buffers */ 1772#ifndef GL_EXT_draw_buffers 1773#define GL_EXT_draw_buffers 1 1774#ifdef GL_GLEXT_PROTOTYPES 1775GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs); 1776#endif 1777typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); 1778#endif 1779 1780/* GL_NV_draw_instanced */ 1781#ifndef GL_NV_draw_instanced 1782#define GL_NV_draw_instanced 1 1783#ifdef GL_GLEXT_PROTOTYPES 1784GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1785GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 1786#endif 1787typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); 1788typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 1789#endif 1790 1791/* GL_NV_fbo_color_attachments */ 1792#ifndef GL_NV_fbo_color_attachments 1793#define GL_NV_fbo_color_attachments 1 1794#endif 1795 1796/* GL_NV_fence */ 1797#ifndef GL_NV_fence 1798#define GL_NV_fence 1 1799#ifdef GL_GLEXT_PROTOTYPES 1800GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); 1801GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); 1802GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); 1803GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); 1804GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); 1805GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); 1806GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); 1807#endif 1808typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); 1809typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); 1810typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); 1811typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); 1812typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); 1813typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); 1814typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); 1815#endif 1816 1817/* GL_NV_framebuffer_blit */ 1818#ifndef GL_NV_framebuffer_blit 1819#define GL_NV_framebuffer_blit 1 1820#ifdef GL_GLEXT_PROTOTYPES 1821GL_APICALL void GL_APIENTRY glBlitFramebufferNV (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1822#endif 1823typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1824#endif 1825 1826/* GL_NV_framebuffer_multisample */ 1827#ifndef GL_NV_framebuffer_multisample 1828#define GL_NV_framebuffer_multisample 1 1829#ifdef GL_GLEXT_PROTOTYPES 1830GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1831#endif 1832typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 1833#endif 1834 1835/* GL_NV_generate_mipmap_sRGB */ 1836#ifndef GL_NV_generate_mipmap_sRGB 1837#define GL_NV_generate_mipmap_sRGB 1 1838#endif 1839 1840/* GL_NV_instanced_arrays */ 1841#ifndef GL_NV_instanced_arrays 1842#define GL_NV_instanced_arrays 1 1843#ifdef GL_GLEXT_PROTOTYPES 1844GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor); 1845#endif 1846typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); 1847#endif 1848 1849/* GL_NV_read_buffer */ 1850#ifndef GL_NV_read_buffer 1851#define GL_NV_read_buffer 1 1852#ifdef GL_GLEXT_PROTOTYPES 1853GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); 1854#endif 1855typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); 1856#endif 1857 1858/* GL_NV_read_buffer_front */ 1859#ifndef GL_NV_read_buffer_front 1860#define GL_NV_read_buffer_front 1 1861#endif 1862 1863/* GL_NV_read_depth */ 1864#ifndef GL_NV_read_depth 1865#define GL_NV_read_depth 1 1866#endif 1867 1868/* GL_NV_read_depth_stencil */ 1869#ifndef GL_NV_read_depth_stencil 1870#define GL_NV_read_depth_stencil 1 1871#endif 1872 1873/* GL_NV_read_stencil */ 1874#ifndef GL_NV_read_stencil 1875#define GL_NV_read_stencil 1 1876#endif 1877 1878/* GL_NV_shadow_samplers_array */ 1879#ifndef GL_NV_shadow_samplers_array 1880#define GL_NV_shadow_samplers_array 1 1881#endif 1882 1883/* GL_NV_shadow_samplers_cube */ 1884#ifndef GL_NV_shadow_samplers_cube 1885#define GL_NV_shadow_samplers_cube 1 1886#endif 1887 1888/* GL_NV_sRGB_formats */ 1889#ifndef GL_NV_sRGB_formats 1890#define GL_NV_sRGB_formats 1 1891#endif 1892 1893/* GL_NV_texture_border_clamp */ 1894#ifndef GL_NV_texture_border_clamp 1895#define GL_NV_texture_border_clamp 1 1896#endif 1897 1898/* GL_NV_texture_compression_s3tc_update */ 1899#ifndef GL_NV_texture_compression_s3tc_update 1900#define GL_NV_texture_compression_s3tc_update 1 1901#endif 1902 1903/* GL_NV_texture_npot_2D_mipmap */ 1904#ifndef GL_NV_texture_npot_2D_mipmap 1905#define GL_NV_texture_npot_2D_mipmap 1 1906#endif 1907 1908/*------------------------------------------------------------------------* 1909 * QCOM extension functions 1910 *------------------------------------------------------------------------*/ 1911 1912/* GL_QCOM_alpha_test */ 1913#ifndef GL_QCOM_alpha_test 1914#define GL_QCOM_alpha_test 1 1915#ifdef GL_GLEXT_PROTOTYPES 1916GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); 1917#endif 1918typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); 1919#endif 1920 1921/* GL_QCOM_binning_control */ 1922#ifndef GL_QCOM_binning_control 1923#define GL_QCOM_binning_control 1 1924#endif 1925 1926/* GL_QCOM_driver_control */ 1927#ifndef GL_QCOM_driver_control 1928#define GL_QCOM_driver_control 1 1929#ifdef GL_GLEXT_PROTOTYPES 1930GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); 1931GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1932GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); 1933GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); 1934#endif 1935typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); 1936typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); 1937typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1938typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); 1939#endif 1940 1941/* GL_QCOM_extended_get */ 1942#ifndef GL_QCOM_extended_get 1943#define GL_QCOM_extended_get 1 1944#ifdef GL_GLEXT_PROTOTYPES 1945GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); 1946GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1947GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1948GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1949GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1950GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); 1951GL_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); 1952GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); 1953#endif 1954typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); 1955typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); 1956typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); 1957typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); 1958typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); 1959typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); 1960typedef 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); 1961typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); 1962#endif 1963 1964/* GL_QCOM_extended_get2 */ 1965#ifndef GL_QCOM_extended_get2 1966#define GL_QCOM_extended_get2 1 1967#ifdef GL_GLEXT_PROTOTYPES 1968GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1969GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1970GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); 1971GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1972#endif 1973typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); 1974typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); 1975typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); 1976typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); 1977#endif 1978 1979/* GL_QCOM_perfmon_global_mode */ 1980#ifndef GL_QCOM_perfmon_global_mode 1981#define GL_QCOM_perfmon_global_mode 1 1982#endif 1983 1984/* GL_QCOM_writeonly_rendering */ 1985#ifndef GL_QCOM_writeonly_rendering 1986#define GL_QCOM_writeonly_rendering 1 1987#endif 1988 1989/* GL_QCOM_tiled_rendering */ 1990#ifndef GL_QCOM_tiled_rendering 1991#define GL_QCOM_tiled_rendering 1 1992#ifdef GL_GLEXT_PROTOTYPES 1993GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1994GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); 1995#endif 1996typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); 1997typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); 1998#endif 1999 2000/*------------------------------------------------------------------------* 2001 * VIV extension tokens 2002 *------------------------------------------------------------------------*/ 2003 2004/* GL_VIV_shader_binary */ 2005#ifndef GL_VIV_shader_binary 2006#define GL_VIV_shader_binary 1 2007#endif 2008 2009#ifdef __cplusplus 2010} 2011#endif 2012 2013#endif /* __gl2ext_h_ */ 2014