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