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