28 # define GL_RGBA16 0x805B 31 #ifndef GL_RGBA16_SNORM 32 # define GL_RGBA16_SNORM 0x8F9B 36 # define GL_RG16 0x822C 40 # define GL_RG16_SNORM 0x8F99 44 # define GL_R16 0x822A 48 # define GL_R16_SNORM 0x8F98 51 #ifndef GL_COMPRESSED_RGB_S3TC_DXT1_EXT 52 # define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 55 #ifndef GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 56 # define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C 59 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 60 # define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 63 #ifndef GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 64 # define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E 67 #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 68 # define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 71 #ifndef GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 72 # define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F 75 #ifndef GL_COMPRESSED_RED_RGTC1 76 # define GL_COMPRESSED_RED_RGTC1 0x8DBB 79 #ifndef GL_COMPRESSED_SIGNED_RED_RGTC1 80 # define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC 83 #ifndef GL_COMPRESSED_RG_RGTC2 84 # define GL_COMPRESSED_RG_RGTC2 0x8DBD 87 #ifndef GL_COMPRESSED_SIGNED_RG_RGTC2 88 # define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE 91 #ifndef GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 92 # define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F 95 #ifndef GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 96 # define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E 99 #ifndef GL_COMPRESSED_RGBA_BPTC_UNORM 100 # define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C 103 #ifndef GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 104 # define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D 107 #ifndef GL_UNSIGNED_SHORT_5_6_5_REV 108 # define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 111 #ifndef GL_UNSIGNED_INT_10_10_10_2 112 # define GL_UNSIGNED_INT_10_10_10_2 0x8036 115 #ifndef GL_UNSIGNED_SHORT_5_6_5_REV 116 # define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 119 #ifndef GL_UNSIGNED_SHORT_1_5_5_5_REV 120 # define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 124 #ifndef GL_GEOMETRY_SHADER 125 # define GL_GEOMETRY_SHADER 0x8DD9 128 #ifndef GL_TESS_CONTROL_SHADER 129 # define GL_TESS_CONTROL_SHADER 0x8E88 132 #ifndef GL_TESS_EVALUATION_SHADER 133 # define GL_TESS_EVALUATION_SHADER 0x8E87 137 #ifndef GL_CLAMP_TO_BORDER 138 # define GL_CLAMP_TO_BORDER 0 141 #ifndef GL_MIRROR_CLAMP_TO_EDGE 142 # define GL_MIRROR_CLAMP_TO_EDGE 0 146 #ifndef GL_DRAW_INDIRECT_BUFFER 147 # define GL_DRAW_INDIRECT_BUFFER 0x8F3F 150 #ifndef GL_DISPATCH_INDIRECT_BUFFER 151 # define GL_DISPATCH_INDIRECT_BUFFER 0x90EE 154 #ifndef GL_TEXTURE_1D_ARRAY 155 # define GL_TEXTURE_1D_ARRAY 0x8C18 158 #ifndef GL_TEXTURE_BINDING_1D_ARRAY 159 # define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C 162 #ifndef GL_TEXTURE_1D 163 # define GL_TEXTURE_1D 0x0DE0 166 #ifndef GL_TEXTURE_BINDING_1D 167 # define GL_TEXTURE_BINDING_1D 0x8068 170 #ifndef GL_TEXTURE_2D_MULTISAMPLE 171 # define GL_TEXTURE_2D_MULTISAMPLE 0x9100 174 #ifndef GL_TEXTURE_BINDING_2D_MULTISAMPLE 175 # define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 178 #ifndef GL_TEXTURE_2D_MULTISAMPLE_ARRAY 179 # define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 182 #ifndef GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 183 # define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 186 #ifndef GL_TEXTURE_CUBE_MAP_ARRAY 187 # define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 190 #ifndef GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 191 # define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A 194 #ifndef GL_TEXTURE_BUFFER 195 # define GL_TEXTURE_BUFFER 0x8C2A 199 #ifndef GL_VERTEX_SHADER_BIT 200 # define GL_VERTEX_SHADER_BIT 0x00000001 203 #ifndef GL_FRAGMENT_SHADER_BIT 204 # define GL_FRAGMENT_SHADER_BIT 0x00000002 207 #ifndef GL_GEOMETRY_SHADER_BIT 208 # define GL_GEOMETRY_SHADER_BIT 0x00000004 211 #ifndef GL_TESS_CONTROL_SHADER_BIT 212 # define GL_TESS_CONTROL_SHADER_BIT 0x00000008 215 #ifndef GL_TESS_EVALUATION_SHADER_BIT 216 # define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 219 #ifndef GL_COMPUTE_SHADER_BIT 220 # define GL_COMPUTE_SHADER_BIT 0x00000020 224 #ifndef GL_TEXTURE_LOD_BIAS 225 # define GL_TEXTURE_LOD_BIAS 0 228 #ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT 229 # define GL_TEXTURE_MAX_ANISOTROPY_EXT 0 232 #ifndef GL_TEXTURE_BORDER_COLOR 233 # define GL_TEXTURE_BORDER_COLOR 0 237 #ifndef GL_PROGRAM_SEPARABLE 238 # define GL_PROGRAM_SEPARABLE 0x8258 242 #ifndef GL_SAMPLER_1D 243 #define GL_SAMPLER_1D 0x8B5D 246 #ifndef GL_SAMPLER_1D_SHADOW 247 #define GL_SAMPLER_1D_SHADOW 0x8B61 250 #ifndef GL_SAMPLER_1D_ARRAY 251 #define GL_SAMPLER_1D_ARRAY 0x8DC0 254 #ifndef GL_SAMPLER_1D_ARRAY_SHADOW 255 #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 258 #ifndef GL_INT_SAMPLER_1D 259 #define GL_INT_SAMPLER_1D 0x8DC9 262 #ifndef GL_INT_SAMPLER_1D_ARRAY 263 #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE 266 #ifndef GL_UNSIGNED_INT_SAMPLER_1D 267 #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 270 #ifndef GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 271 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 274 #ifndef GL_SAMPLER_CUBE_MAP_ARRAY 275 #define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C 278 #ifndef GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 279 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D 282 #ifndef GL_INT_SAMPLER_CUBE_MAP_ARRAY 283 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E 286 #ifndef GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 287 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F 290 #ifndef GL_SAMPLER_BUFFER 291 #define GL_SAMPLER_BUFFER 0x8DC2 294 #ifndef GL_INT_SAMPLER_BUFFER 295 #define GL_INT_SAMPLER_BUFFER 0x8DD0 298 #ifndef GL_UNSIGNED_INT_SAMPLER_BUFFER 299 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 302 #ifndef GL_SAMPLER_2D_MULTISAMPLE 303 #define GL_SAMPLER_2D_MULTISAMPLE 0x9108 306 #ifndef GL_INT_SAMPLER_2D_MULTISAMPLE 307 #define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 310 #ifndef GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 311 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A 314 #ifndef GL_SAMPLER_2D_MULTISAMPLE_ARRAY 315 #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B 318 #ifndef GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 319 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C 322 #ifndef GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 323 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D 328 #define GL_IMAGE_1D 0x904C 332 #define GL_IMAGE_2D 0x904D 336 #define GL_IMAGE_3D 0x904E 339 #ifndef GL_IMAGE_2D_RECT 340 #define GL_IMAGE_2D_RECT 0x904F 343 #ifndef GL_IMAGE_CUBE 344 #define GL_IMAGE_CUBE 0x9050 347 #ifndef GL_IMAGE_BUFFER 348 #define GL_IMAGE_BUFFER 0x9051 351 #ifndef GL_IMAGE_1D_ARRAY 352 #define GL_IMAGE_1D_ARRAY 0x9052 355 #ifndef GL_IMAGE_2D_ARRAY 356 #define GL_IMAGE_2D_ARRAY 0x9053 359 #ifndef GL_IMAGE_CUBE_MAP_ARRAY 360 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 363 #ifndef GL_IMAGE_2D_MULTISAMPLE 364 #define GL_IMAGE_2D_MULTISAMPLE 0x9055 367 #ifndef GL_IMAGE_2D_MULTISAMPLE_ARRAY 368 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 371 #ifndef GL_INT_IMAGE_1D 372 #define GL_INT_IMAGE_1D 0x9057 375 #ifndef GL_INT_IMAGE_2D 376 #define GL_INT_IMAGE_2D 0x9058 379 #ifndef GL_INT_IMAGE_3D 380 #define GL_INT_IMAGE_3D 0x9059 383 #ifndef GL_INT_IMAGE_2D_RECT 384 #define GL_INT_IMAGE_2D_RECT 0x905A 387 #ifndef GL_INT_IMAGE_CUBE 388 #define GL_INT_IMAGE_CUBE 0x905B 391 #ifndef GL_INT_IMAGE_BUFFER 392 #define GL_INT_IMAGE_BUFFER 0x905C 395 #ifndef GL_INT_IMAGE_1D_ARRAY 396 #define GL_INT_IMAGE_1D_ARRAY 0x905D 399 #ifndef GL_INT_IMAGE_2D_ARRAY 400 #define GL_INT_IMAGE_2D_ARRAY 0x905E 403 #ifndef GL_INT_IMAGE_CUBE_MAP_ARRAY 404 #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F 407 #ifndef GL_INT_IMAGE_2D_MULTISAMPLE 408 #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 411 #ifndef GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 412 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 415 #ifndef GL_UNSIGNED_INT_IMAGE_1D 416 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062 419 #ifndef GL_UNSIGNED_INT_IMAGE_2D 420 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063 423 #ifndef GL_UNSIGNED_INT_IMAGE_3D 424 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064 427 #ifndef GL_UNSIGNED_INT_IMAGE_2D_RECT 428 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 431 #ifndef GL_UNSIGNED_INT_IMAGE_CUBE 432 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 435 #ifndef GL_UNSIGNED_INT_IMAGE_BUFFER 436 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 439 #ifndef GL_UNSIGNED_INT_IMAGE_1D_ARRAY 440 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 443 #ifndef GL_UNSIGNED_INT_IMAGE_2D_ARRAY 444 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 447 #ifndef GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 448 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A 451 #ifndef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 452 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B 455 #ifndef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 456 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C 462 # define GL_READ_ONLY 0x88B8 465 #ifndef GL_WRITE_ONLY 466 # define GL_WRITE_ONLY 0x88B9 469 #ifndef GL_READ_WRITE 470 # define GL_READ_WRITE 0x88BA 473 #ifndef GL_COMPUTE_SHADER 474 # define GL_COMPUTE_SHADER 0x91B9 477 #ifndef GL_ES_VERSION_3_1 478 #define LOAD_GL_BIND_IMAGE_TEXTURE 479 typedef void (GL_APIENTRY* PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
480 extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
482 #define LOAD_GL_DISPATCH_COMPUTE 483 typedef void (GL_APIENTRY* PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
484 extern PFNGLDISPATCHCOMPUTEPROC glDispatchCompute;
486 #define LOAD_GL_MEMORY_BARRIER 487 typedef void (GL_APIENTRY* PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
488 extern PFNGLMEMORYBARRIERPROC glMemoryBarrier;
489 #endif // GL_ES_VERSION_3_1 491 #ifndef GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 492 # define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 494 #ifndef GL_ELEMENT_ARRAY_BARRIER_BIT 495 # define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 497 #ifndef GL_UNIFORM_BARRIER_BIT 498 # define GL_UNIFORM_BARRIER_BIT 0x00000004 500 #ifndef GL_TEXTURE_FETCH_BARRIER_BIT 501 # define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 503 #ifndef GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 504 # define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 506 #ifndef GL_COMMAND_BARRIER_BIT 507 # define GL_COMMAND_BARRIER_BIT 0x00000040 509 #ifndef GL_PIXEL_BUFFER_BARRIER_BIT 510 # define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 512 #ifndef GL_TEXTURE_UPDATE_BARRIER_BIT 513 # define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 515 #ifndef GL_BUFFER_UPDATE_BARRIER_BIT 516 # define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 518 #ifndef GL_FRAMEBUFFER_BARRIER_BIT 519 # define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 521 #ifndef GL_TRANSFORM_FEEDBACK_BARRIER_BIT 522 # define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 524 #ifndef GL_ATOMIC_COUNTER_BARRIER_BIT 525 # define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 527 #ifndef GL_SHADER_STORAGE_BARRIER_BIT 528 # define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 530 #ifndef GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 531 # define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 533 #ifndef GL_QUERY_BUFFER_BARRIER_BIT 534 # define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 536 #ifndef GL_ALL_BARRIER_BITS 537 # define GL_ALL_BARRIER_BITS 0xFFFFFFFF 542 #ifndef GL_TEXTURE_WIDTH 543 # define GL_TEXTURE_WIDTH 0x1000 546 #ifndef GL_TEXTURE_HEIGHT 547 # define GL_TEXTURE_HEIGHT 0x1001 550 #ifndef GL_TEXTURE_DEPTH 551 # define GL_TEXTURE_DEPTH 0x8071 554 #ifndef GL_TEXTURE_INTERNAL_FORMAT 555 # define GL_TEXTURE_INTERNAL_FORMAT 0x1003 561 # define GL_UNIFORM 0x92E1 564 #ifndef GL_UNIFORM_BLOCK 565 # define GL_UNIFORM_BLOCK 0x92E2 568 #ifndef GL_PROGRAM_INPUT 569 # define GL_PROGRAM_INPUT 0x92E3 572 #ifndef GL_PROGRAM_OUTPUT 573 # define GL_PROGRAM_OUTPUT 0x92E4 576 #ifndef GL_BUFFER_VARIABLE 577 # define GL_BUFFER_VARIABLE 0x92E5 580 #ifndef GL_SHADER_STORAGE_BLOCK 581 # define GL_SHADER_STORAGE_BLOCK 0x92E6 584 #ifndef GL_IS_PER_PATCH 585 # define GL_IS_PER_PATCH 0x92E7 588 #ifndef GL_VERTEX_SUBROUTINE 589 # define GL_VERTEX_SUBROUTINE 0x92E8 592 #ifndef GL_TESS_CONTROL_SUBROUTINE 593 # define GL_TESS_CONTROL_SUBROUTINE 0x92E9 596 #ifndef GL_TESS_EVALUATION_SUBROUTINE 597 # define GL_TESS_EVALUATION_SUBROUTINE 0x92EA 600 #ifndef GL_GEOMETRY_SUBROUTINE 601 # define GL_GEOMETRY_SUBROUTINE 0x92EB 604 #ifndef GL_FRAGMENT_SUBROUTINE 605 # define GL_FRAGMENT_SUBROUTINE 0x92EC 608 #ifndef GL_COMPUTE_SUBROUTINE 609 # define GL_COMPUTE_SUBROUTINE 0x92ED 612 #ifndef GL_VERTEX_SUBROUTINE_UNIFORM 613 # define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE 616 #ifndef GL_TESS_CONTROL_SUBROUTINE_UNIFORM 617 # define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF 620 #ifndef GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 621 # define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 624 #ifndef GL_GEOMETRY_SUBROUTINE_UNIFORM 625 # define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 628 #ifndef GL_FRAGMENT_SUBROUTINE_UNIFORM 629 # define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 632 #ifndef GL_COMPUTE_SUBROUTINE_UNIFORM 633 # define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 636 #ifndef GL_TRANSFORM_FEEDBACK_VARYING 637 # define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 640 #ifndef GL_ACTIVE_RESOURCES 641 # define GL_ACTIVE_RESOURCES 0x92F5 644 #ifndef GL_MAX_NAME_LENGTH 645 # define GL_MAX_NAME_LENGTH 0x92F6 648 #ifndef GL_MAX_NUM_ACTIVE_VARIABLES 649 # define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 652 #ifndef GL_MAX_NUM_COMPATIBLE_SUBROUTINES 653 # define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 656 #ifndef GL_NAME_LENGTH 657 # define GL_NAME_LENGTH 0x92F9 661 # define GL_TYPE 0x92FA 664 #ifndef GL_ARRAY_SIZE 665 # define GL_ARRAY_SIZE 0x92FB 669 # define GL_OFFSET 0x92FC 672 #ifndef GL_BLOCK_INDEX 673 # define GL_BLOCK_INDEX 0x92FD 676 #ifndef GL_ARRAY_STRIDE 677 # define GL_ARRAY_STRIDE 0x92FE 680 #ifndef GL_MATRIX_STRIDE 681 # define GL_MATRIX_STRIDE 0x92FF 684 #ifndef GL_IS_ROW_MAJOR 685 # define GL_IS_ROW_MAJOR 0x9300 688 #ifndef GL_ATOMIC_COUNTER_BUFFER_INDEX 689 # define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 692 #ifndef GL_BUFFER_BINDING 693 # define GL_BUFFER_BINDING 0x9302 696 #ifndef GL_BUFFER_DATA_SIZE 697 # define GL_BUFFER_DATA_SIZE 0x9303 700 #ifndef GL_NUM_ACTIVE_VARIABLES 701 # define GL_NUM_ACTIVE_VARIABLES 0x9304 704 #ifndef GL_ACTIVE_VARIABLES 705 # define GL_ACTIVE_VARIABLES 0x9305 708 #ifndef GL_REFERENCED_BY_VERTEX_SHADER 709 # define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 712 #ifndef GL_REFERENCED_BY_TESS_CONTROL_SHADER 713 # define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 716 #ifndef GL_REFERENCED_BY_TESS_EVALUATION_SHADER 717 # define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 720 #ifndef GL_REFERENCED_BY_GEOMETRY_SHADER 721 # define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 724 #ifndef GL_REFERENCED_BY_FRAGMENT_SHADER 725 # define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A 728 #ifndef GL_REFERENCED_BY_COMPUTE_SHADER 729 # define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B 732 #ifndef GL_TOP_LEVEL_ARRAY_SIZE 733 # define GL_TOP_LEVEL_ARRAY_SIZE 0x930C 736 #ifndef GL_TOP_LEVEL_ARRAY_STRIDE 737 # define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D 741 # define GL_LOCATION 0x930E 744 #ifndef GL_LOCATION_INDEX 745 # define GL_LOCATION_INDEX 0x930F 752 #ifndef GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 753 # define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 756 #ifndef GL_SHADER_STORAGE_BUFFER 757 # define GL_SHADER_STORAGE_BUFFER 0x90D2 760 #ifndef GL_SHADER_STORAGE_BUFFER_BINDING 761 # define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 764 #ifndef GL_SHADER_STORAGE_BUFFER_START 765 # define GL_SHADER_STORAGE_BUFFER_START 0x90D4 768 #ifndef GL_SHADER_STORAGE_BUFFER_SIZE 769 # define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 772 #ifndef GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 773 # define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 776 #ifndef GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 777 # define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 780 #ifndef GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 781 # define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 784 #ifndef GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 785 # define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 788 #ifndef GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 789 # define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA 792 #ifndef GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 793 # define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB 796 #ifndef GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 797 # define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC 800 #ifndef GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 801 # define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD 804 #ifndef GL_MAX_SHADER_STORAGE_BLOCK_SIZE 805 # define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE 808 #ifndef GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 809 # define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF 815 # define GL_POINT 0x1B00 819 # define GL_LINE 0x1B01 823 # define GL_FILL 0x1B02 827 #ifndef GL_DEPTH_CLAMP 828 # define GL_DEPTH_CLAMP 0 832 #ifndef GL_SRC1_COLOR 833 # define GL_SRC1_COLOR 0x88F9 836 #ifndef GL_ONE_MINUS_SRC1_COLOR 837 # define GL_ONE_MINUS_SRC1_COLOR 0x88FA 840 #ifndef GL_SOURCE1_ALPHA 841 # define GL_SOURCE1_ALPHA 0x8589 844 #ifndef GL_SRC1_ALPHA 845 # define GL_SRC1_ALPHA GL_SOURCE1_ALPHA 848 #ifndef GL_ONE_MINUS_SRC1_ALPHA 849 # define GL_ONE_MINUS_SRC1_ALPHA 0x88FB 854 #ifndef GL_INTERNALFORMAT_SUPPORTED 855 # define GL_INTERNALFORMAT_SUPPORTED 0x826F 859 #ifndef GL_FRAMEBUFFER_SRGB 860 # define GL_FRAMEBUFFER_SRGB 0x8DB9 864 #ifndef GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 865 # define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 868 #ifndef GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 869 # define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB 872 #ifndef GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 873 # define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC 878 # define GL_PATCHES 0xE 881 #ifndef GL_PATCH_VERTICES 882 # define GL_PATCH_VERTICES 0x8E72 888 void UnsupportedGLFunctionStub(
const T &Name )
890 LOG_ERROR_MESSAGE( Name,
"() is not supported in this API!\n" );
893 #define glDrawElementsInstancedBaseVertexBaseInstance(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseVertexBaseInstance") 894 #define glDrawElementsInstancedBaseVertex(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseVertex") 895 #define glDrawElementsInstancedBaseInstance(...) UnsupportedGLFunctionStub("glDrawElementsInstancedBaseInstance") 896 #define glDrawArraysInstancedBaseInstance(...) UnsupportedGLFunctionStub("glDrawArraysInstancedBaseInstance") 897 #define glDrawElementsBaseVertex(...) UnsupportedGLFunctionStub("glDrawElementsBaseVertex") 898 #define glTextureView(...) UnsupportedGLFunctionStub("glTextureView") 899 #define glTexStorage1D(...) UnsupportedGLFunctionStub("glTexStorage1D") 900 #define glTexSubImage1D(...) UnsupportedGLFunctionStub("glTexSubImage1D") 901 #define glTexStorage3DMultisample(...) UnsupportedGLFunctionStub("glTexStorage3DMultisample") 903 #ifndef GL_ES_VERSION_3_1 905 #define LOAD_GEN_PROGRAM_PIPELINES 906 typedef void (GL_APIENTRY* PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines);
907 extern PFNGLGENPROGRAMPIPELINESPROC glGenProgramPipelines;
909 #define LOAD_GL_DELETE_PROGRAM_PIPELINES 910 typedef void (GL_APIENTRY* PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n,
const GLuint* pipelines);
911 extern PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines;
913 #define LOAD_GL_BIND_PROGRAM_PIPELINE 914 typedef void (GL_APIENTRY* PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
915 extern PFNGLBINDPROGRAMPIPELINEPROC glBindProgramPipeline;
917 #define LOAD_DRAW_ELEMENTS_INDIRECT 918 typedef void (GL_APIENTRY* PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type,
const GLvoid *indirect);
919 extern PFNGLDRAWELEMENTSINDIRECTPROC glDrawElementsIndirect;
921 #define LOAD_DRAW_ARRAYS_INDIRECT 922 typedef void (GL_APIENTRY* PFNGLDRAWARRAYSINDIRECTPROC)( GLenum mode,
const GLvoid *indirect );
923 extern PFNGLDRAWARRAYSINDIRECTPROC glDrawArraysIndirect;
925 #define LOAD_DISPATCH_COMPUTE_INDIRECT 926 typedef void (GL_APIENTRY* PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);
927 extern PFNGLDISPATCHCOMPUTEINDIRECTPROC glDispatchComputeIndirect;
929 #define LOAD_GL_USE_PROGRAM_STAGES 930 typedef void (GL_APIENTRY* PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
931 extern PFNGLUSEPROGRAMSTAGESPROC glUseProgramStages;
933 #define LOAD_GL_TEX_STORAGE_2D_MULTISAMPLE 934 typedef void (GL_APIENTRY* PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
935 extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample;
937 #define LOAD_GL_PROGRAM_UNIFORM_1I 938 typedef void (GL_APIENTRY* PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint x);
939 extern PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
941 #define LOAD_GL_GET_PROGRAM_INTERFACEIV 942 typedef void (GL_APIENTRY* PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint* params);
943 extern PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
945 #define LOAD_GL_GET_PROGRAM_RESOURCE_NAME 946 typedef void (GL_APIENTRY* PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar *name);
947 extern PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
949 #define LOAD_GL_GET_PROGRAM_RESOURCEIV 950 typedef void (GL_APIENTRY* PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount,
const GLenum* props, GLsizei bufSize, GLsizei *length, GLint *params);
951 extern PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
953 #define LOAD_GET_TEX_LEVEL_PARAMETER_IV 954 typedef void (GL_APIENTRY* PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
955 extern PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
957 #endif //GL_ES_VERSION_3_1 959 #define LOAD_GL_TEX_BUFFER 960 typedef void (GL_APIENTRY* PFNGLTEXBUFFERPROC) (GLenum, GLenum, GLuint);
961 extern PFNGLTEXBUFFERPROC glTexBuffer;
963 #define LOAD_GL_VIEWPORT_INDEXEDF 964 typedef void (GL_APIENTRY* PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
965 extern PFNGLVIEWPORTINDEXEDFPROC glViewportIndexedf;
967 #define LOAD_GL_SCISSOR_INDEXED 968 typedef void (GL_APIENTRY* PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
969 extern PFNGLSCISSORINDEXEDPROC glScissorIndexed;
971 #define LOAD_GL_POLYGON_MODE 972 typedef void (GL_APIENTRY* PFNGLPOLYGONMODE) (GLenum face, GLenum mode);
973 extern PFNGLPOLYGONMODE glPolygonMode;
975 #define LOAD_GL_ENABLEI 976 typedef void (GL_APIENTRY* PFNGLENABLEIPROC) (GLenum, GLuint);
977 extern PFNGLENABLEIPROC glEnablei;
979 #define LOAD_GL_BLEND_FUNC_SEPARATEI 980 typedef void (GL_APIENTRY* PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
981 extern PFNGLBLENDFUNCSEPARATEIPROC glBlendFuncSeparatei;
983 #define LOAD_GL_BLEND_EQUATION_SEPARATEI 984 typedef void (GL_APIENTRY* PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
985 extern PFNGLBLENDEQUATIONSEPARATEIPROC glBlendEquationSeparatei;
987 #define LOAD_GL_DISABLEI 988 typedef void (GL_APIENTRY* PFNGLDISABLEIPROC) (GLenum, GLuint);
989 extern PFNGLDISABLEIPROC glDisablei;
991 #define LOAD_GL_COLOR_MASKI 992 typedef void (GL_APIENTRY* PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
993 extern PFNGLCOLORMASKIPROC glColorMaski;
995 #define LOAD_GL_PATCH_PARAMTER_I 996 typedef void (GL_APIENTRY* PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
997 extern PFNGLPATCHPARAMETERIPROC glPatchParameteri;
999 #define LOAD_GL_FRAMEBUFFER_TEXTURE 1000 typedef void (GL_APIENTRY* PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum, GLenum, GLuint, GLint);
1001 extern PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture;
1003 #define LOAD_GL_FRAMEBUFFER_TEXTURE_1D 1004 typedef void (GL_APIENTRY* PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1005 extern PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D;
1007 #define LOAD_GL_FRAMEBUFFER_TEXTURE_3D 1008 typedef void (GL_APIENTRY* PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);
1009 extern PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D;
1011 #define LOAD_GL_COPY_IMAGE_SUB_DATA 1012 typedef void (GL_APIENTRY* PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1013 extern PFNGLCOPYIMAGESUBDATAPROC glCopyImageSubData;
1015 void LoadGLFunctions();