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