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